From a2dcedabda398e80b6bde84de38e3fa08f52956a Mon Sep 17 00:00:00 2001 From: Philippe Kueck Date: Thu, 1 Jul 2021 11:21:33 +0200 Subject: [PATCH] fixes #827 some ansible collections write their own module classes derived from ansible.module_utils.basic.AnsibleModule, thus lacking that import in the plugin file. NewStylePlanner was unable to detect these plugins as Ansiballz. This commit extends the search pattern for NewStylePlanner to also detect ansible_collections imports. --- 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 c0913a3e..a17189a3 100644 --- a/ansible_mitogen/planner.py +++ b/ansible_mitogen/planner.py @@ -41,6 +41,7 @@ import json import logging import os import random +import re from ansible.executor import module_common from ansible.collections.list import list_collection_dirs @@ -297,11 +298,11 @@ class NewStylePlanner(ScriptPlanner): preprocessing the module. """ runner_name = 'NewStyleRunner' - marker = b'from ansible.module_utils.' + MARKER = re.compile(b'from ansible(?:_collections|\.module_utils)\.') @classmethod def detect(cls, path, source): - return cls.marker in source + return cls.MARKER.search(source) != None def _get_interpreter(self): return None, None