Skip to content

ship-status: set imagePullPolicy Always for containers using mutable tags#82050

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
redhat-chai-bot:fix-ship-status-imagepullpolicy
Jul 17, 2026
Merged

ship-status: set imagePullPolicy Always for containers using mutable tags#82050
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
redhat-chai-bot:fix-ship-status-imagepullpolicy

Conversation

@redhat-chai-bot

Copy link
Copy Markdown
Contributor

Summary

Containers in the ship-status-dash deployments use mutable _latest suffixed tags (e.g. ship-status-dash_dashboard_latest). Because the tag name is not exactly :latest, Kubernetes defaults imagePullPolicy to IfNotPresent rather than Always.

This means back-to-back image promotions can serve stale cached images when the pod lands on a node that already pulled the previous version under the same tag.

Changes

Set imagePullPolicy: Always on all ship-status-dash containers that use _latest suffixed tags:

  • dashboard/deployment.yaml: db-migration (init), dashboard, ship-status-mcp
  • component-monitor/deployment.yaml: component-monitor

Containers using pinned version tags (git-sync, oauth-proxy) are not modified.

Root Cause

Discovered when PR openshift-eng/ship-status-dash#130 merged shortly after PR #129. Both promoted images to the same _latest tag. The Keel-triggered rollout landed the new pod on a node that had already cached the PR #129 image, causing the pod to run stale code despite the registry having the newer image.


@smg247 requested via Chai Bot

…tags

Containers using mutable _latest tags default to imagePullPolicy IfNotPresent
because the tag name is not exactly ":latest". This means back-to-back image
promotions can serve stale cached images when the pod lands on a node that
already pulled the previous version under the same tag.

Set imagePullPolicy: Always on all ship-status-dash containers that use
_latest suffixed tags (dashboard, ship-status-mcp, db-migration, component-monitor)
to ensure the kubelet always validates the digest with the registry.
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@redhat-chai-bot, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

couldn't prepare candidate: couldn't get ref: net/http: request canceled (Client.Timeout or context cancellation while reading body)
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@smg247

smg247 commented Jul 17, 2026

Copy link
Copy Markdown
Member

/ok-to-test

@openshift-ci openshift-ci Bot added the ok-to-test Indicates a non-member PR verified by an org member that is safe to test. label Jul 17, 2026
@smg247

smg247 commented Jul 17, 2026

Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 17, 2026
@openshift-ci

openshift-ci Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: redhat-chai-bot, smg247

The full list of commands accepted by this bot can be found here.

The pull request process is described 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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 17, 2026
@openshift-ci

openshift-ci Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

@redhat-chai-bot: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@smg247

smg247 commented Jul 17, 2026

Copy link
Copy Markdown
Member

/pj-rehearse skip

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@smg247: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jul 17, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 8a0fc1b into openshift:main Jul 17, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants