From 04575f01b0426f8494d17dc85d47200fcdef3a5e Mon Sep 17 00:00:00 2001 From: Yu-Ju Hong Date: Mon, 11 Feb 2019 11:24:58 -0800 Subject: [PATCH] kubelet: promote OS & arch labels to GA kubelet now applies both the beta and the GA labels to ensure backward compatibility. --- pkg/kubelet/apis/well_known_labels.go | 6 +++--- pkg/kubelet/kubelet_node_status.go | 8 ++++---- pkg/kubelet/kubelet_node_status_test.go | 8 ++++---- staging/src/k8s.io/api/core/v1/well_known_labels.go | 10 +++++----- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pkg/kubelet/apis/well_known_labels.go b/pkg/kubelet/apis/well_known_labels.go index b87c4bf7d378..2714e84515f6 100644 --- a/pkg/kubelet/apis/well_known_labels.go +++ b/pkg/kubelet/apis/well_known_labels.go @@ -36,12 +36,12 @@ var kubeletLabels = sets.NewString( v1.LabelZoneFailureDomain, v1.LabelZoneRegion, v1.LabelInstanceType, + v1.LabelOSStable, + v1.LabelArchStable, + v1.LabelOS, v1.LabelArch, - v1.LegacyLabelOS, - v1.LegacyLabelArch, - labelZoneFailureDomainGA, labelZoneRegionGA, labelInstanceTypeGA, diff --git a/pkg/kubelet/kubelet_node_status.go b/pkg/kubelet/kubelet_node_status.go index e584fc126a29..662d2884ef8f 100644 --- a/pkg/kubelet/kubelet_node_status.go +++ b/pkg/kubelet/kubelet_node_status.go @@ -148,10 +148,10 @@ func (kl *Kubelet) updateDefaultLabels(initialNode, existingNode *v1.Node) bool v1.LabelZoneFailureDomain, v1.LabelZoneRegion, v1.LabelInstanceType, + v1.LabelOSStable, + v1.LabelArchStable, v1.LabelOS, v1.LabelArch, - v1.LegacyLabelOS, - v1.LegacyLabelArch, } needsUpdate := false @@ -215,10 +215,10 @@ func (kl *Kubelet) initialNode() (*v1.Node, error) { Name: string(kl.nodeName), Labels: map[string]string{ v1.LabelHostname: kl.hostname, + v1.LabelOSStable: goruntime.GOOS, + v1.LabelArchStable: goruntime.GOARCH, v1.LabelOS: goruntime.GOOS, v1.LabelArch: goruntime.GOARCH, - v1.LegacyLabelOS: goruntime.GOOS, - v1.LegacyLabelArch: goruntime.GOARCH, }, }, Spec: v1.NodeSpec{ diff --git a/pkg/kubelet/kubelet_node_status_test.go b/pkg/kubelet/kubelet_node_status_test.go index 75a43b513f19..d0ee37f276b6 100644 --- a/pkg/kubelet/kubelet_node_status_test.go +++ b/pkg/kubelet/kubelet_node_status_test.go @@ -1046,10 +1046,10 @@ func TestRegisterWithApiServer(t *testing.T) { Name: testKubeletHostname, Labels: map[string]string{ v1.LabelHostname: testKubeletHostname, + v1.LabelOSStable: goruntime.GOOS, + v1.LabelArchStable: goruntime.GOARCH, v1.LabelOS: goruntime.GOOS, v1.LabelArch: goruntime.GOARCH, - v1.LegacyLabelOS: goruntime.GOOS, - v1.LegacyLabelArch: goruntime.GOARCH, }, }, }, nil @@ -1093,10 +1093,10 @@ func TestTryRegisterWithApiServer(t *testing.T) { ObjectMeta: metav1.ObjectMeta{ Labels: map[string]string{ v1.LabelHostname: testKubeletHostname, + v1.LabelOSStable: goruntime.GOOS, + v1.LabelArchStable: goruntime.GOARCH, v1.LabelOS: goruntime.GOOS, v1.LabelArch: goruntime.GOARCH, - v1.LegacyLabelOS: goruntime.GOOS, - v1.LegacyLabelArch: goruntime.GOARCH, }, }, } diff --git a/staging/src/k8s.io/api/core/v1/well_known_labels.go b/staging/src/k8s.io/api/core/v1/well_known_labels.go index 8b05c0ce7d01..9028f90fa296 100644 --- a/staging/src/k8s.io/api/core/v1/well_known_labels.go +++ b/staging/src/k8s.io/api/core/v1/well_known_labels.go @@ -23,14 +23,14 @@ const ( LabelInstanceType = "beta.kubernetes.io/instance-type" - LabelOS = "kubernetes.io/os" - LabelArch = "kubernetes.io/arch" // The OS/Arch labels are promoted to GA in 1.14. kubelet applies both beta // and GA labels to ensure backward compatibility. - // TODO: stop applying the beta OS/Arch labels in Kubernetes 1.17. - LegacyLabelOS = "beta.kubernetes.io/os" - LegacyLabelArch = "beta.kubernetes.io/arch" + // TODO: stop applying the beta OS/Arch labels in Kubernetes 1.18. + LabelOSStable = "kubernetes.io/os" + LabelArchStable = "kubernetes.io/arch" + LabelOS = "beta.kubernetes.io/os" + LabelArch = "beta.kubernetes.io/arch" // LabelNamespaceSuffixKubelet is an allowed label namespace suffix kubelets can self-set ([*.]kubelet.kubernetes.io/*) LabelNamespaceSuffixKubelet = "kubelet.kubernetes.io" // LabelNamespaceSuffixNode is an allowed label namespace suffix kubelets can self-set ([*.]node.kubernetes.io/*)