Skip to content

Tolerate uninitialized taint in CCM deployment - #1517

Merged
ske-prow[bot] merged 1 commit into
stackitcloud:mainfrom
corioliskraft:fix/ccm-tolerate-uninitialized-taint
Aug 21, 2026
Merged

Tolerate uninitialized taint in CCM deployment#1517
ske-prow[bot] merged 1 commit into
stackitcloud:mainfrom
corioliskraft:fix/ccm-tolerate-uninitialized-taint

Conversation

@corioliskraft

Copy link
Copy Markdown
Contributor

How to categorize this PR?

/kind bug

What this PR does / why we need it:

Kubelet puts the taint node.cloudprovider.kubernetes.io/uninitialized:NoSchedule on each node when it runs with --cloud-provider=external. deploy/cloud-controller-manager/deployment.yaml has no tolerations block, so the scheduler cannot place the pod. On a new cluster all nodes have this taint, and the pod stays in the Pending condition. The report shows this message:

Warning  FailedScheduling  1s  default-scheduler  0/3 nodes are available: 3 node(s) had untolerated taint(s).

This pull request adds a toleration for this one taint. The operator Exists matches the taint with any value. The pod stays sensitive to all other taints. This is different from deploy/csi-plugin/nodeplugin.yaml, which tolerates each taint, because a node plugin must operate on every node.

Which issue(s) this PR fixes:
Part of #1162

The issue reports two defects. This pull request corrects the first one. The second defect is the image tag release-v1.34, which is not in the registry. That defect needs a decision from the maintainers, and it is not part of this pull request.

Special notes for your reviewer:

The deployment starts the CCM with --controllers=service-lb-controller. This flag keeps cloud-node-controller off, and cloud-node-controller is the controller that removes this taint. So this change lets the CCM start on a tainted node, but it does not remove the taint from the node.

kubectl kustomize deploy/cloud-controller-manager builds correctly, and the toleration is in the output. make verify gives 0 lint issues and all unit tests pass.

Breaking changes:

None.

Kubelet sets the taint node.cloudprovider.kubernetes.io/uninitialized
on each node when it runs with --cloud-provider=external. The
deployment has no tolerations block, so the scheduler cannot place the
pod, and it stays Pending on a new cluster.

Add a toleration for this taint only. The operator Exists matches the
taint with any value.
@ske-prow ske-prow Bot added kind/bug Bug needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Aug 20, 2026
@ske-prow

ske-prow Bot commented Aug 20, 2026

Copy link
Copy Markdown

Hi @corioliskraft. Thanks for your PR.

I'm waiting for a stackitcloud member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@ske-prow ske-prow Bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Aug 20, 2026
@dergeberl

Copy link
Copy Markdown
Member

/ok-to-test

@ske-prow ske-prow Bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Aug 21, 2026

@dergeberl dergeberl left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the fix! We also have an idea for the other issue with the image tag, we will write later in the issue.

@ske-prow

ske-prow Bot commented Aug 21, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dergeberl

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

@ske-prow ske-prow Bot added lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Aug 21, 2026
@ske-prow

ske-prow Bot commented Aug 21, 2026

Copy link
Copy Markdown

LGTM label has been added.

DetailsGit tree hash: eb3eea2c8c71b75bdb1925657065688ccc53aa5e

@dergeberl

Copy link
Copy Markdown
Member

/cherry-pick release-v1.34
/cherry-pick release-v1.35
/cherry-pick release-v1.36

@stackit-ske

Copy link
Copy Markdown

@dergeberl: once the present PR merges, I will cherry-pick it on top of release-v1.34, release-v1.35, release-v1.36 in new PRs and assign them to you.

Details

In response to this:

/cherry-pick release-v1.34
/cherry-pick release-v1.35
/cherry-pick release-v1.36

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.

@ske-prow
ske-prow Bot merged commit 150fb21 into stackitcloud:main Aug 21, 2026
2 checks passed
@stackit-ske

Copy link
Copy Markdown

@dergeberl: new pull request created: #1528

Details

In response to this:

/cherry-pick release-v1.34
/cherry-pick release-v1.35
/cherry-pick release-v1.36

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.

@stackit-ske

Copy link
Copy Markdown

@dergeberl: new pull request created: #1529

Details

In response to this:

/cherry-pick release-v1.34
/cherry-pick release-v1.35
/cherry-pick release-v1.36

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.

@stackit-ske

Copy link
Copy Markdown

@dergeberl: new pull request created: #1530

Details

In response to this:

/cherry-pick release-v1.34
/cherry-pick release-v1.35
/cherry-pick release-v1.36

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.

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. kind/bug Bug 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. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants