mirror of https://github.com/ceph/ceph-ansible.git
library: fix bug in radosgw_zone.py
If for some reason `get_zonegroup()` returns a failure, we must handle and make the module exit properly instead of failing with the following python trace: ``` Traceback (most recent call last): File "./AnsiballZ_radosgw_zone.py", line 247, in <module> _ansiballz_main() File "./AnsiballZ_radosgw_zone.py", line 234, in _ansiballz_main exitcode = debug(sys.argv[1], zipped_mod, ANSIBALLZ_PARAMS) File "./AnsiballZ_radosgw_zone.py", line 202, in debug runpy.run_module(mod_name='ansible.modules.radosgw_zone', init_globals=None, run_name='__main__', alter_sys=True) File "/usr/lib64/python3.6/runpy.py", line 205, in run_module return _run_module_code(code, init_globals, run_name, mod_spec) File "/usr/lib64/python3.6/runpy.py", line 96, in _run_module_code mod_name, mod_spec, pkg_name, script_name) File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/vagrant/.ansible/tmp/ansible-tmp-1610728441.41-685133-218973990589597/debug_dir/ansible/modules/radosgw_zone.py", line 467, in <module> main() File "/home/vagrant/.ansible/tmp/ansible-tmp-1610728441.41-685133-218973990589597/debug_dir/ansible/modules/radosgw_zone.py", line 463, in main run_module() File "/home/vagrant/.ansible/tmp/ansible-tmp-1610728441.41-685133-218973990589597/debug_dir/ansible/modules/radosgw_zone.py", line 425, in run_module zonegroup = json.loads(_out) File "/usr/lib64/python3.6/json/__init__.py", line 354, in loads return _default_decoder.decode(s) File "/usr/lib64/python3.6/json/decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib64/python3.6/json/decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) ``` Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>pull/6212/head
parent
959140e785
commit
fedb36688d
|
@ -16,6 +16,10 @@ from __future__ import absolute_import, division, print_function
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
|
try:
|
||||||
|
from ansible.module_utils.ca_common import fatal
|
||||||
|
except ImportError:
|
||||||
|
from module_utils.ca_common import fatal
|
||||||
import datetime
|
import datetime
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
@ -412,6 +416,7 @@ def run_module():
|
||||||
if rc == 0:
|
if rc == 0:
|
||||||
zone = json.loads(out)
|
zone = json.loads(out)
|
||||||
_rc, _cmd, _out, _err = exec_commands(module, get_zonegroup(module, container_image=container_image))
|
_rc, _cmd, _out, _err = exec_commands(module, get_zonegroup(module, container_image=container_image))
|
||||||
|
if _rc == 0:
|
||||||
zonegroup = json.loads(_out)
|
zonegroup = json.loads(_out)
|
||||||
if not access_key:
|
if not access_key:
|
||||||
access_key = ''
|
access_key = ''
|
||||||
|
@ -430,6 +435,8 @@ def run_module():
|
||||||
if current != asked:
|
if current != asked:
|
||||||
rc, cmd, out, err = exec_commands(module, modify_zone(module, container_image=container_image))
|
rc, cmd, out, err = exec_commands(module, modify_zone(module, container_image=container_image))
|
||||||
changed = True
|
changed = True
|
||||||
|
else:
|
||||||
|
fatal(_err, module)
|
||||||
else:
|
else:
|
||||||
rc, cmd, out, err = exec_commands(module, create_zone(module, container_image=container_image))
|
rc, cmd, out, err = exec_commands(module, create_zone(module, container_image=container_image))
|
||||||
changed = True
|
changed = True
|
||||||
|
|
Loading…
Reference in New Issue