Merge pull request #96414 from andyzhangx/remove-label-dependency

remove label dependency on k8s api in Azure
This commit is contained in:
Kubernetes Prow Robot 2020-11-10 06:22:41 -08:00 committed by GitHub
commit 4926beedf9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 15 deletions

View File

@ -93,6 +93,12 @@ const (
externalResourceGroupLabel = "kubernetes.azure.com/resource-group"
managedByAzureLabel = "kubernetes.azure.com/managed"
// LabelFailureDomainBetaZone refer to https://github.com/kubernetes/api/blob/8519c5ea46199d57724725d5b969c5e8e0533692/core/v1/well_known_labels.go#L22-L23
LabelFailureDomainBetaZone = "failure-domain.beta.kubernetes.io/zone"
// LabelFailureDomainBetaRegion failure-domain region label
LabelFailureDomainBetaRegion = "failure-domain.beta.kubernetes.io/region"
)
const (
@ -736,8 +742,8 @@ func (az *Cloud) SetInformers(informerFactory informers.SharedInformerFactory) {
UpdateFunc: func(prev, obj interface{}) {
prevNode := prev.(*v1.Node)
newNode := obj.(*v1.Node)
if newNode.Labels[v1.LabelFailureDomainBetaZone] ==
prevNode.Labels[v1.LabelFailureDomainBetaZone] {
if newNode.Labels[LabelFailureDomainBetaZone] ==
prevNode.Labels[LabelFailureDomainBetaZone] {
return
}
az.updateNodeCaches(prevNode, newNode)
@ -771,7 +777,7 @@ func (az *Cloud) updateNodeCaches(prevNode, newNode *v1.Node) {
if prevNode != nil {
// Remove from nodeZones cache.
prevZone, ok := prevNode.ObjectMeta.Labels[v1.LabelFailureDomainBetaZone]
prevZone, ok := prevNode.ObjectMeta.Labels[LabelFailureDomainBetaZone]
if ok && az.isAvailabilityZone(prevZone) {
az.nodeZones[prevZone].Delete(prevNode.ObjectMeta.Name)
if az.nodeZones[prevZone].Len() == 0 {
@ -794,7 +800,7 @@ func (az *Cloud) updateNodeCaches(prevNode, newNode *v1.Node) {
if newNode != nil {
// Add to nodeZones cache.
newZone, ok := newNode.ObjectMeta.Labels[v1.LabelFailureDomainBetaZone]
newZone, ok := newNode.ObjectMeta.Labels[LabelFailureDomainBetaZone]
if ok && az.isAvailabilityZone(newZone) {
if az.nodeZones[newZone] == nil {
az.nodeZones[newZone] = sets.NewString()

View File

@ -351,7 +351,7 @@ func (c *Cloud) GetAzureDiskLabels(diskURI string) (map[string]string, error) {
}
labels := map[string]string{
v1.LabelFailureDomainBetaRegion: c.Location,
LabelFailureDomainBetaRegion: c.Location,
}
// no azure credential is set, return nil
if c.DisksClient == nil {
@ -380,6 +380,6 @@ func (c *Cloud) GetAzureDiskLabels(diskURI string) (map[string]string, error) {
zone := c.makeZone(c.Location, zoneID)
klog.V(4).Infof("Got zone %q for Azure disk %q", zone, diskName)
labels[v1.LabelFailureDomainBetaZone] = zone
labels[LabelFailureDomainBetaZone] = zone
return labels, nil
}

View File

@ -417,8 +417,8 @@ func TestGetLabelsForVolume(t *testing.T) {
},
existedDisk: compute.Disk{Name: to.StringPtr(diskName), DiskProperties: &compute.DiskProperties{DiskSizeGB: &diskSizeGB}, Zones: &[]string{"1"}},
expected: map[string]string{
v1.LabelFailureDomainBetaRegion: testCloud0.Location,
v1.LabelFailureDomainBetaZone: testCloud0.makeZone(testCloud0.Location, 1),
LabelFailureDomainBetaRegion: testCloud0.Location,
LabelFailureDomainBetaZone: testCloud0.makeZone(testCloud0.Location, 1),
},
expectedErr: false,
},
@ -454,7 +454,7 @@ func TestGetLabelsForVolume(t *testing.T) {
},
existedDisk: compute.Disk{Name: to.StringPtr(diskName), DiskProperties: &compute.DiskProperties{DiskSizeGB: &diskSizeGB}},
expected: map[string]string{
v1.LabelFailureDomainBetaRegion: testCloud0.Location,
LabelFailureDomainBetaRegion: testCloud0.Location,
},
expectedErr: false,
expectedErrMsg: nil,

View File

@ -3248,7 +3248,7 @@ func TestUpdateNodeCaches(t *testing.T) {
prevNode := v1.Node{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
v1.LabelFailureDomainBetaZone: zone,
LabelFailureDomainBetaZone: zone,
externalResourceGroupLabel: "true",
managedByAzureLabel: "false",
},
@ -3264,7 +3264,7 @@ func TestUpdateNodeCaches(t *testing.T) {
newNode := v1.Node{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
v1.LabelFailureDomainBetaZone: zone,
LabelFailureDomainBetaZone: zone,
externalResourceGroupLabel: "true",
managedByAzureLabel: "false",
},