From 17d8928dc9e8c263cfd96310ac99abe5d6f8061a Mon Sep 17 00:00:00 2001 From: Andrew Sy Kim Date: Fri, 8 Nov 2019 10:43:40 -0500 Subject: [PATCH] kubelet: add unit tests for backfilling stable os/arch/zone/region/instance-type labels Signed-off-by: Andrew Sy Kim --- pkg/kubelet/kubelet_node_status_test.go | 46 +++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/pkg/kubelet/kubelet_node_status_test.go b/pkg/kubelet/kubelet_node_status_test.go index 4041838fbbd..cab0ea66079 100644 --- a/pkg/kubelet/kubelet_node_status_test.go +++ b/pkg/kubelet/kubelet_node_status_test.go @@ -1760,6 +1760,52 @@ func TestUpdateDefaultLabels(t *testing.T) { kubeletapis.LabelArch: "new-arch", }, }, + { + name: "backfill required for new stable labels for os/arch/zones/regions/instance-type", + initialNode: &v1.Node{ + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + v1.LabelHostname: "new-hostname", + v1.LabelZoneFailureDomainStable: "new-zone-failure-domain", + v1.LabelZoneRegionStable: "new-zone-region", + v1.LabelZoneFailureDomain: "new-zone-failure-domain", + v1.LabelZoneRegion: "new-zone-region", + v1.LabelInstanceTypeStable: "new-instance-type", + v1.LabelInstanceType: "new-instance-type", + kubeletapis.LabelOS: "new-os", + kubeletapis.LabelArch: "new-arch", + v1.LabelOSStable: "new-os", + v1.LabelArchStable: "new-arch", + }, + }, + }, + existingNode: &v1.Node{ + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + v1.LabelHostname: "new-hostname", + v1.LabelZoneFailureDomain: "new-zone-failure-domain", + v1.LabelZoneRegion: "new-zone-region", + v1.LabelInstanceType: "new-instance-type", + kubeletapis.LabelOS: "new-os", + kubeletapis.LabelArch: "new-arch", + }, + }, + }, + needsUpdate: true, + finalLabels: map[string]string{ + v1.LabelHostname: "new-hostname", + v1.LabelZoneFailureDomainStable: "new-zone-failure-domain", + v1.LabelZoneRegionStable: "new-zone-region", + v1.LabelZoneFailureDomain: "new-zone-failure-domain", + v1.LabelZoneRegion: "new-zone-region", + v1.LabelInstanceTypeStable: "new-instance-type", + v1.LabelInstanceType: "new-instance-type", + kubeletapis.LabelOS: "new-os", + kubeletapis.LabelArch: "new-arch", + v1.LabelOSStable: "new-os", + v1.LabelArchStable: "new-arch", + }, + }, } for _, tc := range cases {