Skip to content

feat(openstack-cloud-controller-manager): add option to change deployment type - #3043

Open
cwrau wants to merge 1 commit into
kubernetes:masterfrom
cwrau:feat/deployment-type
Open

cwrau wants to merge 1 commit into
kubernetes:masterfrom
cwrau:feat/deployment-type

Conversation

@cwrau

@cwrau cwrau commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

This PR allows the user to choose between DaemonSet and Deployment.

Release note:

feat(openstack-cloud-controller-manager): allow user to choose between DaemonSet and Deployment

@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 Jan 19, 2026
@k8s-ci-robot

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 zetaab 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

@k8s-ci-robot
k8s-ci-robot requested review from dulek and kayrus January 19, 2026 09:53
@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 Jan 19, 2026
@k8s-ci-robot

Copy link
Copy Markdown
Contributor

Hi @cwrau. 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.

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.

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jan 19, 2026
@kayrus

kayrus commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

@cwrau thanks for the PR. Could you please describe your use case for the daemonset deployment style? I'd set the default style to be a deployment unless daemonset is set. Also please fix chart issues found by lint.

@cwrau
cwrau force-pushed the feat/deployment-type branch from 084e5aa to 7d107f1 Compare January 22, 2026 08:16
@cwrau

cwrau commented Jan 22, 2026

Copy link
Copy Markdown
Contributor Author

@cwrau thanks for the PR. Could you please describe your use case for the daemonset deployment style? I'd set the default style to be a deployment unless daemonset is set. Also please fix chart issues found by lint.

I just wanted to keep the existing concept, so users don't have to do anything to keep the current setup.

I can set the default to deployment, but I imagine that that would kinda be a breaking change.

@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jan 22, 2026
@kayrus

kayrus commented Jan 22, 2026

Copy link
Copy Markdown
Contributor

@cwrau I never used helm-charts from this repo, and I just realized that it was always a DaemonSet, this is a surprise for me. All OCCM deployments that I worked with were always a Deployment. And I wonder what was the reason to be initially a DaemonSet.

@cwrau
cwrau force-pushed the feat/deployment-type branch from 7d107f1 to dde1c24 Compare April 21, 2026 19:25
@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Apr 21, 2026
@k8s-triage-robot

Copy link
Copy Markdown

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Close this PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@kubernetes-prow kubernetes-prow Bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 20, 2026
@cwrau

cwrau commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

Still waiting for review...

@stephenfin

Copy link
Copy Markdown
Member

/remove-lifecycle stale

@kubernetes-prow kubernetes-prow Bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 7, 2026
@stephenfin

Copy link
Copy Markdown
Member

My gut suggests this is too large a "knob", and that if we've a good reason to use a Deployment rather than a DaemonSet, we should just make that change for everyone. We have just merged #3194 to change how we release Helm Charts, so that we no longer release from master except when releasing a new release minor release (which is really a "major" version, e.g. v1.37.0). With this change, I think we are okay to make this change and document it in a release note?

Regarding the actual change, it seems both are fine. I guess a Deployment is less wasteful in larger clusters since there's no need to run CCM on a few dozen (or more) nodes.

@stephenfin

Copy link
Copy Markdown
Member

Also note that if you rebase this branch then the lint failure will be removed. We no longer expect people to bump the chart version on change to master

@cwrau
cwrau force-pushed the feat/deployment-type branch from dde1c24 to d694af4 Compare September 14, 2026 08:05
@kayrus

kayrus commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

/lgtm
/approve
/hold

@kubernetes-prow kubernetes-prow Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 14, 2026
@kubernetes-prow kubernetes-prow Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 14, 2026
@kubernetes-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kayrus

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

@kubernetes-prow kubernetes-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 14, 2026

# Set nodeSelector where the controller should run, i.e. controlplane nodes
# Set nodeSelector where the controller should run, i.e. controlplane nodes (used for DaemonSet)
nodeSelector:

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.

can we use a single nodeSelector values for both daemonset and deployment?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It's been a while, but I don't think so, because one can't remove a value from the helm default values. And with a deployment I would need an empty nodeSelector (at least that's part of the use case for this change).

Let me check that again

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah, just checked, without this split field gitops users (at least for flux) can't clear the nodeSelector, as that would only work by setting it to null but setting fields to null in yaml is dropped by the apiServer and so never reaches helm inside of flux.

@stephenfin

Copy link
Copy Markdown
Member

/ok-to-test

Just clear that, but I'd still like to figure out an answer to my earlier question #3043 (comment)

@kubernetes-prow kubernetes-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 Sep 14, 2026
@cwrau

cwrau commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

/ok-to-test

Just clear that, but I'd still like to figure out an answer to my earlier question #3043 (comment)

Is that question for me? Then I don't understand the question 😅

@stephenfin

Copy link
Copy Markdown
Member

/ok-to-test
Just clear that, but I'd still like to figure out an answer to my earlier question (earlier comment)

Is that question for me? Then I don't understand the question 😅

Probably more @kayrus than you, but to restate the question: do we need an option, or can we can just update the chart to use Deployment instead of DaemonSet?

@cwrau

cwrau commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

/ok-to-test
Just clear that, but I'd still like to figure out an answer to my earlier question (earlier comment)

Is that question for me? Then I don't understand the question 😅

Probably more @kayrus than you, but to restate the question: do we need an option, or can we can just update the chart to use Deployment instead of DaemonSet?

Mh, good question. I just assumed that a daemonset was the preferred way to deploy this.

Also, making it an option instead of changing it isn't a breaking change.

We already do a flux postRenderer to change the kind to Deployment, so as far as I can tell there is no technical requirement for it to be a daemonset 🤔

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm "Looks good to me", 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. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants