from ansible.plugins.callback import CallbackBase from ansible.executor.task_queue_manager import TaskQueueManager from ansible.playbook.play import Play from ansible.cli.adhoc import AdHocCLI from pytest_ansible.logger import get_logger from pytest_ansible.module_dispatcher.v2 import ModuleDispatcherV2 from pytest_ansible.results import AdHocResult from pytest_ansible.errors import AnsibleConnectionFailure from pytest_ansible.has_version import has_ansible_v28 if not has_ansible_v28: raise ImportError("Only supported with ansible-2.8 and newer") else: from ansible.plugins.loader import module_loader log = get_logger(__name__) class ResultAccumulator(CallbackBase): """Fixme.""" def __init__(self, *args, **kwargs): """Initialize object.""" super(ResultAccumulator, self).__init__(*args, **kwargs) self.contacted = {} self.unreachable = {} def v2_runner_on_failed(self, result, *args, **kwargs): self.contacted[result._host.get_name()] = result._result v2_runner_on_ok = v2_runner_on_failed
import ansible.constants import ansible.utils import ansible.errors from ansible.runner import Runner from pytest_ansible.logger import get_logger from pytest_ansible.module_dispatcher import BaseModuleDispatcher from pytest_ansible.errors import AnsibleConnectionFailure from pytest_ansible.results import AdHocResult from pytest_ansible.has_version import has_ansible_v1 if not has_ansible_v1: raise ImportError("Only supported with ansible < 2.0") log = get_logger(__name__) class ModuleDispatcherV1(BaseModuleDispatcher): """Pass.""" required_kwargs = ('inventory', 'inventory_manager', 'host_pattern') def has_module(self, name): return ansible.utils.module_finder.has_plugin(name) def _run(self, *module_args, **complex_args): """Execute an ansible adhoc command returning the results in a AdHocResult object.""" # Assemble module argument string if True: