From 41070a2f58c520dde442069bed18be4c3074f3d3 Mon Sep 17 00:00:00 2001 From: Ashley Gau Date: Wed, 7 Feb 2018 14:36:08 -0800 Subject: [PATCH] use getInstanceByName to check for node presence, instead of DeleteInstance) --- .../gce/gce_loadbalancer_external_test.go | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/pkg/cloudprovider/providers/gce/gce_loadbalancer_external_test.go b/pkg/cloudprovider/providers/gce/gce_loadbalancer_external_test.go index c1b8bb10903..a14eab9086d 100644 --- a/pkg/cloudprovider/providers/gce/gce_loadbalancer_external_test.go +++ b/pkg/cloudprovider/providers/gce/gce_loadbalancer_external_test.go @@ -304,24 +304,27 @@ func createAndInsertNodes(gce *GCECloud, nodeNames []string) ([]*v1.Node, error) nodes := []*v1.Node{} for _, name := range nodeNames { - // Inserting the same node name twice causes an error - here we call - // DeleteInstance to guarantee that nodes aren't inserted twice. - // See TestUpdateExternalLoadBalancer. - err := gce.DeleteInstance(gceProjectId, zoneName, name) + // Inserting the same node name twice causes an error - here we check if + // the instance exists already before insertion. + // TestUpdateExternalLoadBalancer inserts a new node, and relies on an older + // node to already have been inserted. + instance, _ := gce.getInstanceByName(name) - err = gce.InsertInstance( - gceProjectId, - zoneName, - &compute.Instance{ - Name: name, - Tags: &compute.Tags{ - Items: []string{name}, + if instance == nil { + err := gce.InsertInstance( + gceProjectId, + zoneName, + &compute.Instance{ + Name: name, + Tags: &compute.Tags{ + Items: []string{name}, + }, }, - }, - ) + ) - if err != nil { - return nodes, err + if err != nil { + return nodes, err + } } nodes = append( @@ -340,6 +343,7 @@ func createAndInsertNodes(gce *GCECloud, nodeNames []string) ([]*v1.Node, error) }, }, ) + } return nodes, nil