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

[PR #1790/2c917689 backport][stable-5] cloudformation_stack_set - Add a waiter to ensure that running operations against existing stacksets complete #1806

Conversation

patchback[bot]
Copy link

@patchback patchback bot commented May 5, 2023

This is a backport of PR #1790 as merged into main (2c91768).

SUMMARY

Add a waiter to ensure that running operations against existing stacksets complete. Current code would fail in cases where new instances need to be added since the previous update_stack_set(module, stack_params, cfn) would still be running.
Fixes #1608

ISSUE TYPE
  • Bugfix Pull Request
COMPONENT NAME

cloudformation_stack_set

ADDITIONAL INFORMATION

I initially thought that the module was not idempotent since new instances wouldn't be added to my existing stack sets. Upon closer examination, the issue had to do with the fact that we had prior calls being made before adding new instances to existing stack sets:

raise error_class(parsed_response, operation_name)\nbotocore.errorfactory.OperationInProgressException: 
    An error occurred (OperationInProgressException) when calling the UpdateStackInstances operation:
    Another Operation on StackSet arn:aws:cloudformation:us-east-1:XXXXXX:stackset/aws-config-stackset:2bcb419a-f263-48ca-9fe0-cdef11fb59de is in progress

The error got triggered because of a missing waiter after this operation:

changed |= update_stack_set(module, stack_params, cfn)

This change add a waiter function after the update operation, which, in turn, ensure that the subsequent call to add stack instances to the stack set properly run.

…ions against existing stacksets complete (#1790)

cloudformation_stack_set - Add a waiter to ensure that running operations against existing stacksets complete

SUMMARY
Add a waiter to ensure that running operations against existing stacksets complete. Current code would fail in cases where new instances need to be added since the previous update_stack_set(module, stack_params, cfn) would still be running.
Fixes #1608
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME
cloudformation_stack_set
ADDITIONAL INFORMATION
I initially thought that the module was not idempotent since new instances wouldn't be added to my existing stack sets. Upon closer examination, the issue had to do with the fact that we had prior calls being made before adding new instances to existing stack sets:
raise error_class(parsed_response, operation_name)\nbotocore.errorfactory.OperationInProgressException:
    An error occurred (OperationInProgressException) when calling the UpdateStackInstances operation:
    Another Operation on StackSet arn:aws:cloudformation:us-east-1:XXXXXX:stackset/aws-config-stackset:2bcb419a-f263-48ca-9fe0-cdef11fb59de is in progress
The error got triggered because of a missing waiter after this operation:
changed |= update_stack_set(module, stack_params, cfn)
This change add a waiter function after the update operation, which, in turn, ensure that the subsequent call to add stack instances to the stack set properly run.

Reviewed-by: Mark Chappell
(cherry picked from commit 2c91768)
@tremble tremble added the mergeit Merge the PR (SoftwareFactory) label May 5, 2023
@github-actions
Copy link

github-actions bot commented May 5, 2023

Docs Build 📝

Thank you for contribution!✨

This PR has been merged and your docs changes will be incorporated when they are next published.

@tremble tremble added this to the 5.5.0 milestone May 5, 2023
@softwarefactory-project-zuul
Copy link
Contributor

Build succeeded (gate pipeline).
https://ansible.softwarefactory-project.io/zuul/buildset/1755e46d34bf44fe9a271bab3d81ceac

✔️ ansible-galaxy-importer SUCCESS in 4m 07s
✔️ build-ansible-collection SUCCESS in 13m 16s
ansible-test-sanity-docker-devel FAILURE in 10m 53s (non-voting)
✔️ ansible-test-sanity-docker-milestone SUCCESS in 8m 54s (non-voting)
✔️ ansible-test-sanity-docker-stable-2.12 SUCCESS in 11m 52s
✔️ ansible-test-sanity-docker-stable-2.13 SUCCESS in 10m 34s
✔️ ansible-test-sanity-docker-stable-2.14 SUCCESS in 12m 48s
✔️ ansible-test-units-amazon-aws-python36 SUCCESS in 7m 52s
✔️ ansible-test-units-amazon-aws-python38 SUCCESS in 6m 24s
✔️ ansible-test-units-amazon-aws-python39 SUCCESS in 7m 21s
✔️ ansible-test-units-amazon-aws-python310 SUCCESS in 7m 00s
✔️ ansible-test-changelog SUCCESS in 4m 22s
✔️ ansible-test-splitter SUCCESS in 4m 54s
Skipped 22 jobs

@softwarefactory-project-zuul softwarefactory-project-zuul bot merged commit f2e5d18 into stable-5 May 5, 2023
@softwarefactory-project-zuul softwarefactory-project-zuul bot deleted the patchback/backports/stable-5/2c91768935123f9dfe1af0713146002c98309da7/pr-1790 branch May 5, 2023 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mergeit Merge the PR (SoftwareFactory)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants