Skip to content

[multiple] Allow overriding individual containers in update_containers - #4287

Open
elfiesmelfie wants to merge 2 commits into
openstack-k8s-operators:18-stablefrom
elfiesmelfie:update_containers_allow_overriding_everything
Open

elfiesmelfie wants to merge 2 commits into
openstack-k8s-operators:18-stablefrom
elfiesmelfie:update_containers_allow_overriding_everything

Conversation

@elfiesmelfie

Copy link
Copy Markdown
Contributor

This PR backports features from main that allow specifying individual
containers to update when using the update_containers role.

This allows to updating only some images (e.g. telemetry and optimize
components both deploy changes from newer versions than antelope),
while keeping the same default set of images for the rest of the services.

This backports changes from two PRs:
#4099
#4152

danpawlik and others added 2 commits October 22, 2026 19:48
When a job patches the `OpenStackVersion` `controlplane` CR with custom
container images (e.g. s2i-built images from an operator PR), the resulting
`spec.customContainerImages` is only visible by inspecting the must-gather
`openstackversions.core.openstack.org/controlplane.yaml`. Jobs like
`s2i-speculative-deploy-test-*` gave no in-log indication of which images
were applied.

Add a debug task in both `OpenStackVersion` writers -- the `update_containers`
role (template + `oc apply`) and the `set_containers` call in `edpm_prepare`
-- that reads back the generated CR and prints it verbatim, so the patched
images are visible directly in the job output.

The rendered file is printed as raw lines rather than re-parsed with
`from_yaml`, which threw `yaml.scanner.ScannerError` on values containing a
colon-space sequence.

Assisted-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Daniel Pawlik <dpawlik@redhat.com>

(cherry picked from commit 8d637b8)
This allows testing images from different sources.

Signed-off-by: Yatin Karel <ykarel@redhat.com>

(cherry picked from commit c17d9ed)
@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@openshift-ci

openshift-ci Bot commented Oct 22, 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 eshulman2 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

@elfiesmelfie elfiesmelfie changed the title Update containers allow overriding individual containers [multiple] Allow overriding individual containers in update_containers Oct 22, 2026
@karelyatin

Copy link
Copy Markdown
Contributor

@elfiesmelfie where are we using this 18-stable branch of ci-framework?
My understand was that we using either stable or the main branch across.

@vyzigold

Copy link
Copy Markdown
Contributor

@karelyatin Do we not plan to have a similar branching strategy as the rest of RHOSO? (To have a separate branch for 18 with different content to what's used for 19?)

watcherApplierImage: {{ cifmw_update_containers_registry }}/{{ cifmw_update_containers_org }}/{{ cifmw_update_containers_name_prefix }}-watcher-applier:{{ cifmw_update_containers_tag }}
watcherDecisionEngineImage: {{ cifmw_update_containers_registry }}/{{ cifmw_update_containers_org }}/{{ cifmw_update_containers_name_prefix }}-watcher-decision-engine:{{ cifmw_update_containers_tag }}
{% endif %}
{% if cifmw_update_containers_custom_images is defined and cifmw_update_containers_custom_images is mapping %}

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.

the cifmw_update_containers_custom_images is defined in defaults. Maybe we can improve the condition as following:

cifmw_update_containers_custom_images | length > 0

@elfiesmelfie

elfiesmelfie commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor Author

@elfiesmelfie where are we using this 18-stable branch of ci-framework?
My understand was that we using either stable or the main branch across.

I'm confused by the existence of both a stable and an 18-stable branch.
Does stable follow main closely, so you have a branch that doesnt change as fast, but is still used with main branches in the operators?

I picked 18-stable because it matched the branches in the other required projects.
I'm trying to deploy 18-stable, and then use master versions of telemetry containers.
The job currently deploys antelope and then updates openstack versions with telemetry master container post-deploy.
By switching to update_containers, I can shorten the job, so we don't have to wait for control plane reconciliation and data plane redeployment after the update.

This branch has not been deployed

No deployments
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.

4 participants