From cd4be78032f349eaf48c2e57ff6051d041d2cb44 Mon Sep 17 00:00:00 2001 From: Clark Boylan Date: Wed, 5 Mar 2025 13:11:24 -0800 Subject: [PATCH] Use the new infra-prod locking and dependency setup We trigger some infra-prod deploy jobs from changes to project-config. We recently updated system-config to run jobs with new locking and depdendency setups and project-config needs to be updated to ensure everything works as expected on this side of the house. In particular normal infra-prod jobs no longer update repos on bridge. Instead infra-prod-bootstrap-bridge does this then pauses while holding a lock then pauses while the other infra-prod jobs in the buildset run. This ensures the jobs belonging to that buildset run with the correct git repo state and run with exclusivity compared to all other infra-prod deploy/periodic/opendev-prod-hourly buildsets. Change-Id: I64fc0fcc15e23bdc9b04eb23a75d77d576dc23bf --- zuul.d/projects.yaml | 45 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml index 49ce68dea4..f9c6b1001f 100644 --- a/zuul.d/projects.yaml +++ b/zuul.d/projects.yaml @@ -481,25 +481,43 @@ name: opendev/zone-gating.dev deploy: jobs: + # This job configures the bridge node with the correct + # git repo state for system-config and project-config and then + # pauses while holding a lock to ensure exclusivity for the + # buildset. + - infra-prod-bootstrap-bridge - infra-prod-service-nameserver: files: zones/.* - dependencies: [] + dependencies: + - name: infra-prod-bootstrap-bridge - project: name: opendev/zone-opendev.org deploy: jobs: + # This job configures the bridge node with the correct + # git repo state for system-config and project-config and then + # pauses while holding a lock to ensure exclusivity for the + # buildset. + - infra-prod-bootstrap-bridge - infra-prod-service-nameserver: files: zones/.* - dependencies: [] + dependencies: + - name: infra-prod-bootstrap-bridge - project: name: opendev/zone-zuul-ci.org deploy: jobs: + # This job configures the bridge node with the correct + # git repo state for system-config and project-config and then + # pauses while holding a lock to ensure exclusivity for the + # buildset. + - infra-prod-bootstrap-bridge - infra-prod-service-nameserver: files: zones/.* - dependencies: [] + dependencies: + - name: infra-prod-bootstrap-bridge - project: name: openinfra/groups @@ -3527,30 +3545,41 @@ files: *infra-docs-index - promote-openstack-specs-site: files: *specs-site + # This job configures the bridge node with the correct + # git repo state for system-config and project-config and then + # pauses while holding a lock to ensure exclusivity for the + # buildset. + - infra-prod-bootstrap-bridge - infra-prod-manage-projects: - dependencies: [] + dependencies: + - name: infra-prod-bootstrap-bridge files: - gerrit/.* - infra-prod-service-nodepool: - dependencies: [] + dependencies: + - name: infra-prod-bootstrap-bridge files: - nodepool/.* - infra-prod-service-zuul: dependencies: + - name: infra-prod-bootstrap-bridge - name: infra-prod-manage-projects soft: true files: - zuul/main.yaml - infra-prod-run-accessbot: - dependencies: [] + dependencies: + - name: infra-prod-bootstrap-bridge files: - accessbot/channels.yaml - infra-prod-service-eavesdrop: - dependencies: [] + dependencies: + - name: infra-prod-bootstrap-bridge files: - gerritbot/channels.yaml - infra-prod-service-grafana: - dependencies: [] + dependencies: + - name: infra-prod-bootstrap-bridge files: *project-config-grafana-files periodic: jobs: