Description of problem: The manageiq-core.manageiq-automate is not Python3 compatible and so does not run on CFME 5.11 Version-Release number of selected component (if applicable): 5.11.0.18 How reproducible: Every time Steps to Reproduce: 1. Create a playbook that uses the manageiq-core.manageiq-automate module (sample attached) 2. Run the playbook as an automate playbook method. Actual results: An error is printed to evm.log when the role's module is run: TASK [manageiq-core.manageiq-automate : Initialize the Workspace] ************** An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AttributeError: 'dict' object has no attribute 'iteritems' fatal: [localhost]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"}, "changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1565175639.8920436-258877014859800/AnsiballZ_manageiq_automate.py\", line 114, in <module>\n _ansiballz_main()\n File \"/root/.ansib le/tmp/ansible-tmp-1565175639.8920436-258877014859800/AnsiballZ_manageiq_automate.py\", line 106, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/root/.ansible/tmp/ansible-tmp-1565175639.8920436-258877014859800/AnsiballZ_manageiq_automate.py\", line 49, in invoke_module\n imp.load_module('__main__', mod, module, MOD_D ESC)\n File \"/usr/lib64/python3.6/imp.py\", line 235, in load_module\n return load_source(name, filename, file)\n File \"/usr/lib64/python3.6/imp.py\", line 170, in load_source\n module = _exec(spec, sys.modules[name])\n File \"<frozen importlib._bootstrap>\", line 618, in _exec\n File \"<frozen importlib._bootstrap_external>\", line 678, in exec_modu le\n File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n File \"/tmp/ansible_manageiq_automate_payload_dzv9_w3w/__main__.py\", line 509, in <module>\n File \"/tmp/ansible_manageiq_automate_payload_dzv9_w3w/__main__.py\", line 495, in main\nAttributeError: 'dict' object has no attribute 'iteritems'\n", "module_stdout": "", "msg": " MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1} PLAY RECAP ********************************************************************* Expected results: The role should run successfully Additional info:
Created attachment 1601355 [details] playbook to reproduce the problem
PR: https://github.com/ManageIQ/manageiq-content/pull/557 Tested with Python 2 for backwards compatibility. All worked
*** Bug 1736116 has been marked as a duplicate of this bug. ***
New commit detected on ManageIQ/manageiq-content/ivanchuk: https://github.com/ManageIQ/manageiq-content/commit/594756ec4207a9101978d049f22af0a6de3d27aa commit 594756ec4207a9101978d049f22af0a6de3d27aa Author: Greg McCullough <gmccullo> AuthorDate: Fri Aug 9 18:04:04 2019 -0400 Commit: Greg McCullough <gmccullo> CommitDate: Fri Aug 9 18:04:04 2019 -0400 Merge pull request #557 from pemcg/manageiq-automate_python3_compatibility Changes for Python 3 compatibility (CFME 5.11/RHEL8) (cherry picked from commit 805a31b1fcc8abef623e31fffd5670c193f2c763) https://bugzilla.redhat.com/show_bug.cgi?id=1738542 content/ansible/roles/manageiq-core.manageiq-automate/library/manageiq_automate.py | 12 +- 1 file changed, 6 insertions(+), 6 deletions(-)
Able to see the python compatibility changes are present. Verified Version: 5.11.0.19.20190813184334_ed72c9f