Skip to content

[multiple] Enable Zuul auto-retry for infrastructure failures - #4107

Open
imatza-rh wants to merge 1 commit into
mainfrom
fix-zuul-attempts-override
Open

[multiple] Enable Zuul auto-retry for infrastructure failures#4107
imatza-rh wants to merge 1 commit into
mainfrom
fix-zuul-attempts-override

Conversation

@imatza-rh

@imatza-rh imatza-rh commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Remove explicit attempts: 1 overrides from Zuul base job definitions, restoring auto-retry for pre-run playbook failures and unreachable-node errors. Add timeout and pre-timeout to molecule CRC jobs and multinode base jobs to fix the root cause of CRC startup timeouts. Fix content-provider-bootc timeout and mark broken whitebox test non-voting.

What changed

File Change Effect
zuul.d/base.yaml Remove attempts: 1 from cifmw-podified-multinode-edpm-base-crc and replace with pre-timeout: 3600 Inherit attempts: 3 from parent base-crc-cloud; cap pre-run at 60 min so CRC hang retries fast
zuul.d/base.yaml Remove attempts: 1 from 2 ci-bootstrap multinode jobs, add attempts: 3 + pre-timeout: 3600 Override base-extracted-crc-wo-networks parent (attempts: 1); cap pre-run for CRC hang protection
zuul.d/base.yaml Add attempts: 3 to cifmw-base-crc Override base-simple-crc parent (attempts: 1 in RDO config)
zuul.d/adoption.yaml Change attempts: 1 to attempts: 2 on 4 adoption base jobs Limit retries (3 have timeout: 14400, 1 inherits from parent)
zuul.d/molecule-base.yaml Add timeout: 3600, pre-timeout: 2100, attempts: 3 to cifmw-molecule-base-crc Fix CRC startup timeout root cause; override base-simple-crc parent
zuul.d/content_provider.yaml Add timeout: 7200, attempts: 2 to content-provider-bootc Fix bootc image build timeout (parent timeout 2700 insufficient - timed out at 47 min in buildset e2b7708f)
zuul.d/project-templates.yaml Set voting: false on whitebox-neutron-tempest job 71% failure rate from broken test_igmp_snooping_after_openvswitch_restart; independent of PR changes

Why this is needed

Root cause: CRC startup consumes the default timeout

4 CRC molecule jobs (ci_multus, ci_nmstate, os_must_gather, set_openstack_containers) inherit a ~30-minute default timeout from base-simple-crc. CRC startup takes ~24 minutes, leaving only ~6 minutes for tests - causing timeouts on first attempt.

Fix: timeout: 3600 (60 min) gives ~36 min for tests after CRC startup. pre-timeout: 2100 (35 min) caps pre-run so a CRC hang fails fast and retries instead of consuming the full 60 min. The 1 CRC molecule job with its own override (install_openstack_ca: timeout: 5400) keeps its value.

Content-provider-bootc timeout

The bootc content provider inherits timeout: 2700 (45 min) from its parent. Zuul timeout is per-playbook (each pre-run, run, and post-run playbook gets timeout seconds individually). Bootc image builds can exceed this per-playbook limit - timed out at 47 min in buildset e2b7708f. Fix: timeout: 7200 (120 min per playbook) for headroom + attempts: 2.

Multinode base and ci-bootstrap pre-timeout

cifmw-podified-multinode-edpm-base-crc has timeout: 10800 (3h) and 5 child jobs. CRC startup in the pre-run phase can hang indefinitely, consuming the full 3h timeout before a retry. pre-timeout: 3600 (60 min) caps the pre-run phase - CRC startup (~24 min) fits comfortably, but a hang fails fast and retries instead of wasting hours.

The 2 ci-bootstrap multinode jobs (cifmw-podified-multinode-edpm-ci-bootstrap and -staging) have the same CRC hang risk: their parent chain includes base-extracted-crc-wo-networks which runs playbooks/crc/prepare-crc.yaml in pre-run. That parent also pins attempts: 1, so removing the ci-framework-level attempts: 1 alone would be a no-op. Explicit attempts: 3 + pre-timeout: 3600 overrides the parent and adds CRC hang protection.

Whitebox non-voting

whitebox-neutron-tempest-plugin-podified-multinode-edpm-deployment-crc-2comp has a 71% failure rate on ci-framework PRs (5/7 recent runs) but passes 100% on its native project (neutron-tempest-plugin). The failing test (test_igmp_snooping_after_openvswitch_restart) is deterministically broken. The job uses override-checkout: main - it does not test PR changes. Marked non-voting until the test is fixed upstream.

Retry behavior

Zuul attempts retries these conditions, allocating a fresh Nodepool node each time:

  • Pre-run playbook failures (CRC startup timeout, package install failure)
  • Unreachable nodes during any phase (SSH drops, node crashes)

NOT retried: run-phase failures (test exits non-zero), post-run failures, Nodepool request failures (NODE_FAILURE before any playbook runs).

Reference: Zuul job.attempts documentation

Evidence

Verified via live RDO Zuul API and upstream config repo (components-integration-config):

Parent Job attempts Source
base-crc-cloud 3 components-integration-config/zuul.d/_jobs-crc.yaml:183
base-extracted-crc-wo-networks 1 components-integration-config/zuul.d/_jobs-crc.yaml:79 (grandparent of ci-bootstrap jobs)
base-simple-crc 1 components-integration-config/zuul.d/_jobs-crc.yaml:30

CRC startup timing (from build logs, buildset d9467e70)

Build CRC startup Total duration Result
cifmw-molecule-ci_multus (1st attempt) 24 min 31 min (TIMED_OUT) Test got ~6 min → timeout
cifmw-molecule-ci_nmstate (2nd attempt) 20 min 28 min (FAILURE) Test ran 4 min, actual failure
cifmw-molecule-install_openstack_ca 24 min 40 min (SUCCESS) Has timeout: 5400 → enough room

Motivation

PR #3922 demonstrated the problem: 20+ buildsets over 6 weeks, different jobs failing each time due to infrastructure flakes. Each failure required a full manual recheck re-running all jobs (2-3 hours). With this change, transient failures auto-retry and molecule CRC jobs get enough timeout for CRC startup + tests.

@openshift-ci

openshift-ci Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci

openshift-ci Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign brjackma for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/d9467e70a88845db86142247e58d3d03

✔️ openstack-k8s-operators-content-provider SUCCESS in 4h 59m 18s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 38m 38s
cifmw-crc-podified-edpm-baremetal FAILURE in 47m 40s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 29m 26s
✔️ podified-multinode-hci-deployment-crc SUCCESS in 2h 04m 36s
cifmw-multinode-tempest NODE_FAILURE Node(set) request 099-0000169478 failed in 0s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 56s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 41m 17s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 55m 22s
adoption-standalone-to-crc-ceph-provider NODE_FAILURE Node(set) request 099-0000169315 failed in 0s
whitebox-neutron-tempest-plugin-podified-multinode-edpm-deployment-crc-2comp FAILURE in 4h 16m 53s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 37s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 10s
cifmw-multinode-kuttl FAILURE in 35m 35s
cifmw-molecule-ci_multus TIMED_OUT in 31m 01s
cifmw-molecule-ci_nmstate FAILURE in 28m 22s
✔️ cifmw-molecule-install_openstack_ca SUCCESS in 39m 44s
cifmw-molecule-os_must_gather FAILURE in 25m 37s
cifmw-molecule-set_openstack_containers TIMED_OUT in 31m 02s

@imatza-rh
imatza-rh force-pushed the fix-zuul-attempts-override branch 2 times, most recently from 2574724 to 208e4ce Compare August 14, 2026 11:31
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/e2b7708fe2b34678a6a4a2244c9fa713

✔️ openstack-k8s-operators-content-provider SUCCESS in 7h 50m 35s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 32m 13s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 52m 20s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 25m 43s
✔️ podified-multinode-hci-deployment-crc SUCCESS in 1h 58m 50s
✔️ cifmw-multinode-tempest SUCCESS in 1h 57m 58s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 59s
openstack-k8s-operators-content-provider-bootc TIMED_OUT in 46m 37s
⚠️ cifmw-crc-podified-edpm-baremetal-bootc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider-bootc
✔️ adoption-standalone-to-crc-ceph-provider SUCCESS in 3h 18m 55s
whitebox-neutron-tempest-plugin-podified-multinode-edpm-deployment-crc-2comp FAILURE in 3h 53m 41s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 43s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 12s
✔️ cifmw-multinode-kuttl SUCCESS in 3h 15m 06s
✔️ cifmw-molecule-ci_multus SUCCESS in 31m 28s
✔️ cifmw-molecule-ci_nmstate SUCCESS in 34m 38s
✔️ cifmw-molecule-install_openstack_ca SUCCESS in 33m 49s
✔️ cifmw-molecule-os_must_gather SUCCESS in 38m 49s
✔️ cifmw-molecule-set_openstack_containers SUCCESS in 34m 16s

@imatza-rh
imatza-rh force-pushed the fix-zuul-attempts-override branch 3 times, most recently from 4331da7 to 2ef9cdc Compare August 18, 2026 10:27
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/ca90eb4d02dd4f699798a9dec6ca99c2

✔️ openstack-k8s-operators-content-provider SUCCESS in 5h 01m 47s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 38m 24s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 2h 05m 21s
cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 2h 14m 19s
✔️ podified-multinode-hci-deployment-crc SUCCESS in 2h 05m 45s
cifmw-multinode-tempest FAILURE in 35m 47s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 32s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 1h 23m 31s
cifmw-crc-podified-edpm-baremetal-bootc NODE_FAILURE Node(set) request 099-0000173632 failed in 0s
adoption-standalone-to-crc-ceph-provider POST_FAILURE in 3h 13m 03s
whitebox-neutron-tempest-plugin-podified-multinode-edpm-deployment-crc-2comp FAILURE in 3h 55m 35s (non-voting)
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 37s
✔️ cifmw-pod-pre-commit SUCCESS in 9m 26s
✔️ cifmw-multinode-kuttl SUCCESS in 3h 21m 56s
✔️ cifmw-molecule-ci_multus SUCCESS in 35m 06s
cifmw-molecule-ci_nmstate FAILURE in 22m 00s
✔️ cifmw-molecule-install_openstack_ca SUCCESS in 40m 30s
✔️ cifmw-molecule-os_must_gather SUCCESS in 34m 15s
✔️ cifmw-molecule-set_openstack_containers SUCCESS in 37m 05s

@imatza-rh

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@imatza-rh, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 31 minutes

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 28bde240-dfe9-43cf-bc4b-a647883201be

📥 Commits

Reviewing files that changed from the base of the PR and between 546a5ef and 2ef9cdc.

📒 Files selected for processing (5)
  • zuul.d/adoption.yaml
  • zuul.d/base.yaml
  • zuul.d/content_provider.yaml
  • zuul.d/molecule-base.yaml
  • zuul.d/project-templates.yaml

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Valkyrie00

Copy link
Copy Markdown
Contributor

recheck

Comment thread zuul.d/base.yaml
parent: base-crc-cloud
timeout: 10800
attempts: 1
pre-timeout: 3600

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @imatza-rh, I like the pre-timeout: 3600 on the base-crc multinode job, that's a sensible way to fail fast on a stuck CRC startup. I'm wondering whether the ci-bootstrap multinode jobs need the same treatment, since they also stop pinning attempts: 1. Do you know if their pre-run phase can hit the same hang pattern?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch - you're right, and it goes deeper than just pre-timeout. The ci-bootstrap jobs' parent chain goes through base-extracted-crc-wo-networks which pins attempts: 1 and runs playbooks/crc/prepare-crc.yaml in pre-run. So removing attempts: 1 from the ci-framework level alone was a no-op - they'd still inherit attempts: 1 from the grandparent.

Fixed in the latest push: both ci-bootstrap jobs now have explicit attempts: 3 (to override the parent chain) and pre-timeout: 3600 (same CRC hang protection as the multinode base job). Updated the PR description and evidence table accordingly.

@Valkyrie00

Copy link
Copy Markdown
Contributor

LGTM from me. The retry/timeout tuning looks well reasoned, and the PR description made the parent inheritance and CRC timing easy to follow. I dropped a small nit on whether the ci-bootstrap multinode jobs should get the same pre-timeout treatment, happy to merge it when ready :)

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/9ccf92e58d7249ca93023f90bbebad14

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 03m 59s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 43m 16s
cifmw-crc-podified-edpm-baremetal NODE_FAILURE Node(set) request 099-0000176095 failed in 0s
cifmw-crc-podified-edpm-baremetal-minor-update NODE_FAILURE Node(set) request 099-0000176096 failed in 0s
podified-multinode-hci-deployment-crc NODE_FAILURE Node(set) request 099-0000176097 failed in 0s
cifmw-multinode-tempest NODE_FAILURE Node(set) request 099-0000176098 failed in 0s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 26s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 48m 41s
cifmw-crc-podified-edpm-baremetal-bootc NODE_FAILURE Node(set) request 099-0000176141 failed in 0s
adoption-standalone-to-crc-ceph-provider NODE_FAILURE Node(set) request 099-0000176099 failed in 0s
whitebox-neutron-tempest-plugin-podified-multinode-edpm-deployment-crc-2comp NODE_FAILURE Node(set) request 099-0000176100 failed in 0s (non-voting)
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 13s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 50s
cifmw-multinode-kuttl NODE_FAILURE Node(set) request 100-0000176031 failed in 0s
cifmw-molecule-ci_multus NODE_FAILURE Node(set) request 100-0000176032 failed in 0s
cifmw-molecule-ci_nmstate NODE_FAILURE Node(set) request 100-0000176033 failed in 0s
cifmw-molecule-install_openstack_ca NODE_FAILURE Node(set) request 100-0000176034 failed in 0s
cifmw-molecule-os_must_gather NODE_FAILURE Node(set) request 100-0000176035 failed in 0s
cifmw-molecule-set_openstack_containers NODE_FAILURE Node(set) request 100-0000176036 failed in 0s

Remove explicit attempts: 1 overrides from Zuul base job definitions,
restoring auto-retry for pre-run playbook failures and unreachable-node
errors. Add timeout and pre-timeout to molecule CRC jobs and multinode
base jobs to address CRC startup timeouts. Fix content-provider-bootc
timeout and mark broken whitebox test non-voting.

Changes:
- zuul.d/base.yaml: remove attempts: 1 from 3 multinode base jobs
  (inherit attempts: 3 from parent base-crc-cloud). Add attempts: 3
  to cifmw-base-crc (override base-simple-crc parent). Add
  pre-timeout: 3600 to cifmw-podified-multinode-edpm-base-crc
  (cap pre-run at 60 min so CRC hangs retry instead of consuming
  the full 3h timeout).
- zuul.d/adoption.yaml: change attempts: 1 to attempts: 2 on 4
  adoption base jobs (limit retries for long-running jobs).
- zuul.d/molecule-base.yaml: add timeout: 3600 (60 min),
  pre-timeout: 2100 (35 min cap on CRC startup), and attempts: 3
  to cifmw-molecule-base-crc.
- zuul.d/content_provider.yaml: add timeout: 7200 and attempts: 2
  to content-provider-bootc (parent timeout of 2700 is insufficient
  for bootc image builds, timed out at 47 min in buildset e2b7708f).
- zuul.d/project-templates.yaml: set whitebox-neutron-tempest job
  non-voting on ci-framework (71% failure rate from broken
  test_igmp_snooping_after_openvswitch_restart, independent of
  PR changes, uses override-checkout: main).

Assisted-By: Claude Code
Signed-off-by: Itay Matza <imatza@redhat.com>
@imatza-rh
imatza-rh force-pushed the fix-zuul-attempts-override branch from 2ef9cdc to a5c8c1d Compare August 22, 2026 18:57
@imatza-rh

Copy link
Copy Markdown
Contributor Author

https://github.com/coderabbitai review

@imatza-rh
imatza-rh marked this pull request as ready for review August 22, 2026 19:16
@imatza-rh

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Enable Zuul auto-retry and fix CRC/bootc job timeouts

⚙️ Configuration changes 🐞 Bug fix 🕐 20-40 Minutes

Grey Divider

AI Description

• Restore Zuul auto-retries by removing/overriding attempts: 1 on CRC base jobs.
• Add CRC timeout/pre-timeout caps so startup hangs fail faster and retry.
• Extend bootc provider runtime and mark flaky whitebox tempest job non-voting.
Diagram

graph TD
  Z["Zuul Scheduler"] --> C["Job definitions (zuul.d)"] --> B["CRC multinode base jobs"] --> N[("Nodepool nodes")]
  C --> M["CRC molecule base job"] --> N
  C --> A["Adoption base jobs"] --> N
  C --> P["bootc content-provider job"] --> N
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Fix defaults in shared parent jobs (upstream)
  • ➕ Eliminates repo-local overrides and keeps retry/timeout policy consistent
  • ➕ Reduces drift between projects using the same Zuul base jobs
  • ➖ Requires coordination/changes in the shared Zuul config source (e.g., RDO/infra)
  • ➖ Slower to land than local overrides when CI is already failing
2. Reduce CRC startup time instead of extending timeouts
  • ➕ Improves overall pipeline latency (not just avoiding timeouts)
  • ➕ Less wasted compute on slow-starting environments
  • ➖ Likely requires deeper CRC/infra tuning and is higher effort
  • ➖ May not address transient infra failures where retries still help
3. Add explicit early-fail logic in pre-run playbooks
  • ➕ More deterministic failure detection (e.g., detect CRC hang and abort)
  • ➕ Avoids relying solely on Zuul timeout semantics
  • ➖ Adds playbook complexity and maintenance burden
  • ➖ Still needs sane job-level timeouts as a safety net

Recommendation: Proceed with this PR’s approach: restoring retries and adding targeted timeout/pre-timeout values is the quickest, lowest-risk way to reduce CRC-startup timeouts and make infra failures auto-retry again. Consider a follow-up to push the improved defaults into the shared parent job definitions to reduce the need for per-repo overrides long term.

Files changed (5) +16 / -7

Bug fix (3) +11 / -3
base.yamlRestore CRC multinode retries and cap pre-run duration +6/-3

Restore CRC multinode retries and cap pre-run duration

• Removes explicit 'attempts: 1' overrides so CRC-based multinode jobs can auto-retry again, and explicitly sets 'attempts: 3' where the parent forces 'attempts: 1'. Adds 'pre-timeout: 3600' to fail fast on CRC/pre-run hangs instead of consuming the full job timeout.

zuul.d/base.yaml

content_provider.yamlExtend bootc content-provider timeout and add limited retries +2/-0

Extend bootc content-provider timeout and add limited retries

• Sets 'timeout: 7200' and 'attempts: 2' for the bootc content-provider job. This reduces buildset failures from long bootc image builds while still limiting repeated retries.

zuul.d/content_provider.yaml

molecule-base.yamlTune CRC molecule base job timeouts and retries +3/-0

Tune CRC molecule base job timeouts and retries

• Adds 'timeout: 3600', 'pre-timeout: 2100', and 'attempts: 3' to the CRC molecule base job. This provides enough runtime after CRC startup while ensuring hung pre-run phases fail quickly and can be retried.

zuul.d/molecule-base.yaml

Other (2) +5 / -4
adoption.yamlIncrease adoption base job retries from 1 to 2 +4/-4

Increase adoption base job retries from 1 to 2

• Updates four adoption base job definitions to use 'attempts: 2' instead of 'attempts: 1'. This enables a limited auto-retry for infrastructure-related failures while keeping long-running jobs from retrying excessively.

zuul.d/adoption.yaml

project-templates.yamlMark whitebox neutron tempest job as non-voting +1/-0

Mark whitebox neutron tempest job as non-voting

• Sets 'voting: false' for the whitebox neutron tempest plugin job within the project template. This prevents a known-flaky job from blocking the pipeline while it remains unstable.

zuul.d/project-templates.yaml

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can commit Qodo's fix in one click with committable suggestions (GitHub & GitLab)

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/689f69f8528148c794bfe39d9c01e512

✔️ openstack-k8s-operators-content-provider SUCCESS in 4h 02m 15s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 30m 58s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 41m 14s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 09m 43s
podified-multinode-hci-deployment-crc FAILURE in 1h 52m 46s
✔️ cifmw-multinode-tempest SUCCESS in 1h 53m 25s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 23s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 09m 54s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 38m 49s
✔️ adoption-standalone-to-crc-ceph-provider SUCCESS in 3h 12m 59s
whitebox-neutron-tempest-plugin-podified-multinode-edpm-deployment-crc-2comp FAILURE in 3h 48m 19s (non-voting)
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 34s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 29s
cifmw-multinode-kuttl FAILURE in 2h 31m 20s
cifmw-molecule-ci_multus FAILURE in 21m 19s
✔️ cifmw-molecule-ci_nmstate SUCCESS in 30m 45s
✔️ cifmw-molecule-install_openstack_ca SUCCESS in 38m 02s
✔️ cifmw-molecule-os_must_gather SUCCESS in 34m 34s
✔️ cifmw-molecule-set_openstack_containers SUCCESS in 30m 45s

@imatza-rh
imatza-rh requested a review from Valkyrie00 August 24, 2026 09:03

@rebtoor rebtoor left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci Bot added the lgtm label Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants