Also move action/connection plugins to shared plugin loader code

Fixes #12099
This commit is contained in:
James Cammarata 2015-08-28 16:32:09 -04:00
parent 0859ba7726
commit 057712c129
2 changed files with 8 additions and 7 deletions

View file

@ -29,7 +29,6 @@ from ansible import constants as C
from ansible.errors import AnsibleError, AnsibleParserError, AnsibleUndefinedVariable
from ansible.playbook.conditional import Conditional
from ansible.playbook.task import Task
from ansible.plugins import connection_loader, action_loader
from ansible.template import Templar
from ansible.utils.listify import listify_lookup_plugin_terms
from ansible.utils.unicode import to_unicode
@ -400,7 +399,7 @@ class TaskExecutor:
# Because this is an async task, the action handler is async. However,
# we need the 'normal' action handler for the status check, so get it
# now via the action_loader
normal_handler = action_loader.get(
normal_handler = self._shared_loader_obj.action_loader.get(
'normal',
task=async_task,
connection=self._connection,
@ -457,7 +456,7 @@ class TaskExecutor:
except OSError:
conn_type = "paramiko"
connection = connection_loader.get(conn_type, self._play_context, self._new_stdin)
connection = self._shared_loader_obj.connection_loader.get(conn_type, self._play_context, self._new_stdin)
if not connection:
raise AnsibleError("the connection plugin '%s' was not found" % conn_type)
@ -468,7 +467,7 @@ class TaskExecutor:
Returns the correct action plugin to handle the requestion task action
'''
if self._task.action in action_loader:
if self._task.action in self._shared_loader_obj.action_loader:
if self._task.async != 0:
raise AnsibleError("async mode is not supported with the %s module" % module_name)
handler_name = self._task.action
@ -477,7 +476,7 @@ class TaskExecutor:
else:
handler_name = 'async'
handler = action_loader.get(
handler = self._shared_loader_obj.action_loader.get(
handler_name,
task=self._task,
connection=connection,

View file

@ -31,7 +31,7 @@ from ansible.playbook.handler import Handler
from ansible.playbook.helpers import load_list_of_blocks
from ansible.playbook.included_file import IncludedFile
from ansible.playbook.role import hash_params
from ansible.plugins import _basedirs, filter_loader, lookup_loader, module_loader
from ansible.plugins import _basedirs, action_loader, connection_loader, filter_loader, lookup_loader, module_loader
from ansible.template import Templar
try:
@ -51,7 +51,9 @@ class SharedPluginLoaderObj:
the forked processes over the queue easier
'''
def __init__(self):
self.basedirs = _basedirs[:]
self.basedirs = _basedirs[:]
self.action_loader = action_loader
self.connection_loader = connection_loader
self.filter_loader = filter_loader
self.lookup_loader = lookup_loader
self.module_loader = module_loader