aws / aws/aws-cdk

(aws-eks): Tag Update in EKS-based Stack triggers "Version and ReleaseVersion updates cannot be combined with other updates"

Open
#16,644 23 comments 29 reactions 0 assignees View on GitHub
@aws-cdk/aws-eks @aws-cdk/aws-eks-v2-alpha bug needs-cfn p1
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

Hello guys,

We have a CDK Stack that, among others, it bundles together the creation of an EKS Cluster with an EKS Managed NodeGroup. For cost/analytic purposes we have some mandatory tags being applied to all the resources of a Stack. If a Tag is being added/changed/removed, the change is propagated in the CDK tree to all the resources as you can see below.

```sh
[~] AWS::EKS::Nodegroup awsrefeksCluster/Cluster/NodegroupNodeGroup awsrefeksClusterNodegroupNodeGroup36246D59
└─ [~] Tags
└─ [~] .CiCd:CdkLibPpbVersion:
├─ [-] 7.40.0
└─ [+] 7.41.0
.........
[~] AWS::EC2::LaunchTemplate awsrefeksCluster/NodeGroup-LaunchTemplate awsrefeksClusterNodeGroupLaunchTemplate4E8E0D48
└─ [~] LaunchTemplateData
└─ [~] .TagSpecifications:
└─ @@ -24,7 +24,7 @@
[ ] },
[ ] {
[ ] "Key": "CiCd:CdkLibPpbVersion",
[-] "Value": "7.40.0"
[+] "Value": "7.41.0"
[ ] },
[ ] {
[ ] "Key": "CiCd:Product",
@@ -65,7 +65,7 @@
[ ] },
[ ] {
[ ] "Key": "CiCd:CdkLibPpbVersion",
[-] "Value": "7.40.0"
[+] "Value": "7.41.0"
[ ] },
[ ] {
[ ] "Key": "CiCd:Product",
```

Basically the only change is one of the Tag's values which is applied to all the resources, but we are interested in particular about the `AWS::EKS::NodeGroup` and `AWS::EC2::LaunchTemplate` as the Stack update fails with the following error:

```
AwsrefeksStack-ephemeral-tauta: creating CloudFormation changeset...
14:32:16 | UPDATE_FAILED | AWS::EKS::Nodegroup | awsrefeksClusterNo...pNodeGroup36246D59
Version and ReleaseVersion updates cannot be combined with other updates
```

Did someone else face this issue before and might be able to advise? Thank you a lot!

### What did you expect to happen?

Have the Tags updated without their change to cause the `NodeGroup` and the `LaunchTemplate` update.

### Environment

- **CDK CLI Version :** 1.122.0
- **Framework Version:**
- **Node.js Version:** v16.4.0
- **OS :** MacOS
- **Language (Version):** TypeScript (3.8.3)

---

This is :bug: Bug Report

Contributor guide

Open the contributing guide

Research direction

Start with the AWS::EKS::Nodegroup and AWS::EC2::LaunchTemplate resources described in the issue, and reproduce the update using the shown tag change. Review the 23-comment thread for the current understanding of the CloudFormation failure. Done means tag changes no longer cause an invalid combined Version and ReleaseVersion update.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.