From 91849f245078ead4382e883f2d8fafe57c62b7b6 Mon Sep 17 00:00:00 2001 From: Nick Sardo Date: Wed, 5 Apr 2017 13:52:36 -0700 Subject: [PATCH] remove region fetch --- controllers/gce/cmd/mode-updater/main.go | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/controllers/gce/cmd/mode-updater/main.go b/controllers/gce/cmd/mode-updater/main.go index 98bfecdc8..692d7f308 100644 --- a/controllers/gce/cmd/mode-updater/main.go +++ b/controllers/gce/cmd/mode-updater/main.go @@ -13,6 +13,8 @@ import ( "golang.org/x/oauth2/google" compute "google.golang.org/api/compute/v1" + "k8s.io/kubernetes/pkg/cloudprovider" + "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" ) var ( @@ -23,7 +25,7 @@ var ( instanceGroupName string s *compute.Service - region *compute.Region + g *gce.GCECloud zones []*compute.Zone igs map[string]*compute.InstanceGroup instances []*compute.Instance @@ -54,6 +56,12 @@ func main() { panic(fmt.Errorf("expected either %s or %s, actual: %v", balancingModeRATE, balancingModeUTIL, targetBalancingMode)) } + switch regionName { + case "asia-east1", "asia-northeast1", "europe-west1", "us-central1", "us-east1", "us-west1": + default: + panic(fmt.Errorf("expected a valid GCP region, actual: %v", regionName)) + } + igs = make(map[string]*compute.InstanceGroup) tokenSource, err := google.DefaultTokenSource( @@ -70,14 +78,14 @@ func main() { panic(err) } - // Get Region - region, err = s.Regions.Get(projectID, regionName).Do() + cloudInterface, err := cloudprovider.GetCloudProvider("gce", nil) if err != nil { panic(err) } + g = cloudInterface.(*gce.GCECloud) // Get Zones - zoneFilter := fmt.Sprintf("(region eq %s)", region.SelfLink) + zoneFilter := fmt.Sprintf("(region eq %s)", createRegionLink(regionName)) zoneList, err := s.Zones.List(projectID).Filter(zoneFilter).Do() if err != nil { panic(err) @@ -125,7 +133,6 @@ func main() { } bs := getBackendServices() - fmt.Println("Region:", region.Name) fmt.Println("Backend Services:", len(bs)) fmt.Println("Instance Groups:", len(igs)) @@ -241,6 +248,7 @@ func getBackendServices() (bs []*compute.BackendService) { } for _, bsli := range bsl.Items { + // Ignore regional backend-services and only grab Kubernetes resources if bsli.Region == "" && strings.HasPrefix(bsli.Name, "k8s-be-") { bs = append(bs, bsli) } @@ -281,6 +289,10 @@ func createInstanceGroupLink(zone, igName string) string { return fmt.Sprintf("https://www.googleapis.com/compute/v1/projects/%s/zones/%s/instanceGroups/%s", projectID, zone, igName) } +func createRegionLink(region string) string { + return fmt.Sprintf("https://www.googleapis.com/compute/v1/projects/nicksardo-playground/regions/%v", region) +} + func getResourceName(link string, resourceType string) string { s := strings.Split(link, "/")