Commit 63fd705
Fix OpenStackVersion minor update workflow hanging on OVN dataplane check
During a minor update, the OpenStackVersion controller was getting stuck
with incorrect condition states even after deployments completed:
- MinorUpdateOVNDataplane: "in progress" (stuck)
- MinorUpdateControlplane: "not started" (never executed)
Root Cause:
The DataplaneNodesetsOVNControllerImagesMatch function checked
nodeset.IsReady(), which failed when subsequent deployments
(e.g., edpm-update) started running. This caused the function to
return false even though the OVN update deployment (edpm-ovn-update)
had already completed successfully.
The nodeset's overall Ready status was False because edpm-update was
running, blocking the minor update workflow from progressing to the
next steps (RabbitMQ, MariaDB, controlplane services, etc.).
Solution:
Remove the nodeset.IsReady() check from DataplaneNodesetsOVNControllerImagesMatch.
The nodeset's Status.ContainerImages["OvnControllerImage"] is only updated
when a deployment completes successfully (openstackdataplanenodeset_controller.go:598-600).
Therefore, if the OVN image matches the target version, the OVN update
deployment has already completed, regardless of the nodeset's overall Ready status.
Why we can't check deployment-specific conditions:
The nodeset stores deployment conditions in Status.DeploymentStatuses map,
keyed by deployment name (e.g., "edpm-ovn-update"). However, deployment
names are dynamic and not known at this point in the code, making it
impossible to check specific deployment conditions directly.
Note: The final DataplaneNodesetsDeployed check still uses nodeset.IsReady()
because it validates the completion of the entire minor update workflow,
where we do want to ensure the nodeset is fully ready.
Jira: OSPRH-25860
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Martin Schuppert <mschuppert@redhat.com>1 parent d18e036 commit 63fd705
1 file changed
Lines changed: 5 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
49 | | - | |
50 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
51 | 53 | | |
52 | 54 | | |
53 | 55 | | |
| |||
0 commit comments