Allow gather phase reuse on product_id
change.
I've analysed multiple nigthly composes and often the only difference in the configuration between two nightly composes is different `product_id` commit hash. The `product_id` is used in later `createrepo` phase and does not influence the gather phase at all. I therefore think it can be whitelisted in gather phase reuse code. Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
This commit is contained in:
parent
c5e59fa732
commit
fdfaae8b71
@ -251,6 +251,13 @@ def reuse_old_gather_packages(compose, arch, variant, package_sets):
|
|||||||
)
|
)
|
||||||
return
|
return
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
# Skip checking for frequently changing configuration options which do *not*
|
||||||
|
# influence Gather phase.
|
||||||
|
config_whitelist = ["product_id"]
|
||||||
|
if opt in config_whitelist:
|
||||||
|
continue
|
||||||
|
|
||||||
if opt not in config or config[opt] != value:
|
if opt not in config or config[opt] != value:
|
||||||
compose.log_info(
|
compose.log_info(
|
||||||
log_msg % ("compose configuration option %s changed." % opt)
|
log_msg % ("compose configuration option %s changed." % opt)
|
||||||
|
@ -1173,6 +1173,28 @@ class TestReuseOldGatherPackages(helpers.PungiTestCase):
|
|||||||
)
|
)
|
||||||
self.assertEqual(result, None)
|
self.assertEqual(result, None)
|
||||||
|
|
||||||
|
@mock.patch("pungi.phases.gather.load_old_gather_result")
|
||||||
|
@mock.patch("pungi.phases.gather.load_old_compose_config")
|
||||||
|
def test_reuse_compose_config_different_whitelist(
|
||||||
|
self, load_old_compose_config, load_old_gather_result
|
||||||
|
):
|
||||||
|
for whitelist_opt in ["product_id"]:
|
||||||
|
load_old_gather_result.return_value = {
|
||||||
|
"rpm": [{"path": "/build/bash-1.0.0-1.x86_64.rpm"}],
|
||||||
|
"srpm": [],
|
||||||
|
"debuginfo": [],
|
||||||
|
}
|
||||||
|
|
||||||
|
compose = helpers.DummyCompose(self.topdir, {"gather_allow_reuse": True})
|
||||||
|
compose_conf_copy = dict(compose.conf)
|
||||||
|
compose_conf_copy[whitelist_opt] = "different"
|
||||||
|
load_old_compose_config.return_value = compose_conf_copy
|
||||||
|
|
||||||
|
result = gather.reuse_old_gather_packages(
|
||||||
|
compose, "x86_64", compose.variants["Server"], []
|
||||||
|
)
|
||||||
|
self.assertEqual(result, {"rpm": [], "srpm": [], "debuginfo": []})
|
||||||
|
|
||||||
def _prepare_package_sets(
|
def _prepare_package_sets(
|
||||||
self, load_old_gather_result, extra_global_pkgs=None, **kwargs
|
self, load_old_gather_result, extra_global_pkgs=None, **kwargs
|
||||||
):
|
):
|
||||||
|
Loading…
Reference in New Issue
Block a user