BitBucket Cloud Pipelines
aws-cloudformation-deploy Pipe version 0.10.0
TLDR; If a stack is in UPDATE_ROLLBACK_COMPLETE state and the next pipeline running against that stack results in "No updates are to be performed for stack", the pipe fails because stack state isn't UPDATE_COMPLETE
The scenario that occurred:
- A change was erroneously committed to the CloudFormation template which broke the AWS deployment
- AWS failed to deploy and rolled back, causing the pipeline to fail (GOOD)
- The change was rolled back to original form and committed, pipeline reruns
- Pipeline fails as it runs this Pipe because there are no changes to be made in AWS (template and params are same as current state) but pipe fails because final state is not what it expects - UPDATE_COMPLETE
Expected:
It's expected that the PIPE can detect when no changes are needed and treat that as a success regardless of the CloudFormation stack. This is how the AWS stack update process works and stack state changes only occur when changes are actually made.
Log:
<span>Status: Downloaded newer image for bitbucketpipelines/aws-cloudformation-deploy:0.10.0</span>
<span>INFO: Using default authentication with AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.</span>
<span>INFO: Found credentials in environment variables.</span>
<span>INFO: Using stack template from ./deploy.yml for deploy.</span>
<span>INFO: Validating the template.</span>
<span>INFO: Updating the stack for STACKNAME_IN_UPDATE_ROLLBACK_COMPLETE.</span>
<span>WARNING: No updates are to be performed for stack STACKNAME_IN_UPDATE_ROLLBACK_COMPLETE.</span>
<span>INFO: Waiting for update COMPLETE status...</span>
<span>✖ Failed to update the stack. Status UPDATE_ROLLBACK_COMPLETE.</span><span>Digest: sha256:24ad7558d24c7ce4bd5bf42272cd4a0b269248c7ac188277fbd314a337eb461d</span>