Skip to content

[update] Retag customContainerImages in OpenStackVersion CR during minor update#3764

Draft
rebtoor wants to merge 1 commit intoopenstack-k8s-operators:mainfrom
rebtoor:fix-update
Draft

[update] Retag customContainerImages in OpenStackVersion CR during minor update#3764
rebtoor wants to merge 1 commit intoopenstack-k8s-operators:mainfrom
rebtoor:fix-update

Conversation

@rebtoor
Copy link
Contributor

@rebtoor rebtoor commented Mar 13, 2026

Starting with openstack-operator FR4
(openstack-k8s-operators/openstack-operator#1569, merged Oct 2025), the OpenStackVersion admission webhook rejects targetVersion changes when spec.customContainerImages are identical to those tracked for the previously deployed version.

During the update flow, set_openstack_containers updates the operator CSV env vars with the new delorean tag, but nothing updates the OpenStackVersion CR's customContainerImages, they still carry the tag from the initial greenfield deployment. When update_services later patches targetVersion, the webhook rejects the request because the custom images haven't changed.

Add a step after set_openstack_containers that reads the current customContainerImages from the OpenStackVersion CR, replaces every image tag with the new delorean md5 hash, and patches the CR. This ensures the custom images reflect the new version before targetVersion is changed, satisfying the webhook and guaranteeing the update uses the correct container images.

Assisted-by: Cursor (claude-4.6-opus-high)
Signed-off-by: Roberto Alfieri ralfieri@redhat.com

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 13, 2026

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
Copy link
Contributor

openshift-ci bot commented Mar 13, 2026

[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

…g minor update

Starting with openstack-operator FR4
(openstack-k8s-operators/openstack-operator#1569, merged Oct 2025),
the `OpenStackVersion` admission webhook rejects `targetVersion`
changes when `spec.customContainerImages` are identical to those
tracked for the previously deployed version.

During the update flow, `set_openstack_containers` updates the
operator CSV env vars with the new delorean tag, but nothing
updates the `OpenStackVersion` CR's `customContainerImages` -- they
still carry the tag from the initial greenfield deployment. When
`update_services` later patches `targetVersion`, the webhook
rejects the request because the custom images haven't changed.

Add a step after `set_openstack_containers` that reads the current
`customContainerImages` from the `OpenStackVersion` CR, replaces
every image tag with the new delorean md5 hash, and patches the
CR. This ensures the custom images reflect the new version before
`targetVersion` is changed, satisfying the webhook and guaranteeing
the update uses the correct container images.

Assisted-by: Cursor (claude-4.6-opus-high)
Signed-off-by: Roberto Alfieri <ralfieri@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant