Closed kaovilai closed 2 years ago
I can confirm the error with both, current release and upcomming release.
But it happens only if the record does not exist.
ansible-galaxy collection list |grep community.aws
community.aws 1.5.0
community.aws 2.1.0-dev
---
- hosts: localhost
connection: local
tasks:
- community.aws.route53:
state: get
zone: xn--mitlinuxwrdasnichtpassiert-ohc.de
record: mussmanwissen.xn--mitlinuxwrdasnichtpassiert-ohc.de.
type: A
register: test
- debug:
var: test
output
PLAY [localhost] ********************************************************************************************************************************************************************************************************************
TASK [Gathering Facts] **************************************************************************************************************************************************************************************************************
ok: [localhost]
TASK [community.aws.route53] ********************************************************************************************************************************************************************************************************
ok: [localhost]
TASK [debug] ************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
"test": {
"changed": false,
"failed": false,
"nameservers": [
"ns-108.awsdns-13.com.",
"ns-1264.awsdns-30.org.",
"ns-737.awsdns-28.net.",
"ns-1554.awsdns-02.co.uk."
],
"resource_record_sets": [
{
"name": "mussmanwissen.xn--mitlinuxwrdasnichtpassiert-ohc.de.",
"resource_records": [
{
"value": "127.0.0.1"
}
],
"ttl": 60,
"type": "A"
}
],
"set": {
"Name": "mussmanwissen.xn--mitlinuxwrdasnichtpassiert-ohc.de.",
"ResourceRecords": [
{
"Value": "127.0.0.1"
}
],
"TTL": 60,
"Type": "A",
"alias": false,
"failover": null,
"health_check": null,
"hosted_zone_id": "Z09919173I6GJAOQAMTMA",
"identifier": null,
"record": "mussmanwissen.xn--mitlinuxwrdasnichtpassiert-ohc.de.",
"region": null,
"ttl": "60",
"type": "A",
"value": "127.0.0.1",
"values": [
"127.0.0.1"
],
"weight": null,
"zone": "xn--mitlinuxwrdasnichtpassiert-ohc.de."
}
}
}
PLAY RECAP **************************************************************************************************************************************************************************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
When the record does not exists
---
- hosts: localhost
connection: local
tasks:
- community.aws.route53:
state: get
zone: xn--mitlinuxwrdasnichtpassiert-ohc.de
record: doesnotexist.xn--mitlinuxwrdasnichtpassiert-ohc.de.
type: A
register: test
- debug:
var: test
I'll receive the same error
TASK [community.aws.route53] ********************************************************************************************************************************************************************************************************
task path: /home/m/git/lekker/iac/798.yml:6
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: m
<127.0.0.1> EXEC /bin/sh -c 'echo ~m && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/m/.ansible/tmp `"&& mkdir "` echo /home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765 `" && echo ansible-tmp-1636703337.6553104-21549-57181038135765="` echo /home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765 `" ) && sleep 0'
Using module file /home/m/.local/lib/python3.9/site-packages/ansible_collections/community/aws/plugins/modules/route53.py
<127.0.0.1> PUT /home/m/.ansible/tmp/ansible-local-21466oog6jc4o/tmpeo_xv0k3 TO /home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/AnsiballZ_route53.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/ /home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/AnsiballZ_route53.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python /home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/AnsiballZ_route53.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
File "/home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/AnsiballZ_route53.py", line 100, in <module>
_ansiballz_main()
File "/home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/AnsiballZ_route53.py", line 92, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/AnsiballZ_route53.py", line 40, in invoke_module
runpy.run_module(mod_name='ansible_collections.community.aws.plugins.modules.route53', init_globals=dict(_module_fqn='ansible_collections.community.aws.plugins.modules.route53', _modlib_path=modlib_path),
File "/usr/lib/python3.9/runpy.py", line 210, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/usr/lib/python3.9/runpy.py", line 97, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/tmp/ansible_community.aws.route53_payload_aekaeeo1/ansible_community.aws.route53_payload.zip/ansible_collections/community/aws/plugins/modules/route53.py", line 698, in <module>
File "/tmp/ansible_community.aws.route53_payload_aekaeeo1/ansible_community.aws.route53_payload.zip/ansible_collections/community/aws/plugins/modules/route53.py", line 636, in main
File "/tmp/ansible_community.aws.route53_payload_aekaeeo1/ansible_community.aws.route53_payload.zip/ansible/module_utils/common/dict_transformations.py", line 42, in camel_dict_to_snake_dict
AttributeError: 'NoneType' object has no attribute 'items'
fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File \"/home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/AnsiballZ_route53.py\", line 100, in <module>\n _ansiballz_main()\n File \"/home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/AnsiballZ_route53.py\", line 92, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/m/.ansible/tmp/ansible-tmp-1636703337.6553104-21549-57181038135765/AnsiballZ_route53.py\", line 40, in invoke_module\n runpy.run_module(mod_name='ansible_collections.community.aws.plugins.modules.route53', init_globals=dict(_module_fqn='ansible_collections.community.aws.plugins.modules.route53', _modlib_path=modlib_path),\n File \"/usr/lib/python3.9/runpy.py\", line 210, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/lib/python3.9/runpy.py\", line 97, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File \"/usr/lib/python3.9/runpy.py\", line 87, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_community.aws.route53_payload_aekaeeo1/ansible_community.aws.route53_payload.zip/ansible_collections/community/aws/plugins/modules/route53.py\", line 698, in <module>\n File \"/tmp/ansible_community.aws.route53_payload_aekaeeo1/ansible_community.aws.route53_payload.zip/ansible_collections/community/aws/plugins/modules/route53.py\", line 636, in main\n File \"/tmp/ansible_community.aws.route53_payload_aekaeeo1/ansible_community.aws.route53_payload.zip/ansible/module_utils/common/dict_transformations.py\", line 42, in camel_dict_to_snake_dict\nAttributeError: 'NoneType' object has no attribute 'items'\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
So in case the record does not exist, it should return an empty resource_record_sets: []
and also an emty set: []
Summary
route53 unable to return results from
get
Issue Type
Bug Report
Component Name
community.aws.route53
Ansible Version
Collection Versions
AWS SDK versions
Configuration
OS / Environment
macos
Steps to Reproduce
Expected Results
a list of A records
Actual Results
Code of Conduct