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

r/aws_elasticache_replication_group: Use configured Delete timeout during resource Delete #37182

Merged
merged 29 commits into from
May 1, 2024
Merged
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
3ce1aa7
fix: error when scaling elasticache_replication_group
blgm Apr 5, 2023
14719f1
Add CHANGELOG entry.
ewbankkit Apr 26, 2024
8b4c722
Change order of operations for applying elasticache modifications
chris-peterson Dec 8, 2023
b87e0a4
Add CHANGELOG entry.
ewbankkit Apr 26, 2024
5ecf32f
r/aws_elasticache_serverless_cache: Reduce visibility.
ewbankkit Apr 26, 2024
d0c58e5
Acceptance test output:
ewbankkit Apr 27, 2024
9e56ed4
d/aws_elasticache_cluster: Reduce visibility.
ewbankkit Apr 29, 2024
e7113f9
r/aws_elasticache_user: Reduce visibility.
ewbankkit Apr 29, 2024
9ef4be3
d/aws_elasticache_user: Reduce visibility.
ewbankkit Apr 29, 2024
267b2b4
r/aws_elasticache_user_group: Reduce visibility.
ewbankkit Apr 29, 2024
a25da3e
r/aws_elasticache_user_group_association: Reduce visibility.
ewbankkit Apr 29, 2024
b66a5ee
elasticache: Some tidy up.
ewbankkit Apr 29, 2024
2700ee1
r/aws_elasticache_replication_group: Reduce visibility.
ewbankkit Apr 29, 2024
1d154ff
d/aws_elasticache_replication_group: Reduce visibility.
ewbankkit Apr 29, 2024
3d61cc7
r/aws_elasticache_parameter_group: Reduce visibility.
ewbankkit Apr 29, 2024
39f5caf
Add 'predicates.PredicateAnd'.
ewbankkit Apr 29, 2024
9aa1ca8
r/aws_elasticache_global_replication_group: Reduce visibility.
ewbankkit Apr 29, 2024
2d75b48
r/aws_elasticache_cluster: Reduce visibility.
ewbankkit Apr 29, 2024
23db18e
d/aws_elasticache_cluster: Tidy up.
ewbankkit Apr 29, 2024
f6db00a
Merge branch 'main' into f-aws_elasticache_replication_group.timeouts
ewbankkit Apr 29, 2024
fea8696
r/aws_elasticache_global_replication_group: Use 'sdkv2.ResourceDiffer'.
ewbankkit Apr 29, 2024
1750f12
r/aws_elasticache_replication_group: Tidy up acceptance test checks.
ewbankkit Apr 29, 2024
59ec384
Fix #34819.
ewbankkit Apr 30, 2024
6a60931
r/aws_elasticache_replication_group: Tidy up.
ewbankkit Apr 30, 2024
b517ac2
r/aws_elasticache_replication_group: Use the configured Delete timeou…
ewbankkit Apr 30, 2024
c59a4e0
Correct CHANGELOG entry file name.
ewbankkit Apr 30, 2024
6bdb349
Fix golangci-lint 'unparam' and 'revive'.
ewbankkit Apr 30, 2024
1b89739
Fix 'TestAccElastiCacheGlobalReplicationGroup_basic'.
ewbankkit May 1, 2024
552900a
Fix semgrep 'dgryski.semgrep-go.errnilcheck.err-nil-check'.
ewbankkit May 1, 2024
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
Prev Previous commit
Next Next commit
r/aws_elasticache_replication_group: Use the configured Delete timeou…
…t when detaching from any global replication group.
ewbankkit committed Apr 30, 2024

Verified

This commit was signed with the committer’s verified signature. The key has expired.
mmarchini mary marchini
commit b517ac2bb3233c5ab6e1562d8b01861288f4e38c
7 changes: 7 additions & 0 deletions .changelog/#####.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
```release-note:enhancement
resource/aws_elasticache_replication_group: Increase default Delete timeout to 45 minutes
```

```release-note:enhancement
resource/aws_elasticache_replication_group: Use the configured Delete timeout when detaching from any global replication group
```
4 changes: 2 additions & 2 deletions internal/service/elasticache/global_replication_group.go
Original file line number Diff line number Diff line change
@@ -766,12 +766,12 @@ const (
globalReplicationGroupMemberStatusAssociated = "associated"
)

func waitGlobalReplicationGroupMemberDetached(ctx context.Context, conn *elasticache.ElastiCache, globalReplicationGroupID, replicationGroupID string) (*elasticache.GlobalReplicationGroupMember, error) {
func waitGlobalReplicationGroupMemberDetached(ctx context.Context, conn *elasticache.ElastiCache, globalReplicationGroupID, replicationGroupID string, timeout time.Duration) (*elasticache.GlobalReplicationGroupMember, error) {
stateConf := &retry.StateChangeConf{
Pending: []string{globalReplicationGroupMemberStatusAssociated},
Target: []string{},
Refresh: statusGlobalReplicationGroupMember(ctx, conn, globalReplicationGroupID, replicationGroupID),
Timeout: 20 * time.Minute,
Timeout: timeout,
MinTimeout: 10 * time.Second,
Delay: 30 * time.Second,
}
9 changes: 3 additions & 6 deletions internal/service/elasticache/replication_group.go
Original file line number Diff line number Diff line change
@@ -375,7 +375,7 @@
Timeouts: &schema.ResourceTimeout{
Create: schema.DefaultTimeout(60 * time.Minute),
Update: schema.DefaultTimeout(40 * time.Minute),
Delete: schema.DefaultTimeout(40 * time.Minute),
Delete: schema.DefaultTimeout(45 * time.Minute),
},

CustomizeDiff: customdiff.Sequence(
@@ -747,7 +747,7 @@
if err := increaseReplicationGroupReplicaCount(ctx, conn, d.Id(), newCacheClusterCount, d.Timeout(schema.TimeoutUpdate)); err != nil {
return sdkdiag.AppendFromErr(diags, err)
}
} else if newCacheClusterCount < oldCacheClusterCount {

Check warning on line 750 in internal/service/elasticache/replication_group.go

GitHub Actions / 2 of 2

empty-block: this block is empty, you can remove it (revive)
// Defer until after all other modifications are made.
}
}
@@ -963,10 +963,7 @@

v, hasGlobalReplicationGroupID := d.GetOk("global_replication_group_id")
if hasGlobalReplicationGroupID {
const (
timeout = 45 * time.Minute
)
if err := disassociateReplicationGroup(ctx, conn, v.(string), d.Id(), meta.(*conns.AWSClient).Region, timeout); err != nil {
if err := disassociateReplicationGroup(ctx, conn, v.(string), d.Id(), meta.(*conns.AWSClient).Region, d.Timeout(schema.TimeoutDelete)); err != nil {
return sdkdiag.AppendFromErr(diags, err)
}
}
@@ -1033,7 +1030,7 @@
return fmt.Errorf("disassociating ElastiCache Replication Group (%s) from Global Replication Group (%s): %w", replicationGroupID, globalReplicationGroupID, err)
}

if _, err := waitGlobalReplicationGroupMemberDetached(ctx, conn, globalReplicationGroupID, replicationGroupID); err != nil {
if _, err := waitGlobalReplicationGroupMemberDetached(ctx, conn, globalReplicationGroupID, replicationGroupID, timeout); err != nil {
return fmt.Errorf("waiting for ElastiCache Replication Group (%s) detach: %w", replicationGroupID, err)
}

@@ -1349,7 +1346,7 @@
}
}

func waitReplicationGroupMemberClustersAvailable(ctx context.Context, conn *elasticache.ElastiCache, replicationGroupID string, timeout time.Duration) ([]*elasticache.CacheCluster, error) {

Check failure on line 1349 in internal/service/elasticache/replication_group.go

GitHub Actions / 2 of 2

waitReplicationGroupMemberClustersAvailable - result 0 ([]*github.com/aws/aws-sdk-go/service/elasticache.CacheCluster) is never used (unparam)
stateConf := &retry.StateChangeConf{
Pending: []string{
cacheClusterStatusCreating,
Original file line number Diff line number Diff line change
@@ -273,7 +273,7 @@ This resource exports the following attributes in addition to the arguments abov
[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts):

* `create` - (Default `60m`)
* `delete` - (Default `40m`)
* `delete` - (Default `45m`)
* `update` - (Default `40m`)

## Import