-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
🌱 kcp: allow unsetting etcd.local, etcd.external and dns #12065
base: main
Are you sure you want to change the base?
🌱 kcp: allow unsetting etcd.local, etcd.external and dns #12065
Conversation
Note: have to take a look at the following issue when using ClusterClass:
spec:
kubeadmConfigSpec:
clusterConfiguration:
...
etcd:
local:
extraArgs:
v: "4"
...
spec:
kubeadmConfigSpec:
clusterConfiguration:
...
etcd:
local: {}
... Results in the following TopologyReconciled condition: - lastTransitionTime: "2025-04-07T11:20:20Z"
message: 'error reconciling the Cluster topology: failed to create patch helper
for KubeadmControlPlane default/in-memory-21179-td88v: server side apply dry-run
failed for modified object: KubeadmControlPlane.controlplane.cluster.x-k8s.io
"in-memory-21179-td88v" is invalid: spec.kubeadmConfigSpec.clusterConfiguration.etcd:
Invalid value: "null": spec.kubeadmConfigSpec.clusterConfiguration.etcd in
body must be of type object: "null"'
observedGeneration: 4
reason: ReconcileFailed
status: "False"
type: TopologyReconciled |
eea6864
to
ab6c287
Compare
[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 |
ab6c287
to
43ce145
Compare
/test help |
@chrischdi: The specified target(s) for
The following commands are available to trigger optional jobs:
Use
In response to this:
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. |
/test pull-cluster-api-e2e-conformance-main |
/assign @fabriziopandini |
What this PR does / why we need it:
All fields for these structs are already mutable. This PR allows unsetting the fields too.
Context: https://kubernetes.slack.com/archives/C8TSNPY4T/p1743103086684469
Note: unsetting one of the following paths using SSA might fail with the following error, when SSA apply uses v1beta1 instead of v1beta2, client side apply works just fine:
.spec.kubeadmConfigSpec.clusterConfiguration.dns
.spec.kubeadmConfigSpec.clusterConfiguration.etcd.local
Error example from using ClusterClass and the topology controller hitting this error: