mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-07-03 08:42:39 +00:00
Fix timeout issue with project services (#737)
* retry api enablement/disablement for 10 minutes * retry to retryTime
This commit is contained in:
parent
3bd6e35c80
commit
2c8dbac663
|
@ -186,7 +186,7 @@ func getApiServices(pid string, config *Config, ignore map[string]struct{}) ([]s
|
|||
|
||||
func enableService(s, pid string, config *Config) error {
|
||||
esr := newEnableServiceRequest(pid)
|
||||
err := retry(func() error {
|
||||
err := retryTime(func() error {
|
||||
sop, err := config.clientServiceMan.Services.Enable(s, esr).Do()
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -196,7 +196,7 @@ func enableService(s, pid string, config *Config) error {
|
|||
return waitErr
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}, 10)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error enabling service %q for project %q: %v", s, pid, err)
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ func enableService(s, pid string, config *Config) error {
|
|||
|
||||
func disableService(s, pid string, config *Config) error {
|
||||
dsr := newDisableServiceRequest(pid)
|
||||
err := retry(func() error {
|
||||
err := retryTime(func() error {
|
||||
sop, err := config.clientServiceMan.Services.Disable(s, dsr).Do()
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -216,7 +216,7 @@ func disableService(s, pid string, config *Config) error {
|
|||
return waitErr
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}, 10)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error disabling service %q for project %q: %v", s, pid, err)
|
||||
}
|
||||
|
|
|
@ -385,7 +385,11 @@ func mergeSchemas(a, b map[string]*schema.Schema) map[string]*schema.Schema {
|
|||
}
|
||||
|
||||
func retry(retryFunc func() error) error {
|
||||
return resource.Retry(1*time.Minute, func() *resource.RetryError {
|
||||
return retryTime(retryFunc, 1)
|
||||
}
|
||||
|
||||
func retryTime(retryFunc func() error, minutes int) error {
|
||||
return resource.Retry(time.Duration(minutes)*time.Minute, func() *resource.RetryError {
|
||||
err := retryFunc()
|
||||
if err == nil {
|
||||
return nil
|
||||
|
|
Loading…
Reference in New Issue
Block a user