Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Enable explicit default timeout on all resources #696

Merged
merged 3 commits into from
Nov 20, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions scaleway/helpers_account.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
package scaleway

import (
"time"

account "github.com/scaleway/scaleway-sdk-go/api/account/v2alpha1"
)

const (
defaultAccountSSHKeyTimeout = 1 * time.Minute
)

// accountAPI returns a new account API.
func accountAPI(m interface{}) *account.API {
meta := m.(*Meta)
Expand Down
3 changes: 1 addition & 2 deletions scaleway/helpers_baremetal.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@ import (
const (
baremetalServerWaitForTimeout = 60 * time.Minute
baremetalServerRetryFuncTimeout = baremetalServerWaitForTimeout + time.Minute // some RetryFunc are calling a WaitFor
defaultBaremetalServerTimeout = baremetalServerRetryFuncTimeout + time.Minute
)

var baremetalServerResourceTimeout = baremetalServerRetryFuncTimeout + time.Minute

// instanceAPIWithZone returns a new baremetal API and the zone for a Create request
func baremetalAPIWithZone(d *schema.ResourceData, m interface{}) (*baremetal.API, scw.Zone, error) {
meta := m.(*Meta)
Expand Down
10 changes: 7 additions & 3 deletions scaleway/helpers_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,12 @@ const (
InstanceServerStateStarted = "started"
InstanceServerStateStandby = "standby"

InstanceServerWaitForTimeout = 10 * time.Minute
InstanceVolumeDeleteTimeout = 10 * time.Minute
defaultInstanceServerWaitTimeout = 10 * time.Minute
defaultInstanceVolumeDeleteTimeout = 10 * time.Minute
defaultInstanceSecurityGroupTimeout = 1 * time.Minute
defaultInstanceSecurityGroupRuleTimeout = 1 * time.Minute
defaultInstancePlacementGroupTimeout = 1 * time.Minute
defaultInstanceIPTimeout = 1 * time.Minute
)

// instanceAPIWithZone returns a new instance API and the zone for a Create request
Expand Down Expand Up @@ -147,7 +151,7 @@ func reachState(ctx context.Context, instanceAPI *instance.API, zone scw.Zone, s
ServerID: serverID,
Action: a,
Zone: zone,
Timeout: scw.TimeDurationPtr(InstanceServerWaitForTimeout),
Timeout: scw.TimeDurationPtr(defaultInstanceServerWaitTimeout),
})
if err != nil {
return err
Expand Down
2 changes: 2 additions & 0 deletions scaleway/helpers_k8s.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ type KubeconfigStruct struct {
}

const (
defaultK8SClusterTimeout = 10 * time.Minute
defaultK8SPoolTimeout = 10 * time.Minute
K8SClusterWaitForPoolRequiredTimeout = 10 * time.Minute
K8SClusterWaitForDeletedTimeout = 10 * time.Minute
K8SPoolWaitForReadyTimeout = 10 * time.Minute
Expand Down
3 changes: 2 additions & 1 deletion scaleway/helpers_lb.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ import (
)

const (
LbWaitForTimeout = 10 * time.Minute
LbWaitForTimeout = 10 * time.Minute
defaultLbLbTimeout = 10 * time.Minute
)

// lbAPI returns a new lb API
Expand Down
5 changes: 5 additions & 0 deletions scaleway/helpers_object.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"fmt"
"os"
"strings"
"time"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
Expand All @@ -15,6 +16,10 @@ import (
"github.com/scaleway/scaleway-sdk-go/scw"
)

const (
defaultObjectBucketTimeout = 10 * time.Minute
)

func newS3Client(region, accessKey, secretKey string) (*s3.S3, error) {
config := &aws.Config{}
config.WithRegion(region)
Expand Down
6 changes: 6 additions & 0 deletions scaleway/helpers_rdb.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
package scaleway

import (
"time"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/scaleway/scaleway-sdk-go/api/rdb/v1"
"github.com/scaleway/scaleway-sdk-go/scw"
)

const (
defaultRdbInstanceTimeout = 15 * time.Minute
)

// rdbAPIWithRegion returns a new lb API and the region for a Create request
func rdbAPIWithRegion(d *schema.ResourceData, m interface{}) (*rdb.API, scw.Region, error) {
meta := m.(*Meta)
Expand Down
6 changes: 6 additions & 0 deletions scaleway/helpers_registry.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
package scaleway

import (
"time"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/scaleway/scaleway-sdk-go/api/registry/v1"
"github.com/scaleway/scaleway-sdk-go/scw"
)

const (
defaultRegistryNamespaceTimeout = 5 * time.Minute
)

// registryAPIWithRegion returns a new container registry API and the region.
func registryAPIWithRegion(d *schema.ResourceData, m interface{}) (*registry.API, scw.Region, error) {
meta := m.(*Meta)
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_account_ssh_key.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ func resourceScalewayAccountSSKKey() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultAccountSSHKeyTimeout),
},
Schema: map[string]*schema.Schema{
"name": {
Type: schema.TypeString,
Expand Down
3 changes: 1 addition & 2 deletions scaleway/resource_baremetal_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ func resourceScalewayBaremetalServer() *schema.Resource {
},
SchemaVersion: 0,
Timeouts: &schema.ResourceTimeout{
Create: &baremetalServerResourceTimeout,
Delete: &baremetalServerResourceTimeout,
Default: schema.DefaultTimeout(defaultBaremetalServerTimeout),
},
Schema: map[string]*schema.Schema{
"name": {
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_instance_ip.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ func resourceScalewayInstanceIP() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultInstanceIPTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"address": {
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_instance_ip_reverse_dns.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ func resourceScalewayInstanceIPReverseDNS() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultInstanceIPTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"ip_id": {
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_instance_placement_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ func resourceScalewayInstancePlacementGroup() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultInstancePlacementGroupTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"name": {
Expand Down
4 changes: 3 additions & 1 deletion scaleway/resource_instance_security_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ func resourceScalewayInstanceSecurityGroup() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},

Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultInstanceSecurityGroupTimeout),
},
Schema: map[string]*schema.Schema{
"name": {
Type: schema.TypeString,
Expand Down
4 changes: 3 additions & 1 deletion scaleway/resource_instance_security_group_rules.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ func resourceScalewayInstanceSecurityGroupRules() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},

Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultInstanceSecurityGroupRuleTimeout),
},
Schema: map[string]*schema.Schema{
"security_group_id": {
Type: schema.TypeString,
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_instance_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ func resourceScalewayInstanceServer() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultInstanceServerWaitTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"name": {
Expand Down
3 changes: 1 addition & 2 deletions scaleway/resource_instance_volume.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,8 @@ func resourceScalewayInstanceVolume() *schema.Resource {
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Delete: scw.TimeDurationPtr(InstanceVolumeDeleteTimeout),
Default: schema.DefaultTimeout(defaultInstanceVolumeDeleteTimeout),
},

Schema: map[string]*schema.Schema{
"name": {
Type: schema.TypeString,
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_k8s_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ func resourceScalewayK8SCluster() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultK8SClusterTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"name": {
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_k8s_pool.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ func resourceScalewayK8SPool() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultK8SPoolTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"cluster_id": {
Expand Down
5 changes: 4 additions & 1 deletion scaleway/resource_lb.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ func resourceScalewayLb() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultLbLbTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"name": {
Expand Down Expand Up @@ -90,7 +93,7 @@ func resourceScalewayLbCreate(ctx context.Context, d *schema.ResourceData, m int
_, err = lbAPI.WaitForLb(&lb.WaitForLBRequest{
Region: region,
LBID: res.ID,
Timeout: scw.TimeDurationPtr(InstanceServerWaitForTimeout),
Timeout: scw.TimeDurationPtr(defaultInstanceServerWaitTimeout),
}, scw.WithContext(ctx))
if err != nil {
return diag.FromErr(err)
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_lb_backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ func resourceScalewayLbBackend() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultLbLbTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"lb_id": {
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_lb_certificate.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ func resourceScalewayLbCertificate() *schema.Resource {
UpdateContext: resourceScalewayLbCertificateUpdate,
DeleteContext: resourceScalewayLbCertificateDelete,
SchemaVersion: 0,
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultLbLbTimeout),
},
Schema: map[string]*schema.Schema{
"lb_id": {
Type: schema.TypeString,
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_lb_frontend.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ func resourceScalewayLbFrontend() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultLbLbTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"lb_id": {
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_lb_ip.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ func resourceScalewayLbIP() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultLbLbTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"reverse": {
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_object_bucket.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ func resourceScalewayObjectBucket() *schema.Resource {
ReadContext: resourceScalewayObjectBucketRead,
UpdateContext: resourceScalewayObjectBucketUpdate,
DeleteContext: resourceScalewayObjectBucketDelete,
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultObjectBucketTimeout),
},
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Expand Down
7 changes: 5 additions & 2 deletions scaleway/resource_rdb_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ func resourceScalewayRdbInstance() *schema.Resource {
ReadContext: resourceScalewayRdbInstanceRead,
UpdateContext: resourceScalewayRdbInstanceUpdate,
DeleteContext: resourceScalewayRdbInstanceDelete,
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultRdbInstanceTimeout),
},
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Expand Down Expand Up @@ -150,7 +153,7 @@ func resourceScalewayRdbInstanceCreate(ctx context.Context, d *schema.ResourceDa
_, err = rdbAPI.WaitForInstance(&rdb.WaitForInstanceRequest{
Region: region,
InstanceID: res.ID,
Timeout: scw.TimeDurationPtr(InstanceServerWaitForTimeout),
Timeout: scw.TimeDurationPtr(defaultInstanceServerWaitTimeout),
}, scw.WithContext(ctx))
if err != nil {
return diag.FromErr(err)
Expand Down Expand Up @@ -267,7 +270,7 @@ func resourceScalewayRdbInstanceUpdate(ctx context.Context, d *schema.ResourceDa
_, err = rdbAPI.WaitForInstance(&rdb.WaitForInstanceRequest{
Region: region,
InstanceID: ID,
Timeout: scw.TimeDurationPtr(InstanceServerWaitForTimeout * 3), // upgrade takes some time
Timeout: scw.TimeDurationPtr(defaultInstanceServerWaitTimeout * 3), // upgrade takes some time
}, scw.WithContext(ctx))
if err != nil {
return diag.FromErr(err)
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_rdb_user.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ func resourceScalewayRdbUser() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultRdbInstanceTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"instance_id": {
Expand Down
3 changes: 3 additions & 0 deletions scaleway/resource_registry_namespace.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ func resourceScalewayRegistryNamespace() *schema.Resource {
Importer: &schema.ResourceImporter{
StateContext: schema.ImportStatePassthroughContext,
},
Timeouts: &schema.ResourceTimeout{
Default: schema.DefaultTimeout(defaultRegistryNamespaceTimeout),
},
SchemaVersion: 0,
Schema: map[string]*schema.Schema{
"name": {
Expand Down