Merge pull request #17283 from ameukam/cloudup-gce-slices-maps

cloudup/gce: use slices and maps
This commit is contained in:
Kubernetes Prow Robot 2025-02-24 05:06:28 -08:00 committed by GitHub
commit 5bd925c2c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 20 additions and 28 deletions

View File

@ -25,6 +25,8 @@ import (
"strings"
"sync"
"maps"
"golang.org/x/oauth2/google"
"google.golang.org/api/cloudresourcemanager/v1"
compute "google.golang.org/api/compute/v1"
@ -273,9 +275,7 @@ func (c *gceCloudImplementation) FindVPCInfo(id string) (*fi.VPCInfo, error) {
func (c *gceCloudImplementation) Labels() map[string]string {
// Defensive copy
tags := make(map[string]string)
for k, v := range c.labels {
tags[k] = v
}
maps.Copy(tags, c.labels)
return tags
}

View File

@ -42,7 +42,7 @@ const (
func EncodeGCELabel(s string) string {
var b bytes.Buffer
for i := 0; i < len(s); i++ {
for i := range len(s) {
c := s[i]
if ('0' <= c && c <= '9') || ('a' <= c && c <= 'z') {
b.WriteByte(c)

View File

@ -20,6 +20,8 @@ import (
"fmt"
"reflect"
"maps"
compute "google.golang.org/api/compute/v1"
"k8s.io/klog/v2"
"k8s.io/kops/upup/pkg/fi"
@ -136,15 +138,9 @@ func (_ *Disk) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Disk) error {
//for _, k := range d.Tags {
// labelsRequest.Labels[k] = ""
//}
for k, v := range d.Labels {
labelsRequest.Labels[k] = v
}
for k, v := range t.Cloud.Labels() {
labelsRequest.Labels[k] = v
}
for k, v := range e.Labels {
labelsRequest.Labels[k] = v
}
maps.Copy(labelsRequest.Labels, d.Labels)
maps.Copy(labelsRequest.Labels, t.Cloud.Labels())
maps.Copy(labelsRequest.Labels, e.Labels)
klog.V(2).Infof("Setting labels on disk %q: %v", disk.Name, labelsRequest.Labels)
if err = t.Cloud.Compute().Disks().SetLabels(t.Cloud.Project(), *e.Zone, disk.Name, labelsRequest); err != nil {
return fmt.Errorf("error setting labels on created Disk: %v", err)
@ -174,12 +170,8 @@ func (_ *Disk) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Disk
cloud := t.Cloud.(gce.GCECloud)
labels := make(map[string]string)
for k, v := range cloud.Labels() {
labels[k] = v
}
for k, v := range e.Labels {
labels[k] = v
}
maps.Copy(labels, cloud.Labels())
maps.Copy(labels, e.Labels)
tf := &terraformDisk{
Name: e.Name,

View File

@ -19,6 +19,8 @@ package gcetasks
import (
"fmt"
"slices"
compute "google.golang.org/api/compute/v1"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/cloudup/gce"
@ -64,15 +66,13 @@ func (e *PoolHealthCheck) Find(c *fi.CloudupContext) (*PoolHealthCheck, error) {
}
return nil, fmt.Errorf("error getting TargetPool %q: %v", name, err)
}
for _, check := range r.HealthChecks {
if check == e.Healthcheck.SelfLink {
return &PoolHealthCheck{
Name: e.Name,
Healthcheck: e.Healthcheck,
Pool: e.Pool,
Lifecycle: e.Lifecycle,
}, nil
}
if slices.Contains(r.HealthChecks, e.Healthcheck.SelfLink) {
return &PoolHealthCheck{
Name: e.Name,
Healthcheck: e.Healthcheck,
Pool: e.Pool,
Lifecycle: e.Lifecycle,
}, nil
}
return nil, nil
}