From 9d41442c5defe7072ced0a733c95df4fe766acb8 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sat, 6 May 2017 11:17:21 -0700 Subject: gce: use name metadata to get instance name Simplify code by using the new name metadata now that we have it. --- gce/gce.go | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) (limited to 'gce') diff --git a/gce/gce.go b/gce/gce.go index 27bbbf6f2..b90200c3b 100644 --- a/gce/gce.go +++ b/gce/gce.go @@ -62,30 +62,22 @@ func NewContext() (*Context, error) { if i := strings.LastIndexByte(ctx.ZoneID, '/'); i != -1 { ctx.ZoneID = ctx.ZoneID[i+1:] // the query returns some nonsense prefix } - instID, err := ctx.getMeta("instance/id") + ctx.Instance, err = ctx.getMeta("instance/name") if err != nil { - return nil, fmt.Errorf("failed to query gce instance id: %v", err) + return nil, fmt.Errorf("failed to query gce instance name: %v", err) } - instances, err := ctx.computeService.Instances.List(ctx.ProjectID, ctx.ZoneID).Do() + inst, err := ctx.computeService.Instances.Get(ctx.ProjectID, ctx.ZoneID, ctx.Instance).Do() if err != nil { - return nil, fmt.Errorf("error getting instance list: %v", err) + return nil, fmt.Errorf("error getting instance info: %v", err) } - // Finds this instance internal IP. - for _, inst := range instances.Items { - if fmt.Sprint(inst.Id) != instID { - continue - } - ctx.Instance = inst.Name - for _, iface := range inst.NetworkInterfaces { - if strings.HasPrefix(iface.NetworkIP, "10.") { - ctx.InternalIP = iface.NetworkIP - break - } + for _, iface := range inst.NetworkInterfaces { + if strings.HasPrefix(iface.NetworkIP, "10.") { + ctx.InternalIP = iface.NetworkIP + break } - break } - if ctx.Instance == "" || ctx.InternalIP == "" { - return nil, fmt.Errorf("failed to get current instance name and internal IP") + if ctx.InternalIP == "" { + return nil, fmt.Errorf("failed to get current instance internal IP") } return ctx, nil } -- cgit mrf-deployment