When I deploy using cloudformation aws cloudformation deploy --region $region --stack-name ABC
Got error:
An error occurred (ValidationError) when calling the CreateChangeSet operation: Stack:arn:aws:cloudformation:stack/service/7e1d8c70-d60f-11e9-9728-0a4501e4ce4c is in ROLLBACK_COMPLETE state and can not be updated.
Please help me !
This happens when stack creation fails. By default the stack will remain in place with a status of ROLLBACK_COMPLETE
. This means it's successfully rolled back (deleted) all the resources which the stack had created. The only thing remaining is the empty stack itself. You cannot update this stack; you must manually delete it, after which you can attempt to deploy it again.
If you set "Rollback on failure" to disabled in the console (or set --on-failure
to DO_NOTHING
in the CLI command), stack creation failure will instead result in a status of CREATE_FAILED
. Any resources created before the point of failure won't have been rolled back.
If instead you were deploying updates to an existing (successfully created) stack, and the updates failed but were successfully rolled back, it will go back into its previous valid state (with a status of UPDATE_ROLLBACK_COMPLETE
), allowing you to reattempt updates.
As @SteffenOpel points out, you can now specify that a stack should be deleted on failure by setting the --on-failure
option to DELETE
in the CLI. This option is not yet available in the console.