Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion pyartcd/pyartcd/pipelines/build_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,13 @@ async def _tag_into_ci_imagestream(self, arch_suffix, tag):
if self.runtime.dry_run:
self.logger.info('Would have executed: "%s"', cmd)
else:
await exectools.cmd_gather_async(cmd)
try:
await exectools.cmd_gather_async(cmd)
except ChildProcessError:
# Concurrent oc tag calls may race to create the imagestream;
# retry once so the second attempt tags into the now-existing imagestream.
self.logger.warning('Retrying ocp-priv tag for %s-priv:%s after initial failure', self.version, tag)
await exectools.cmd_gather_async(cmd)

@start_as_current_span_async(TRACER, "build-sync.populate-ci-imagestreams")
async def _populate_ci_imagestreams(self):
Expand Down Expand Up @@ -432,6 +438,7 @@ async def _populate_ci_imagestreams(self):
await asyncio.gather(*tasks)

except (ChildProcessError, KeyError) as e:
self.logger.error('Unable to mirror CoreOS images to CI for %s: %s', self.version, e)
await self.slack_client.say(f'Unable to mirror CoreOS images to CI for {self.version}: {e}')

@start_as_current_span_async(TRACER, "build-sync.update-nightly-imagestreams")
Expand Down