From 11cb36e9dc2c66b203d040e4ca167e5aff0798f3 Mon Sep 17 00:00:00 2001 From: Matthew Wong Date: Tue, 23 May 2017 18:30:37 -0400 Subject: [PATCH] Fix provisioned GCE PD not being reused if already exists --- pkg/cloudprovider/providers/gce/gce_disks.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/cloudprovider/providers/gce/gce_disks.go b/pkg/cloudprovider/providers/gce/gce_disks.go index 2217bbb8fd0..fab96f9081e 100644 --- a/pkg/cloudprovider/providers/gce/gce_disks.go +++ b/pkg/cloudprovider/providers/gce/gce_disks.go @@ -245,7 +245,10 @@ func (gce *GCECloud) CreateDisk( mc := newDiskMetricContext("create", zone) createOp, err := gce.service.Disks.Insert(gce.projectID, zone, diskToCreate).Do() - if err != nil { + if isGCEError(err, "alreadyExists") { + glog.Warningf("GCE PD %q already exists, reusing", name) + return nil + } else if err != nil { return mc.Observe(err) }