Log line cleanup

This commit is contained in:
Nick Sardo 2017-04-18 15:10:10 -07:00
parent d83a15e91f
commit e851054740

View file

@ -6,7 +6,6 @@ import (
"fmt"
"log"
"strings"
"sync"
"time"
"github.com/golang/glog"
@ -125,8 +124,14 @@ func main() {
}
bs := getBackendServices()
fmt.Println("Backend Services:", len(bs))
fmt.Println("Instance Groups:", len(igs))
fmt.Println("Backend Services:")
for _, b := range bs {
fmt.Println(" - ", b.Name)
}
fmt.Println("Instance Groups:")
for z, g := range igs {
fmt.Printf(" - %v (%v)\n", g.Name, z)
}
// Early return for special cases
switch len(bs) {
@ -156,6 +161,7 @@ func main() {
}
func updateMultipleBackends() {
fmt.Println("Creating temporary instance groups in relevant zones")
// Create temoprary instance groups
for zone, ig := range igs {
_, err := s.InstanceGroups.Get(projectID, zone, instanceGroupTemp).Do()
@ -165,7 +171,7 @@ func updateMultipleBackends() {
Zone: zone,
NamedPorts: ig.NamedPorts,
}
fmt.Println("Creating", instanceGroupTemp, "zone:", zone)
fmt.Printf(" - %v (%v)\n", instanceGroupTemp, zone)
op, err := s.InstanceGroups.Insert(projectID, zone, newIg).Do()
if err != nil {
panic(err)
@ -178,28 +184,29 @@ func updateMultipleBackends() {
}
// Straddle both groups
fmt.Println("Straddle both groups in backend services")
fmt.Println("Update backend services to point to original and temporary instance groups")
setBackendsTo(true, balancingModeInverse(targetBalancingMode), true, balancingModeInverse(targetBalancingMode))
fmt.Println("Migrate instances to temporary group")
migrateInstances(instanceGroupName, instanceGroupTemp)
// Remove original backends to get rid of old balancing mode
fmt.Println("Remove original backends")
fmt.Println("Update backend services to point only to temporary instance groups")
setBackendsTo(false, "", true, balancingModeInverse(targetBalancingMode))
// Straddle both groups (creates backend services to original groups with target mode)
fmt.Println("Create backends pointing to original instance groups")
fmt.Println("Update backend services to point to both temporary and original (with new balancing mode) instance groups")
setBackendsTo(true, targetBalancingMode, true, balancingModeInverse(targetBalancingMode))
fmt.Println("Migrate instances back to original groups")
migrateInstances(instanceGroupTemp, instanceGroupName)
fmt.Println("Remove temporary backends")
fmt.Println("Update backend services to point only to original instance groups")
setBackendsTo(true, targetBalancingMode, false, "")
fmt.Println("Delete temporary instance groups")
for z := range igs {
fmt.Printf(" - %v (%v)\n", instanceGroupTemp, z)
op, err := s.InstanceGroups.Delete(projectID, z, instanceGroupTemp).Do()
if err != nil {
fmt.Println("Couldn't delete temporary instance group", instanceGroupTemp)
@ -211,11 +218,6 @@ func updateMultipleBackends() {
}
}
func sleep(d time.Duration) {
fmt.Println("Sleeping for", d.String())
time.Sleep(d)
}
func setBackendsTo(orig bool, origMode string, temp bool, tempMode string) {
bs := getBackendServices()
for _, bsi := range bs {
@ -241,6 +243,7 @@ func setBackendsTo(orig bool, origMode string, temp bool, tempMode string) {
}
}
bsi.Backends = union
fmt.Printf(" - %v\n", bsi.Name)
op, err := s.BackendServices.Update(projectID, bsi.Name, bsi).Do()
if err != nil {
panic(err)
@ -286,12 +289,9 @@ func typeOfBackends(bs []*compute.BackendService) string {
}
func migrateInstances(fromIG, toIG string) error {
wg := sync.WaitGroup{}
for _, i := range instances {
wg.Add(1)
go func(i *compute.Instance) {
z := getResourceName(i.Zone, "zones")
fmt.Printf(" - %s (%s)\n", i.Name, z)
fmt.Printf(" - %s (%s): ", i.Name, z)
rr := &compute.InstanceGroupsRemoveInstancesRequest{Instances: []*compute.InstanceReference{{Instance: i.SelfLink}}}
op, err := s.InstanceGroups.RemoveInstances(projectID, z, fromIG, rr).Do()
if err != nil {
@ -301,6 +301,7 @@ func migrateInstances(fromIG, toIG string) error {
if err = waitForZoneOp(op, z); err != nil {
fmt.Println("Failed to wait for operation: removing instance from group", err)
}
fmt.Printf("removed from %v, ", fromIG)
ra := &compute.InstanceGroupsAddInstancesRequest{Instances: []*compute.InstanceReference{{Instance: i.SelfLink}}}
op, err = s.InstanceGroups.AddInstances(projectID, z, toIG, ra).Do()
@ -313,11 +314,8 @@ func migrateInstances(fromIG, toIG string) error {
if err = waitForZoneOp(op, z); err != nil {
fmt.Println("Failed to wait for operation: adding instance to group", err)
}
wg.Done()
}(i)
time.Sleep(10 * time.Second)
fmt.Printf("added to %v\n", toIG)
}
wg.Wait()
return nil
}
@ -384,6 +382,8 @@ func getIGClusterIds() []string {
return ids
}
// Below operations are copied from the GCE CloudProvider and modified to be static
func waitForOp(op *compute.Operation, getOperation func(operationName string) (*compute.Operation, error)) error {
if op == nil {
return fmt.Errorf("operation must not be nil")