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

fix(servicecatalog): avoid asset hash change for latest version in ProductStackHistory #32248

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

1001R
Copy link

@1001R 1001R commented Nov 22, 2024

Issue # (if applicable)

Closes #24561.

Reason for this change

If you use ProductStackHistory to manage the historic versions of your product and add a new version to it, the latest version (before adding the new one) changes because the asset hash computed for the product template changes. This happens because the asset hash for the current version and historic versions is computed in a different way.

Description of changes

I changed the code to make sure that the asset hash for a product template is computed the same way, no matter if derived directly from a ProductStack instance (as is the case for the current version) or read from a snapshot. For the current version, the code used to synthesize the template in memory and hash the string, before writing the template to disk. I changed the order, writing the template to disk and then use FileSystem.fingerprint on the file - which is exactly what is used for snapshot versions.

This way, the asset hashes of historic version of existing products based ProductStack won't change as the code changes affects only the current version.

Description of how you validated changes

I've added a unit test to cover this particular scenario. However, I wasn't able to update the integration tests. I tried but no matter what I did I always got the following error message although I configured the credentials for my account and bootstrapped it correctly. It's my first contribution, so I may have missed something obvious.

Could not assume role in target account using current credentials (which are for account ************) getaddrinfo ENOTFOUND sts.test-region.amazonaws.com . Please make sure that this role exists in the account. If it doesn't exist, (re)-bootstrap the environment with the right '--trust', using the latest version of the CDK CLI

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@github-actions github-actions bot added the beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK label Nov 22, 2024
@aws-cdk-automation aws-cdk-automation requested a review from a team November 22, 2024 09:38
@github-actions github-actions bot added bug This issue is a bug. effort/medium Medium work item – several days of effort p2 labels Nov 22, 2024
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@aws-cdk-automation
Copy link
Collaborator

The pull request linter fails with the following errors:

❌ Fixes must contain a change to an integration test file and the resulting snapshot.

PRs must pass status checks before we can provide a meaningful review.

If you would like to request an exemption from the status checks or clarification on feedback, please leave a comment on this PR containing Exemption Request and/or Clarification Request.

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: acd8cef
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK bug This issue is a bug. effort/medium Medium work item – several days of effort p2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

(servicecatalog): ProductStackHistory changes last product version ID
2 participants