This PR contains a series of commits that are for requesting boot.iso compose to rebuild a base image.
To achieve this goal, we are facing a challenge of where to store the boot.iso compose id for a specific base image, and how to query base image artifact build by a boot.iso compose id because rebuild starts only when all assocated composes finish.
Currently there are two types of composes for a rebuild, a normal compose including updated RPMs and pulp compose, and each of them has its own place to be stored. For former one, it's stored in Event.compose_id, and for the latter one, it's stored in ArtifactBuild.build_args['odcs_pulp_compose_id']. So, based on this implementation, we might need another build_args to store boot.iso comopse id, for example ArtifactBuild.build_args['boot_iso_compose_id']. But, it is not easy to query by boot_iso_comopse_id or perhaps impossible to do that.
To fix this problem, this PR refactors database schema and code that stores and uses compose id to get repository URLs for starting rebuild.
This PR also contains another two fixes that we (Jan and me) talked about, that is
code finding dependent events (aka. extra events) needs to be updated (or rewritten) as there is no need to find out images for each dependent event again. I proposed a solution to fix this in this PR.
there is a bug that original Event.compose_id is overwritten by new comopse id requested for the same Event as a dependent Event.
This PR contains a series of commits that are for requesting boot.iso compose to rebuild a base image.
To achieve this goal, we are facing a challenge of where to store the boot.iso compose id for a specific base image, and how to query base image artifact build by a boot.iso compose id because rebuild starts only when all assocated composes finish.
Currently there are two types of composes for a rebuild, a normal compose including updated RPMs and pulp compose, and each of them has its own place to be stored. For former one, it's stored in
Event.compose_id, and for the latter one, it's stored inArtifactBuild.build_args['odcs_pulp_compose_id']. So, based on this implementation, we might need anotherbuild_argsto store boot.iso comopse id, for exampleArtifactBuild.build_args['boot_iso_compose_id']. But, it is not easy to query byboot_iso_comopse_idor perhaps impossible to do that.To fix this problem, this PR refactors database schema and code that stores and uses compose id to get repository URLs for starting rebuild.
This PR also contains another two fixes that we (Jan and me) talked about, that is
code finding dependent events (aka. extra events) needs to be updated (or rewritten) as there is no need to find out images for each dependent event again. I proposed a solution to fix this in this PR.
there is a bug that original
Event.compose_idis overwritten by new comopse id requested for the same Event as a dependent Event.