-
Notifications
You must be signed in to change notification settings - Fork 261
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
✨ bastion should be mutable #1298
Comments
cc @kopiczko / @erkanerol |
already in the description :) |
Just for the context why we would like to have it: We have plenty clusters in different providers and we have bastions enabled at all times to make debugging possible. We have tooling built to be able to SSH to a cluster. The tooling doesn't know about the provider and we would like it to stay that way. And bastion enabling in CAPO is very provider-specific thing. We use immutable OS for bastions and of course upgrading the OS for bastion is very important. We are managing clusters with GitOps (at least some of them). Upgrading bastion with GitOps as of right now is 3 commits:
That isn't very declarative approach and it doesn't fit GitOps well. That's why we'd like to have the feature. I don't think it hurts. If there are folks who want to keep bastions disabled they still can. It doesn't introduce any breaking change in any way AFAICT. |
I am +1 to avoid such manual 3 steps in order to do an update to the cluster components like bastion is your use case related to OS upgrade? which is older OS is immutable then sometimes later you want to upgrade the OS image due to compliance etc then gitops changes the image to newer one then you expect to recreate the bastion from new? |
So I think a possible solution is to check all bastion specs against the current bastion. If something has changed a re-creation should be triggered, leaning on this comment from Vince. I can to take a look at it |
Yes once image is changed we'd expect bastion to be recreated. Thanks @tobiasgiese and @jichenjc for looking into this! |
/kind feature
Describe the solution you'd like
tl;dr: changing values in
OpenStackCluster.Spec.Bastion
should be possible without doing the disable/enable with new spec fooWe know the fact, that it's currently possible to e.g. change the image of the bastion host by disabling the host and afterwards re-enabling the host with the new spec again.
But this circumstance doesn't really fit in a
git-ops
approach.From a admin/user perspective It should be possible to change values in
OpenStackCluster.Spec.Bastion.Instance
+OpenStackCluster.Spec.Bastion.AvailabilityZone
and rely on CAPO that the bastion host in the desired state got created.Anything else you would like to add:
From what i've seen so far:
most of the discussion regarding the current implementation was done in ✨ Allow webhook changes to OpenStackCluster.Spec.Bastion #1070 and docs: Explain OpenStackCluster.Spec.Bastion mutability in CRD #1180
Matthew already proposed a possible solution in docs: Explain OpenStackCluster.Spec.Bastion mutability in CRD #1180 (at first glance i can't see anything bad about it):
discussion in ✨ Allow webhook changes to OpenStackCluster.Spec.Bastion #1070 starts here
Matthew:
Tobias:
Matthew:
The text was updated successfully, but these errors were encountered: