-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Labels
area/provider/control-plane-kubeadmIssues or PRs related to KCPIssues or PRs related to KCPkind/bugCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.needs-priorityIndicates an issue lacks a `priority/foo` label and requires one.Indicates an issue lacks a `priority/foo` label and requires one.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.Indicates an issue or PR lacks a `triage/foo` label and requires one.
Description
What steps did you take and what happened?
preconditions:
- capi v1.10.3
- a managed k8s cluster with
apiVersion: controlplane.cluster.x-k8s.io/v1beta1and with some kubeletExtraArgs, e.g. in.spec.kubeadmConfigSpec.initConfiguration.nodeRegistration.kubeletExtraArgs
step-by-step:
- update capi to v1.11.4
- update managed cluster's KubeadmControlPlane to
apiVersion: controlplane.cluster.x-k8s.io/v1beta2 - migrate KubeadmControlPlane's kubeletExtraArgs to slices (as needed by v1beta2) and apply
result:
for some clusters, we then receive the error message:
KubeadmControlPlane.controlplane.cluster.x-k8s.io "davinci-1" is invalid: [spec.kubeadmConfigSpec.initConfiguration.nodeRegistration.kubeletExtraArgs: Invalid value: "array": kubeletExtraArgs name must be unique, spec.kubeadmConfigSpec.joinConfiguration.nodeRegistration.kubeletExtraArgs: Invalid value: "array": kubeletExtraArgs name must be unique]
What did you expect to happen?
The mentioned kubeletExtraArgs follow the new syntax of being an array. We expect a successful apply.
Cluster API version
v1.11.4
Kubernetes version
v1.33.4
(both, management and managed cluster)
Anything else you would like to add?
KubeadmControlPlane CRD is up2date:
> k explain KubeadmControlPlane.spec.kubeadmConfigSpec.initConfiguration.nodeRegistration.kubeletExtraArgs
GROUP: controlplane.cluster.x-k8s.io
KIND: KubeadmControlPlane
VERSION: v1beta2
FIELD: kubeletExtraArgs <[]Object>
KubeadmControlPlane Object is up2date too, and currently set kubeletExtraArgs:
> k get kubeadmcontrolplane davinci-1 -o yaml | yq '.apiVersion,.spec.kubeadmConfigSpec.initConfiguration.nodeRegistration.kubeletExtraArgs'
controlplane.cluster.x-k8s.io/v1beta2
- name: cloud-provider
value: external
- name: container-log-max-files
value: "5"
- name: container-log-max-size
value: 10Mi
- name: event-qps
value: "0"
- name: feature-gates
value: UserNamespacesSupport=true
- name: node-ip
value: '{{ ds.meta_data.local_ipv4 }}'
- name: protect-kernel-defaults
value: "true"
- name: tls-cipher-suites
value: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256
Label(s) to be applied
/kind bug
/area provider/control-plane-kubeadm
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area/provider/control-plane-kubeadmIssues or PRs related to KCPIssues or PRs related to KCPkind/bugCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.needs-priorityIndicates an issue lacks a `priority/foo` label and requires one.Indicates an issue lacks a `priority/foo` label and requires one.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.Indicates an issue or PR lacks a `triage/foo` label and requires one.