kubeadm: upload the ClusterConfiguration during the upgrade

During the upgrade process, `kubeadm` will take the current
`ClusterConfiguration`, update the `KubernetesVersion` to the latest
version, and call to `UploadConfiguration`.

This change makes sure that when the mutation happens, not only the
`ClusterStatus` is mutated, but the `ClusterConfiguration` object
inside the `kubeadm-config` ConfigMap as well; it will contain the
new `KubernetesVersion`.
This commit is contained in:
Rafael Fernández López 2019-05-06 17:54:46 +02:00
parent ad57e7408d
commit b6f4bb349b
No known key found for this signature in database
GPG Key ID: 8902294E78418CF9

View File

@ -101,6 +101,10 @@ func UploadConfiguration(cfg *kubeadmapi.InitConfiguration, client clientset.Int
kubeadmconstants.ClusterStatusConfigMapKey: string(clusterStatusYaml),
},
}, func(cm *v1.ConfigMap) error {
// Upgrade will call to UploadConfiguration with a modified KubernetesVersion reflecting the new
// Kubernetes version. In that case, the mutation path will take place.
cm.Data[kubeadmconstants.ClusterConfigurationConfigMapKey] = string(clusterConfigurationYaml)
// Mutate the ClusterStatus now
return mutateClusterStatus(cm, func(cs *kubeadmapi.ClusterStatus) error {
// Handle a nil APIEndpoints map. Should only happen if someone manually
// interacted with the ConfigMap.