Skip to content

Commit

Permalink
Python 3: don't convert module arguments to bytes
Browse files Browse the repository at this point in the history
Fixes a test failure:

    ======================================================================
    ERROR: test_module_utils_basic_ansible_module_creation (units.module_utils.test_basic.TestModuleUtilsBasic)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/mg/src/ansible/test/units/module_utils/test_basic.py", line 250, in test_module_utils_basic_ansible_module_creation
        supports_check_mode=True,
      File "/home/mg/src/ansible/lib/ansible/module_utils/basic.py", line 470, in __init__
        self._check_required_arguments()
      File "/home/mg/src/ansible/lib/ansible/module_utils/basic.py", line 1050, in _check_required_arguments
        self.fail_json(msg="missing required arguments: %s" % ",".join(missing))
      File "/home/mg/src/ansible/lib/ansible/module_utils/basic.py", line 1445, in fail_json
        sys.exit(1)
    SystemExit: 1
    -------------------- >> begin captured stdout << ---------------------
    {"msg": "missing required arguments: foo", "failed": true}

because converting 'foo' to bytes yields b'foo' on Python 3, which
doesn't match the native-unicode 'foo' argument spec.
  • Loading branch information
mgedmin committed Oct 14, 2015
1 parent ee559e0 commit 073f10a
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion lib/ansible/module_utils/basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -1240,7 +1240,10 @@ def _set_defaults(self, pre=True):

def _load_params(self):
''' read the input and return a dictionary and the arguments string '''
params = json_dict_unicode_to_bytes(json.loads(MODULE_COMPLEX_ARGS))
params = json.loads(MODULE_COMPLEX_ARGS)
if str is bytes:
# Python 2
params = json_dict_unicode_to_bytes(params)
if params is None:
params = dict()
return params
Expand Down

0 comments on commit 073f10a

Please sign in to comment.