From 2510f1a2c276e68bba6c687261fd2a51fd208031 Mon Sep 17 00:00:00 2001 From: Steven Robertson Date: Fri, 20 Nov 2020 19:14:49 -0800 Subject: [PATCH] fix py3.5.1-3.5.3 setup import error for Ansible 2.10 --- ansible_mitogen/planner.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ansible_mitogen/planner.py b/ansible_mitogen/planner.py index fc57f01b..3ae90042 100644 --- a/ansible_mitogen/planner.py +++ b/ansible_mitogen/planner.py @@ -553,13 +553,14 @@ def _fix_py35(invocation, module_source): We replace a relative import in the setup module with the actual full file path This works in vanilla Ansible but not in Mitogen otherwise """ - if invocation.module_name == 'setup' and \ + if invocation.module_name in {'ansible.builtin.setup', 'setup'} and \ invocation.module_path not in invocation._overridden_sources: # in-memory replacement of setup module's relative import # would check for just python3.5 and run this then but we don't know the # target python at this time yet + # NOTE: another ansible 2.10-specific fix: `from ..module_utils` used to be `from ...module_utils` module_source = module_source.replace( - b"from ...module_utils.basic import AnsibleModule", + b"from ..module_utils.basic import AnsibleModule", b"from ansible.module_utils.basic import AnsibleModule" ) invocation._overridden_sources[invocation.module_path] = module_source