mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Load additional plugins from path specified in configuration
This commit is contained in:
parent
1aaf86069a
commit
ab44a4abba
5 changed files with 21 additions and 6 deletions
|
@ -22,10 +22,15 @@ import os
|
|||
import subprocess
|
||||
import os.path
|
||||
from ansible.color import stringc
|
||||
import ansible.constants as C
|
||||
|
||||
dirname = os.path.dirname(__file__)
|
||||
callbacks = utils.import_plugins(os.path.join(dirname, 'callback_plugins'))
|
||||
callbacks = [ c.CallbackModule() for c in callbacks.values() ]
|
||||
def load_more_callbacks(dirname):
|
||||
callbacks.extend([c.CallbackModule() for c in utils.import_plugins(dirname).values()])
|
||||
for i in C.DEFAULT_CALLBACK_PLUGIN_PATH.split(os.pathsep):
|
||||
load_more_callbacks(i)
|
||||
|
||||
cowsay = None
|
||||
if os.path.exists("/usr/bin/cowsay"):
|
||||
|
@ -46,9 +51,6 @@ def call_callback_module(method_name, *args, **kwargs):
|
|||
if method is not None:
|
||||
method(*args, **kwargs)
|
||||
|
||||
def load_more_callbacks(dirname):
|
||||
callbacks.extend([c.CallbackModule() for c in utils.import_plugins(dirname).values()])
|
||||
|
||||
def vv(msg, host=None):
|
||||
return verbose(msg, host=host, caplevel=1)
|
||||
|
||||
|
|
|
@ -84,6 +84,11 @@ DEFAULT_REMOTE_PORT = int(get_config(p, DEFAULTS, 'remote_port', 'ANS
|
|||
DEFAULT_TRANSPORT = get_config(p, DEFAULTS, 'transport', 'ANSIBLE_TRANSPORT', 'paramiko')
|
||||
DEFAULT_MANAGED_STR = get_config(p, DEFAULTS, 'ansible_managed', None, 'Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}')
|
||||
|
||||
DEFAULT_ACTION_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'action_plugins', None, '/usr/share/ansible_plugins/action_plugins'))
|
||||
DEFAULT_CALLBACK_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'callback_plugins', None, '/usr/share/ansible_plugins/callback_plugins'))
|
||||
DEFAULT_CONNECTION_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'connection_plugins', None, '/usr/share/ansible_plugins/connection_plugins'))
|
||||
DEFAULT_LOOKUP_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'lookup_plugins', None, '/usr/share/ansible_plugins/lookup_plugins'))
|
||||
|
||||
# non-configurable things
|
||||
DEFAULT_REMOTE_PASS = None
|
||||
DEFAULT_SUDO_PASS = None
|
||||
|
|
|
@ -112,8 +112,7 @@ class PlayBook(object):
|
|||
self.inventory.subset(subset)
|
||||
|
||||
self.modules_list = utils.get_available_modules(self.module_path)
|
||||
lookup_plugins_dir = os.path.join(plugins_dir, 'lookup_plugins')
|
||||
self.lookup_plugins_list = utils.import_plugins(lookup_plugins_dir)
|
||||
self.lookup_plugins_list = ansible.runner.lookup_plugin_list
|
||||
|
||||
if not self.inventory._is_script:
|
||||
self.global_vars.update(self.inventory.get_group_variables('all'))
|
||||
|
|
|
@ -47,8 +47,13 @@ except ImportError:
|
|||
|
||||
dirname = os.path.dirname(__file__)
|
||||
action_plugin_list = utils.import_plugins(os.path.join(dirname, 'action_plugins'))
|
||||
for i in reversed(C.DEFAULT_ACTION_PLUGIN_PATH.split(os.pathsep)):
|
||||
action_plugin_list.update(utils.import_plugins(i))
|
||||
lookup_plugin_list = utils.import_plugins(os.path.join(dirname, 'lookup_plugins'))
|
||||
|
||||
for i in reversed(C.DEFAULT_LOOKUP_PLUGIN_PATH.split(os.pathsep)):
|
||||
lookup_plugin_list.update(utils.import_plugins(i))
|
||||
|
||||
|
||||
################################################
|
||||
|
||||
def _executor_hook(job_queue, result_queue):
|
||||
|
|
|
@ -20,10 +20,14 @@
|
|||
|
||||
from ansible import utils
|
||||
from ansible.errors import AnsibleError
|
||||
import ansible.constants as C
|
||||
|
||||
import os
|
||||
import os.path
|
||||
dirname = os.path.dirname(__file__)
|
||||
modules = utils.import_plugins(os.path.join(dirname, 'connection_plugins'))
|
||||
for i in reversed(C.DEFAULT_CONNECTION_PLUGIN_PATH.split(os.pathsep)):
|
||||
modules.update(utils.import_plugins(i))
|
||||
|
||||
# rename this module
|
||||
modules['paramiko'] = modules['paramiko_ssh']
|
||||
|
|
Loading…
Reference in a new issue