Skip to content

Commit 2c8dbac

Browse files
authored
Fix timeout issue with project services (#737)
* retry api enablement/disablement for 10 minutes * retry to retryTime
1 parent 3bd6e35 commit 2c8dbac

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

google/resource_google_project_services.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ func getApiServices(pid string, config *Config, ignore map[string]struct{}) ([]s
186186

187187
func enableService(s, pid string, config *Config) error {
188188
esr := newEnableServiceRequest(pid)
189-
err := retry(func() error {
189+
err := retryTime(func() error {
190190
sop, err := config.clientServiceMan.Services.Enable(s, esr).Do()
191191
if err != nil {
192192
return err
@@ -196,7 +196,7 @@ func enableService(s, pid string, config *Config) error {
196196
return waitErr
197197
}
198198
return nil
199-
})
199+
}, 10)
200200
if err != nil {
201201
return fmt.Errorf("Error enabling service %q for project %q: %v", s, pid, err)
202202
}
@@ -205,7 +205,7 @@ func enableService(s, pid string, config *Config) error {
205205

206206
func disableService(s, pid string, config *Config) error {
207207
dsr := newDisableServiceRequest(pid)
208-
err := retry(func() error {
208+
err := retryTime(func() error {
209209
sop, err := config.clientServiceMan.Services.Disable(s, dsr).Do()
210210
if err != nil {
211211
return err
@@ -216,7 +216,7 @@ func disableService(s, pid string, config *Config) error {
216216
return waitErr
217217
}
218218
return nil
219-
})
219+
}, 10)
220220
if err != nil {
221221
return fmt.Errorf("Error disabling service %q for project %q: %v", s, pid, err)
222222
}

google/utils.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,11 @@ func mergeSchemas(a, b map[string]*schema.Schema) map[string]*schema.Schema {
385385
}
386386

387387
func retry(retryFunc func() error) error {
388-
return resource.Retry(1*time.Minute, func() *resource.RetryError {
388+
return retryTime(retryFunc, 1)
389+
}
390+
391+
func retryTime(retryFunc func() error, minutes int) error {
392+
return resource.Retry(time.Duration(minutes)*time.Minute, func() *resource.RetryError {
389393
err := retryFunc()
390394
if err == nil {
391395
return nil

0 commit comments

Comments
 (0)