mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 13:37:30 +00:00
cloud node controller: apply stable instance-type label with backfill to existing nodes
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
This commit is contained in:
parent
17d8928dc9
commit
55e40b8dc1
@ -70,6 +70,14 @@ var labelReconcileInfo = []struct {
|
|||||||
secondaryKey: v1.LabelZoneRegionStable,
|
secondaryKey: v1.LabelZoneRegionStable,
|
||||||
ensureSecondaryExists: true,
|
ensureSecondaryExists: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// Reconcile the beta and the stable instance-type label using the beta label as
|
||||||
|
// the source of truth
|
||||||
|
// TODO: switch the primary key to GA labels in v1.21
|
||||||
|
primaryKey: v1.LabelInstanceType,
|
||||||
|
secondaryKey: v1.LabelInstanceTypeStable,
|
||||||
|
ensureSecondaryExists: true,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
var UpdateNodeSpecBackoff = wait.Backoff{
|
var UpdateNodeSpecBackoff = wait.Backoff{
|
||||||
@ -375,6 +383,8 @@ func (cnc *CloudNodeController) initializeNode(ctx context.Context, node *v1.Nod
|
|||||||
} else if instanceType != "" {
|
} else if instanceType != "" {
|
||||||
klog.V(2).Infof("Adding node label from cloud provider: %s=%s", v1.LabelInstanceType, instanceType)
|
klog.V(2).Infof("Adding node label from cloud provider: %s=%s", v1.LabelInstanceType, instanceType)
|
||||||
curNode.ObjectMeta.Labels[v1.LabelInstanceType] = instanceType
|
curNode.ObjectMeta.Labels[v1.LabelInstanceType] = instanceType
|
||||||
|
klog.V(2).Infof("Adding node label from cloud provider: %s=%s", v1.LabelInstanceTypeStable, instanceType)
|
||||||
|
curNode.ObjectMeta.Labels[v1.LabelInstanceTypeStable] = instanceType
|
||||||
}
|
}
|
||||||
|
|
||||||
if zones, ok := cnc.cloud.Zones(); ok {
|
if zones, ok := cnc.cloud.Zones(); ok {
|
||||||
|
@ -689,12 +689,15 @@ func Test_reconcileNodeLabels(t *testing.T) {
|
|||||||
labels: map[string]string{
|
labels: map[string]string{
|
||||||
v1.LabelZoneFailureDomain: "foo",
|
v1.LabelZoneFailureDomain: "foo",
|
||||||
v1.LabelZoneRegion: "bar",
|
v1.LabelZoneRegion: "bar",
|
||||||
|
v1.LabelInstanceType: "the-best-type",
|
||||||
},
|
},
|
||||||
expectedLabels: map[string]string{
|
expectedLabels: map[string]string{
|
||||||
v1.LabelZoneFailureDomain: "foo",
|
v1.LabelZoneFailureDomain: "foo",
|
||||||
v1.LabelZoneRegion: "bar",
|
v1.LabelZoneRegion: "bar",
|
||||||
v1.LabelZoneFailureDomainStable: "foo",
|
v1.LabelZoneFailureDomainStable: "foo",
|
||||||
v1.LabelZoneRegionStable: "bar",
|
v1.LabelZoneRegionStable: "bar",
|
||||||
|
v1.LabelInstanceType: "the-best-type",
|
||||||
|
v1.LabelInstanceTypeStable: "the-best-type",
|
||||||
},
|
},
|
||||||
expectedErr: nil,
|
expectedErr: nil,
|
||||||
},
|
},
|
||||||
@ -705,12 +708,16 @@ func Test_reconcileNodeLabels(t *testing.T) {
|
|||||||
v1.LabelZoneRegion: "bar",
|
v1.LabelZoneRegion: "bar",
|
||||||
v1.LabelZoneFailureDomainStable: "foo",
|
v1.LabelZoneFailureDomainStable: "foo",
|
||||||
v1.LabelZoneRegionStable: "bar",
|
v1.LabelZoneRegionStable: "bar",
|
||||||
|
v1.LabelInstanceType: "the-best-type",
|
||||||
|
v1.LabelInstanceTypeStable: "the-best-type",
|
||||||
},
|
},
|
||||||
expectedLabels: map[string]string{
|
expectedLabels: map[string]string{
|
||||||
v1.LabelZoneFailureDomain: "foo",
|
v1.LabelZoneFailureDomain: "foo",
|
||||||
v1.LabelZoneRegion: "bar",
|
v1.LabelZoneRegion: "bar",
|
||||||
v1.LabelZoneFailureDomainStable: "foo",
|
v1.LabelZoneFailureDomainStable: "foo",
|
||||||
v1.LabelZoneRegionStable: "bar",
|
v1.LabelZoneRegionStable: "bar",
|
||||||
|
v1.LabelInstanceType: "the-best-type",
|
||||||
|
v1.LabelInstanceTypeStable: "the-best-type",
|
||||||
},
|
},
|
||||||
expectedErr: nil,
|
expectedErr: nil,
|
||||||
},
|
},
|
||||||
@ -721,12 +728,16 @@ func Test_reconcileNodeLabels(t *testing.T) {
|
|||||||
v1.LabelZoneRegion: "bar",
|
v1.LabelZoneRegion: "bar",
|
||||||
v1.LabelZoneFailureDomainStable: "wrongfoo",
|
v1.LabelZoneFailureDomainStable: "wrongfoo",
|
||||||
v1.LabelZoneRegionStable: "wrongbar",
|
v1.LabelZoneRegionStable: "wrongbar",
|
||||||
|
v1.LabelInstanceType: "the-best-type",
|
||||||
|
v1.LabelInstanceTypeStable: "the-wrong-type",
|
||||||
},
|
},
|
||||||
expectedLabels: map[string]string{
|
expectedLabels: map[string]string{
|
||||||
v1.LabelZoneFailureDomain: "foo",
|
v1.LabelZoneFailureDomain: "foo",
|
||||||
v1.LabelZoneRegion: "bar",
|
v1.LabelZoneRegion: "bar",
|
||||||
v1.LabelZoneFailureDomainStable: "foo",
|
v1.LabelZoneFailureDomainStable: "foo",
|
||||||
v1.LabelZoneRegionStable: "bar",
|
v1.LabelZoneRegionStable: "bar",
|
||||||
|
v1.LabelInstanceType: "the-best-type",
|
||||||
|
v1.LabelInstanceTypeStable: "the-best-type",
|
||||||
},
|
},
|
||||||
expectedErr: nil,
|
expectedErr: nil,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user