aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap

AWS::ElastiCache::GlobalReplicationGroup properties update

Open
#1,965 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
No language data
Stars
1.1k
Forks
62
PR merge metrics
No merged PRs in 30d

Description

### Name of the resource

AWS::ElastiCache::GlobalReplicationGroup

### Resource Name

_No response_

### Issue Description

`AWS::ElastiCache::ReplicationGroup` are interdependent `AWS::ElastiCache::GlobalReplicationGroup`.

`GlobalReplicationGroup` needs at least one member, which must be a reference to `ReplicationGroup`.

During stack creation, CFN will create a `ReplicationGroup` first, while it requires `cacheNodeType` set (even though it’s marked as optional [in the CFN template reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#aws-resource-elasticache-replicationgroup-properties)). Afterwards, CFN will create `GlobalReplicationGroup`. That works.

However, the stack update will fail because CFN tries to update `cacheNodeType` in `ReplicationGroup` which it can't as the property is now controlled by the `GlobalReplicationGroup`

### Expected Behavior

If you change `cacheNodeType`, the stack update should pass.

### Observed Behavior

If you change `cacheNodeType`, the stack update will fail with:

> Replication Group [abc] is a member of Global Replication Group [xyz], hence NodeType property cannot be modified.Current value = [cache.m6g.large], Desired value = [cache.m6g.xlarge]

### Test Cases

1. Create a CFN template with `AWS::ElastiCache::ReplicationGroup` and `AWS::ElastiCache::GlobalReplicationGroup`
2. Deploy the stack
3. Change `cacheNodeType`
4. Try to deploy the update

### Other Details

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue with an AWS CloudFormation template containing AWS::ElastiCache::ReplicationGroup and AWS::ElastiCache::GlobalReplicationGroup, then change cacheNodeType and deploy the update. Done means the stack update succeeds without the NodeType modification error.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cloud, databases, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.