feat(deploy): break three config-only DAG edges for parallelism#3844
Closed
Rico Lin (ricolin) wants to merge 1 commit intofeat/parallel-deploy-orchestratorfrom
Closed
feat(deploy): break three config-only DAG edges for parallelism#3844Rico Lin (ricolin) wants to merge 1 commit intofeat/parallel-deploy-orchestratorfrom
Rico Lin (ricolin) wants to merge 1 commit intofeat/parallel-deploy-orchestratorfrom
Conversation
Two edges in the parallel deploy orchestrator DAG are configuration-only references (endpoint URLs stored in Helm values templates) rather than real install-time API calls. Remove them so the orchestrator schedules affected components earlier: - magnum no longer depends on octavia, barbican, or heat. magnum.conf references barbican_client and heat_client but those strings are only dereferenced when a user later creates a cluster. magnum does depend on glance at install time to upload the cluster image. - rook-ceph-cluster no longer depends on barbican; the real dependency was keystone, now declared correctly. Add a keystone-api readiness wait in roles/rook_ceph_cluster/tasks/main.yml to prevent a race with Keystone's rollout before the subsequent openstack.cloud.* calls, and pre-create the service project and domain to avoid racing Keystone's keystone-user jobs. Co-authored-by: Copilot <[email protected]> Signed-off-by: ricolin <[email protected]>
c112285 to
a3dc226
Compare
Member
Author
|
Squash-merged into #3818 (feat/parallel-deploy-orchestrator). Closing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Audit of install-time behaviour vs. declared dependencies in the parallel deployment orchestrator found three edges where the declared dependency is a configuration-only reference (endpoint URL stored in a Helm values template) rather than a real install-time API call. Removing them lets the orchestrator schedule components earlier.
Edges removed
neutronroles/neutron/tasks/main.ymlonly makes Neutron API calls (openstack.cloud.network, subnets) and does not touch Nova at install time.magnumroles/magnum/vars/main.ymlreferencesbarbican_client/heat_clientinmagnum.conf. These strings are only dereferenced when a user later creates a cluster.rook-ceph-clusterReadiness check added
Along with the Keystone dependency,
roles/rook_ceph_cluster/tasks/main.ymlnow waits for thekeystone-apiDeployment to beAvailablebefore the subsequentopenstack.cloud.*calls, preventing a race with Keystone's rollout. This mirrors the cert-manager secret wait added for Octavia in #3834.The other two removals (
neutron -> nova,magnum -> barbican/heat) don't need new gates: audit of the affectedtasks/files confirms they make no install-time API calls against the removed dependencies.Measured impact
On
atmosphere-molecule-aio-ovnthe current critical path is:After these changes the expected critical path is:
Expected saving: ~3 min 20 s on the critical path (roughly 9% of the measured 34m 40s non-prepull deploy time in #3841).
Validation
go test ./pkg/dag/ ./internal/deploy/passes.go build ./cmd/atmospheresucceeds.valewith zero errors / warnings / suggestions.Stacking
This PR is based on #3818 (
feat/parallel-deploy-orchestrator) so it is self-contained once #3818 lands on main. #3841 will be rebuilt as #3834 + #3835 + this PR on top ofmain.Signed-off-by: Rico Lin [email protected]
Co-authored-by: Copilot [email protected]