Skip to content

Conversation

@tthvo
Copy link
Member

@tthvo tthvo commented Dec 2, 2025

Remove the --pod-infra-container-image flag from the bootstrap kubelet startup script. This change only applies to bootstrap node as cluster nodes are managed by MCO.

Background: The --pod-infra-container-image kubelet flag has been deprecated and will be fully removed in k8s v1.35. Attempting to set this flag will result in kubelet crashing.

Remove the --pod-infra-container-image flag from the bootstrap kubelet
startup script. This change only applies to bootstrap node as cluster
nodes are managed by MCO.

Background: The --pod-infra-container-image kubelet flag has been
deprecated and will be fully removed in k8s v1.35. Attempting to set
this flag will result in kubelet crashing.
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Dec 2, 2025
@openshift-ci-robot
Copy link
Contributor

@tthvo: This pull request explicitly references no jira issue.

In response to this:

Remove the --pod-infra-container-image flag from the bootstrap kubelet startup script. This change only applies to bootstrap node as cluster nodes are managed by MCO.

Background: The --pod-infra-container-image kubelet flag has been deprecated and will be fully removed in k8s v1.35. Attempting to set this flag will result in kubelet crashing.

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 openshift-eng/jira-lifecycle-plugin repository.

@tthvo
Copy link
Member Author

tthvo commented Dec 2, 2025

/cc @sadasu @zaneb

@openshift-ci openshift-ci bot requested review from sadasu and zaneb December 2, 2025 21:57
@tthvo
Copy link
Member Author

tthvo commented Dec 2, 2025

I do see a comment 👇

# Need to set the --pod-infra-container-image flag for the kubelet to point to the pause image from the payload
# So we add MACHINE_CONFIG_INFRA_IMAGE to an environment file and source that in the kubelet service

Since we remove this flag, how will the pause image be set to match the release payload 🤔?

@tthvo
Copy link
Member Author

tthvo commented Dec 2, 2025

Since we remove this flag, how will the pause image be set to match the release payload 🤔?

Hmm, according to upstream conversation, it's been no-op for a long time and is now handled via crio configurations: kubernetes/kubernetes#133778 (comment)

We see we already did that 👍

pause_image = "$MACHINE_CONFIG_INFRA_IMAGE"

@tthvo
Copy link
Member Author

tthvo commented Dec 2, 2025

/test e2e-azure-ovn e2e-vsphere-ovn e2e-gcp-ovn e2e-metal-ipi-ovn

@zaneb
Copy link
Member

zaneb commented Dec 2, 2025

https://kubernetes.io/docs/setup/production-environment/container-runtimes/#override-pause-image-cri-o confirms that this is configured through CRI-O now.
/approve

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 2, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: zaneb

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

The pull request process is described here

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 Dec 2, 2025
@tthvo
Copy link
Member Author

tthvo commented Dec 2, 2025

From e2e runs without this PR, for example ci/prow/e2e-aws-ovn, kubelet logs complains about the deprecated flag:

kubelet.sh[2878]: Flag --pod-infra-container-image has been deprecated, will be removed in 1.35. Image garbage collector will get sandbox image information from CRI.
kubelet.sh[2878]: I1202 20:27:32.284089    2878 server.go:213] "--pod-infra-container-image will not be pruned by the image garbage collector in kubelet and should also be set in the remote runtime"
...

kubelet.sh[2878]: I1202 20:27:32.284569    2878 flags.go:64] FLAG: --pod-infra-container-image="quay-proxy.ci.openshift.org/openshift/ci@sha256:d5b00b0682c1293450366e6fd2bfc93da4ae677567c73e1346eb63ec5c814f47"

From e2e run in this PR, for example ci/prow/e2e-aws-ovn, we can see the kubelet log shows the flag unset:

kubelet.sh[2837]: I1202 22:55:29.542286    2837 flags.go:64] FLAG: --pod-infra-container-image=""

In both cases, the install step succeeded.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 3, 2025

@tthvo: all tests passed!

Full PR test history. Your PR dashboard.

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.

@sadasu
Copy link
Contributor

sadasu commented Dec 4, 2025

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Dec 4, 2025
@patrickdillon
Copy link
Contributor

Excellent!
Kubernetes 1.35 is for OCP 4.22
so
/hold
for branching

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 5, 2025
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. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants