-
Notifications
You must be signed in to change notification settings - Fork 319
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
Batch support for Route53 module #1971
Comments
@felixfontein If I remember right, you wanted to implement such feature long time ago :) @danmoz my workaround for this is to keep all your zone records in a var file (or roles default main.yml) - let's call it requested. - name: records that need to be created or updated
set_fact:
ADD_AND_UPDATE: "{{ REQUESTED | difference(EXISTS.ResourceRecordSets) | list }}" Now use Next, re-read what exists now using - name: records that need to be removed
set_fact:
REMOVE: "{{ EXISTS.ResourceRecordSets | difference(REQUESTED) | list }}" Loop again with The whole thing assumes that you must put all your zone record once in a var file. |
That's a really nice workaround @markuman! Thanks for sharing. I'd still love to have batch support in Ansible though 😉 |
Definitely! Never got around to do it unfortunately... |
Summary
Modify the route53 module to send multiple record updates in a batch. This would dramatically speed up playbooks which need to update a large number of records.
Issue Type
Feature Idea
Component Name
amazon.aws.route53
Additional Information
I find that the slowest parts of my playbooks are always those that update Route53 DNS records. By using asynchronous actions, I was able to speed things up a little, but it's still quite painful for bulk updates.
I noticed the Route53 API accepts batched requests in the form of
ChangeRecordSets
; if the module took advantage of this feature, updating 20 records would take about the same amount of time as updating a single record (i.e. O(n) to O(1) time).This would be a game changer for my use case and I suspect many others. It would also reduce the risk of being rate limited by AWS.
Code of Conduct
The text was updated successfully, but these errors were encountered: