From b6671701d2db2632f73d8702bc0c47db34ddb022 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Oct 13 2016 04:07:01 +0000 Subject: PR#170: Allow buildArch tasks to continue when sibling fails Merges #170 https://pagure.io/koji/pull-request/170 Fixes #48 --- diff --git a/builder/kojid b/builder/kojid index 05438d2..6861182 100755 --- a/builder/kojid +++ b/builder/kojid @@ -979,7 +979,8 @@ class BuildTask(BaseTaskHandler): self.logger.debug("Waiting on subtasks...") # wait for subtasks to finish - results = self.wait(subtasks.values(), all=True, failany=True) + failany = not getattr(self.options, 'build_arch_can_fail', False) + results = self.wait(subtasks.values(), all=True, failany=failany) # finalize import # merge data into needed args for completeBuild call @@ -4999,7 +5000,8 @@ def get_options(): quit("value for %s option must be a valid integer" % name) elif name in ['offline_retry', 'use_createrepo_c', 'createrepo_skip_stat', 'createrepo_update', 'keepalive', 'use_fast_upload', - 'support_rpm_source_layout', 'krb_rdns']: + 'support_rpm_source_layout', 'krb_rdns', + 'build_arch_can_fail']: defaults[name] = config.getboolean('kojid', name) elif name in ['plugin', 'plugins']: defaults['plugin'] = value.split() diff --git a/builder/kojid.conf b/builder/kojid.conf index 044a078..3d2f3ce 100644 --- a/builder/kojid.conf +++ b/builder/kojid.conf @@ -86,3 +86,6 @@ from_addr=Koji Build System ;certificate of the CA that issued the HTTP server certificate ;serverca = /etc/kojid/serverca.crt + +;if set to True, failing subtask will not automatically cancel other siblings +;build_arch_can_fail = False