-
Notifications
You must be signed in to change notification settings - Fork 233
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
Initial OpenStack external CCM setup. #615
Initial OpenStack external CCM setup. #615
Conversation
As the internal OpenStack code in the controller manager will be gone soon, we'll need to switch to the external cloud controller manager, this commit adds the configuration for it. Signed-off-by: Daniël Franke <daniel@ams-sec.org>
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 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 |
Hi @ainmosni. Thanks for your PR. PRs from untrusted users cannot be marked as trusted with 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/test-infra repository. |
I forgot to add the NodeSelector and the SecurityContext, this commit adds them. Signed-off-by: Daniël Franke <daniel@ams-sec.org>
@xmudrii Yeah the migration will be painful but as there's no real development on the in-tree one and the in-tree code will be removed sooner rather later, it might be worth to pull the bandaid off sooner rather than later. I can definitely take a look at the OpenStack side to help with the migration options. |
AFAIK, timeline is set to 1.17.x
Indeed, that's why we create #616.
There is a problem with openstack CCM. Its releases are bound to specific minor kubernetes versions. So it's not that easy to jump on it and we need to take into account older version (since we support k8s starting from 1.13). |
Yeah I kept that in mind in this patch, AFAICS they only started to tag their images since 1.15, they used One thing that I didn't put in this patch but we should probably add is support for the cinder CSI plugin, so that PVCs keep working. |
OK, I've got a confirmation that it's safe to use OS CCM 1.15 in 1.13, 1.14 and 1.15 clusters (but no 1.12, but since we don't support 1.12 anyway, we are safe). |
@kron4eg Yeah that's what I gathered from their examples as well. It's a bit more complicated with cinder-csi (which isn't in this PR) as the CSI sidecar containers are k8s version specific. I was thinking about adding those, but changed my mind to keep the PR smaller. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems this PR lack the handling of in-tree VS out-of-tree cloud providers.
I mean, we have
kubeone/pkg/apis/kubeone/helpers.go
Line 59 in e05414f
func (p CloudProviderSpec) CloudProviderInTree() bool { |
So we need a way (which we currently don't have) to handle situation when in-tree
cloud-provider is requested (in config) but also external: true
. In such situation we believe we should resort to provider CCM (if available).
But all of this definitely is out of scope of this PR because it required refactoring.
Signed-off-by: Daniël Franke <daniel@ams-sec.org>
Signed-off-by: Daniël Franke <daniel@ams-sec.org>
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with /lifecycle stale |
/remove-lifecycle stale |
Hi all, is this PR going to happen "soon" or what's the best actual solution on this topic? Thanks |
@ivomarino yes, in the nearest future, I'd say. I'm working on integrating changes from this PR. |
What this PR does / why we need it:
Adds support for the external OpenStack cloud controll manager.
As the internal OpenStack code in the controller manager
will be gone soon, we'll need to switch to the external cloud controller
manager, this PR adds the configuration for it.