remove region fetch

This commit is contained in:
Nick Sardo 2017-04-05 13:52:36 -07:00
parent 60bafdc92d
commit 91849f2450

View file

@ -13,6 +13,8 @@ import (
"golang.org/x/oauth2/google" "golang.org/x/oauth2/google"
compute "google.golang.org/api/compute/v1" compute "google.golang.org/api/compute/v1"
"k8s.io/kubernetes/pkg/cloudprovider"
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
) )
var ( var (
@ -23,7 +25,7 @@ var (
instanceGroupName string instanceGroupName string
s *compute.Service s *compute.Service
region *compute.Region g *gce.GCECloud
zones []*compute.Zone zones []*compute.Zone
igs map[string]*compute.InstanceGroup igs map[string]*compute.InstanceGroup
instances []*compute.Instance instances []*compute.Instance
@ -54,6 +56,12 @@ func main() {
panic(fmt.Errorf("expected either %s or %s, actual: %v", balancingModeRATE, balancingModeUTIL, targetBalancingMode)) 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) igs = make(map[string]*compute.InstanceGroup)
tokenSource, err := google.DefaultTokenSource( tokenSource, err := google.DefaultTokenSource(
@ -70,14 +78,14 @@ func main() {
panic(err) panic(err)
} }
// Get Region cloudInterface, err := cloudprovider.GetCloudProvider("gce", nil)
region, err = s.Regions.Get(projectID, regionName).Do()
if err != nil { if err != nil {
panic(err) panic(err)
} }
g = cloudInterface.(*gce.GCECloud)
// Get Zones // 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() zoneList, err := s.Zones.List(projectID).Filter(zoneFilter).Do()
if err != nil { if err != nil {
panic(err) panic(err)
@ -125,7 +133,6 @@ func main() {
} }
bs := getBackendServices() bs := getBackendServices()
fmt.Println("Region:", region.Name)
fmt.Println("Backend Services:", len(bs)) fmt.Println("Backend Services:", len(bs))
fmt.Println("Instance Groups:", len(igs)) fmt.Println("Instance Groups:", len(igs))
@ -241,6 +248,7 @@ func getBackendServices() (bs []*compute.BackendService) {
} }
for _, bsli := range bsl.Items { for _, bsli := range bsl.Items {
// Ignore regional backend-services and only grab Kubernetes resources
if bsli.Region == "" && strings.HasPrefix(bsli.Name, "k8s-be-") { if bsli.Region == "" && strings.HasPrefix(bsli.Name, "k8s-be-") {
bs = append(bs, bsli) 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) 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 { func getResourceName(link string, resourceType string) string {
s := strings.Split(link, "/") s := strings.Split(link, "/")