From c18d5b4e0d04a436deb5ca6e5dd757b2b580b40f Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Nov 09 2017 01:35:05 +0000 Subject: Use new _ONLYOBSOLETESAME behaviour for composes and updates I just sent a PR upstream that adds a new _ONLYOBSOLETESAME scheduling param. This is somewhere between default behaviour and _NOOBSOLETEBUILD; pending jobs may be canceled when a new 'ISO' POST occurs, but only jobs for the exact same BUILD, not jobs with the same DISTRI, VERSION, FLAVOR and ARCH but a different BUILD (as is the default behaviour). This means we can still re-POST an image to cancel existing jobs for that image and re-start them, but jobs for a modular compose won't be canceled when a non-modular compose of the same release appears, and jobs for one update won't be canceled when a new update for the same release appears. --- diff --git a/fedora_openqa/schedule.py b/fedora_openqa/schedule.py index 3147bc5..df83bba 100644 --- a/fedora_openqa/schedule.py +++ b/fedora_openqa/schedule.py @@ -164,6 +164,7 @@ def run_openqa_jobs(param_urls, flavor, arch, subvariant, imagetype, build, vers # starts OpenQA jobs params = { + '_ONLYOBSOLETESAME': '1', # only obsolete pending jobs for same BUILD 'DISTRI': 'fedora', 'VERSION': version, 'FLAVOR': flavor, @@ -333,9 +334,8 @@ def jobs_from_update(update, version, flavors=None, force=False, extraparams=Non 'ARCH': arch, 'BUILD': build, 'ADVISORY': update, - # this disables the openQA logic that cancels all running jobs - # with the same DISTRI, VERSION, FLAVOR and ARCH - '_NOOBSOLETEBUILD': 1, + # only obsolete pending jobs for same BUILD (i.e. update) + '_ONLYOBSOLETESAME': '1', 'START_AFTER_TEST': '', } # mark if release is a development release; the tests need to know