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

Breaking change in logical IDs and resource paths between 1.14.1 and 1.15.0 #1033

Closed
paulchambers opened this issue Jul 1, 2024 · 6 comments
Labels
bug Something isn't working

Comments

@paulchambers
Copy link

paulchambers commented Jul 1, 2024

Describe the bug

When upgrading from 1.14.1 to 1.15.0 the logical IDs and aws:cdk:path of resources created by the blueprint change.

Using this stack

const stack = blueprints.EksBlueprint.builder()
    .account(account)
    .region(region)
    .version(KubernetesVersion.V1_29)
    .build(app, 'eks-blueprint');

Results in the following paths:

1.14.1: "eks-blueprint/eks-blueprint/Nodegroupeks-blueprint-ng-ng/NodeGroupRole/Resource"
1.15.0: "eks-blueprint/eks-blueprint/eks-blueprint/Nodegroupeks-blueprint-ng-ng/NodeGroupRole/Resource"

The extra nested blueprint name results in almost all resources being replaced.

If resources are using static logical IDs* then this also results in the deployment failing entirely.

* for example the karpenter addon uses an ID based on a hash of the cluster name and region.

Expected Behavior

Resource paths do not change between versions

Current Behavior

Logical IDs and resource paths for 100s of resources have changed resulting in resource replacement and deployment failure

Reproduction Steps

as above

Possible Solution

No response

Additional Information/Context

I think this might have been introduced in this commit 2290eda

CDK CLI Version

2.147.1 (build d3695d4)

EKS Blueprints Version

1.15.0

Node.js Version

v20.14.0

Environment details (OS name and version, etc.)

Windows 11

Other information

No response

@paulchambers paulchambers added the bug Something isn't working label Jul 1, 2024
@shapirov103
Copy link
Collaborator

@paulchambers an unfortunate consequence of the construct introduction here to facilitate reuse. Let me look into a way to keep it backwards compatible.

@shapirov103
Copy link
Collaborator

this has been addressed in the PR referenced above. There is another issue pending, once it is resolved I will release 1.15.1 with the fix, should be within a day after the fix.

@paulchambers
Copy link
Author

@shapirov103 thanks for the speedy fix!

@vumdao
Copy link
Contributor

vumdao commented Jul 2, 2024

This took me much time to understand why, looking forward for the release 1.15.1

@shapirov103
Copy link
Collaborator

1.15.1 is released @paulchambers @vumdao. We can reopen this issue if you observe any further compatibility issues.

@paulchambers
Copy link
Author

@shapirov103 1.15.1 has fixed the issue with the resource paths but i'm now seeing a different deployment failure. Looks related to #1036 so will add details there

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants