From b1e6f6cf565cd6c2fd9bf70d30d08ea9d2009f83 Mon Sep 17 00:00:00 2001 From: Clint Byrum Date: Wed, 22 Feb 2017 14:42:30 -0500 Subject: [PATCH] Fix all action plugins to import safely This addresses the known issue with plugin inheritance in all action plugins. Change-Id: I8436d52ced0c96904375dc98da7c32ff2e47cb5e --- zuul/ansible/action/add_host.py | 3 ++- zuul/ansible/action/assemble.py | 2 +- zuul/ansible/action/copy.py | 2 +- zuul/ansible/action/fetch.py | 2 +- zuul/ansible/action/include_vars.py | 2 +- zuul/ansible/action/network.py | 3 ++- zuul/ansible/action/patch.py | 2 +- zuul/ansible/action/script.py | 4 ++-- zuul/ansible/action/synchronize.py | 2 +- zuul/ansible/action/template.py | 2 +- zuul/ansible/action/unarchive.py | 2 +- zuul/ansible/action/win_copy.py | 2 +- zuul/ansible/action/win_template.py | 2 +- 13 files changed, 16 insertions(+), 14 deletions(-) diff --git a/zuul/ansible/action/add_host.py b/zuul/ansible/action/add_host.py index 83cfa39b93..d4b24aa555 100644 --- a/zuul/ansible/action/add_host.py +++ b/zuul/ansible/action/add_host.py @@ -13,7 +13,8 @@ # You should have received a copy of the GNU General Public License # along with this software. If not, see . -from ansible.plugins.action import add_host +from zuul.ansible import paths +add_host = paths._import_ansible_action_plugin("add_host") class ActionModule(add_host.ActionModule): diff --git a/zuul/ansible/action/assemble.py b/zuul/ansible/action/assemble.py index 2280191513..2cc7eb7b30 100644 --- a/zuul/ansible/action/assemble.py +++ b/zuul/ansible/action/assemble.py @@ -15,7 +15,7 @@ from zuul.ansible import paths -from ansible.plugins.action import assemble +assemble = paths._import_ansible_action_plugin("assemble") class ActionModule(assemble.ActionModule): diff --git a/zuul/ansible/action/copy.py b/zuul/ansible/action/copy.py index c90ebc7ac1..bb544305e6 100644 --- a/zuul/ansible/action/copy.py +++ b/zuul/ansible/action/copy.py @@ -15,7 +15,7 @@ from zuul.ansible import paths -from ansible.plugins.action import copy +copy = paths._import_ansible_action_plugin("copy") class ActionModule(copy.ActionModule): diff --git a/zuul/ansible/action/fetch.py b/zuul/ansible/action/fetch.py index 2fc3ce5a16..170b65548d 100644 --- a/zuul/ansible/action/fetch.py +++ b/zuul/ansible/action/fetch.py @@ -15,7 +15,7 @@ from zuul.ansible import paths -from ansible.plugins.action import fetch +fetch = paths._import_ansible_action_plugin("fetch") class ActionModule(fetch.ActionModule): diff --git a/zuul/ansible/action/include_vars.py b/zuul/ansible/action/include_vars.py index 2706a1f5c2..5bc1d76939 100644 --- a/zuul/ansible/action/include_vars.py +++ b/zuul/ansible/action/include_vars.py @@ -15,7 +15,7 @@ from zuul.ansible import paths -from ansible.plugins.action import include_vars +include_vars = paths._import_ansible_action_plugin("include_vars") class ActionModule(include_vars.ActionModule): diff --git a/zuul/ansible/action/network.py b/zuul/ansible/action/network.py index 18de5a58b2..41fc56033f 100644 --- a/zuul/ansible/action/network.py +++ b/zuul/ansible/action/network.py @@ -14,7 +14,8 @@ # along with this software. If not, see . -from ansible.plugins.action import network +from zuul.ansible import paths +network = paths._import_ansible_action_plugin("network") class ActionModule(network.ActionModule): diff --git a/zuul/ansible/action/patch.py b/zuul/ansible/action/patch.py index a83a9e1fa1..0b43c826c1 100644 --- a/zuul/ansible/action/patch.py +++ b/zuul/ansible/action/patch.py @@ -15,7 +15,7 @@ from zuul.ansible import paths -from ansible.plugins.action import patch +patch = paths._import_ansible_action_plugin("patch") class ActionModule(patch.ActionModule): diff --git a/zuul/ansible/action/script.py b/zuul/ansible/action/script.py index ee5b18670c..c95d357a67 100644 --- a/zuul/ansible/action/script.py +++ b/zuul/ansible/action/script.py @@ -15,10 +15,10 @@ from zuul.ansible import paths -from ansible.plugins.action import copy +script = paths._import_ansible_action_plugin("script") -class ActionModule(copy.ActionModule): +class ActionModule(script.ActionModule): def run(self, tmp=None, task_vars=None): diff --git a/zuul/ansible/action/synchronize.py b/zuul/ansible/action/synchronize.py index 8799eb9373..0193eca844 100644 --- a/zuul/ansible/action/synchronize.py +++ b/zuul/ansible/action/synchronize.py @@ -15,7 +15,7 @@ from zuul.ansible import paths -from ansible.plugins.action import synchronize +synchronize = paths._import_ansible_action_plugin("synchronize") class ActionModule(synchronize.ActionModule): diff --git a/zuul/ansible/action/template.py b/zuul/ansible/action/template.py index cd3b10e982..c6df3d80c3 100644 --- a/zuul/ansible/action/template.py +++ b/zuul/ansible/action/template.py @@ -15,7 +15,7 @@ from zuul.ansible import paths -from ansible.plugins.action import template +template = paths._import_ansible_action_plugin("template") class ActionModule(template.ActionModule): diff --git a/zuul/ansible/action/unarchive.py b/zuul/ansible/action/unarchive.py index d6b2190e5e..c78c3316a1 100644 --- a/zuul/ansible/action/unarchive.py +++ b/zuul/ansible/action/unarchive.py @@ -15,7 +15,7 @@ from zuul.ansible import paths -from ansible.plugins.action import unarchive +unarchive = paths._import_ansible_action_plugin("unarchive") class ActionModule(unarchive.ActionModule): diff --git a/zuul/ansible/action/win_copy.py b/zuul/ansible/action/win_copy.py index c051630470..2751585db6 100644 --- a/zuul/ansible/action/win_copy.py +++ b/zuul/ansible/action/win_copy.py @@ -15,7 +15,7 @@ from zuul.ansible import paths -from ansible.plugins.action import win_copy +win_copy = paths._import_ansible_action_plugin("win_copy") class ActionModule(win_copy.ActionModule): diff --git a/zuul/ansible/action/win_template.py b/zuul/ansible/action/win_template.py index de88eb8ff6..7a357f9a68 100644 --- a/zuul/ansible/action/win_template.py +++ b/zuul/ansible/action/win_template.py @@ -15,7 +15,7 @@ from zuul.ansible import paths -from ansible.plugins.action import win_template +win_template = paths._import_ansible_action_plugin("win_template") class ActionModule(win_template.ActionModule):