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
cs_ip_address: add a "tags" parameter to ensure idempotency #39016
Conversation
Thanks for this PR: This is a very interesting approach. I like the general idea to use a unique tag. However, this would be a "special case" in terms of we handle tags in this module differently than anywhere else. That is why I think carefully about it. Questions I made for myself:
Any thoughts? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs_info
Whatever the implementation, I think this shouldn’t break anything as long as the tags are “really unique” across the domain e.g random uuid as value. Defining a special tag was my first approach but it seemed an “even more special case” to me. |
shipit Thanks again for this helpful contribution! |
…#39016) * cs_ip_address: add a "tags" parameter to manage idempotency * cs_ip_address: add integration tests
…#39016) * cs_ip_address: add a "tags" parameter to manage idempotency * cs_ip_address: add integration tests
…#39016) * cs_ip_address: add a "tags" parameter to manage idempotency * cs_ip_address: add integration tests
SUMMARY
Due to Cloudstack API limitations, the calls related to IP addresses aren't idempotent.
This implies implementing some complex mechanisms in playbooks that manage public access to Cloudstack deployments.
However, resources tagging can be used to uniquely identify IP addresses.
ISSUE TYPE
COMPONENT NAME
lib/ansible/modules/cloud/cloudstack/cs_ip_address.py
ANSIBLE VERSION
ADDITIONAL INFORMATION