Skip to content

[occm] Target control-plane nodes and tolerate CriticalAddonsOnly taint #2902

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

fakman0
Copy link

@fakman0 fakman0 commented Jun 3, 2025

What this PR does / why we need it:
The OpenStack Cloud Controller Manager is a critical component of the Kubernetes control plane when running on OpenStack. It should ideally run on control-plane nodes for better isolation, security, and to fulfill its role effectively. These changes ensure that OCCM pods:

  • Are scheduled on the intended control-plane nodes.
  • Can operate on nodes protected by the CriticalAddonsOnly=true:NoExecute taint, as OCCM is considered a critical add-on.
  • This leads to a more robust and correctly configured deployment of OCCM.

Which issue this PR fixes(if applicable):
fixes #2093
Addresses an issue where OCCM may fail to schedule on control-plane nodes due to the CriticalAddonsOnly taint.

Special notes for reviewers:

  • Please verify that the updated nodeSelector (node-role.kubernetes.io/control-plane: "true") aligns with the common labeling scheme for control-plane nodes in your environments.
  • The added toleration for CriticalAddonsOnly=true:NoExecute is based on taints commonly found on control-plane nodes in various Kubernetes distributions (like RKE2). If other NoExecute taints specific to control-plane nodes are present in a particular setup, they might also need corresponding tolerations.
  • This PR assumes that deploying OCCM on control-plane nodes is the desired architecture.

Release note:


1. [occm] Fixed OCCM scheduling on control-plane nodes by correcting the nodeSelector and adding toleration for the `CriticalAddonsOnly=true:NoExecute` taint.

@k8s-ci-robot k8s-ci-robot added the release-note Denotes a PR that will be considered when it comes time to generate release notes. label Jun 3, 2025
Copy link

linux-foundation-easycla bot commented Jun 3, 2025

CLA Signed


The committers listed above are authorized under a signed CLA.

@k8s-ci-robot
Copy link
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 kayrus for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@k8s-ci-robot k8s-ci-robot requested review from stephenfin and zetaab June 3, 2025 11:05
@k8s-ci-robot k8s-ci-robot added the cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. label Jun 3, 2025
@k8s-ci-robot
Copy link
Contributor

Welcome @fakman0!

It looks like this is your first PR to kubernetes/cloud-provider-openstack 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes/cloud-provider-openstack has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jun 3, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @fakman0. Thanks for your PR.

I'm waiting for a kubernetes 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.

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.

@k8s-ci-robot k8s-ci-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Jun 3, 2025
@k8s-ci-robot
Copy link
Contributor

@fakman0: Cannot trigger testing until a trusted user reviews the PR and leaves an /ok-to-test message.

In response to this:

/test all

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
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. 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.

[occm] - RKE cluster dont create pods
2 participants