From c4dbe868e98f7b308b0f4ab9e38d052b6380b0cd Mon Sep 17 00:00:00 2001 From: Anton Studenov Date: Tue, 7 Feb 2017 13:27:31 +0300 Subject: [PATCH] Load modules before creating ansible playbook TaskQueueManager loads ansible modules from os-faults and it should be initialized first. Otherwise, if we use custom module as a first task, then Play class raises an error. Change-Id: I78d7c8441517f7b951e525b90f6512a21387b188 --- os_faults/ansible/executor.py | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/os_faults/ansible/executor.py b/os_faults/ansible/executor.py index 5712a30..53c8dd1 100644 --- a/os_faults/ansible/executor.py +++ b/os_faults/ansible/executor.py @@ -155,29 +155,28 @@ class AnsibleRunner(object): host_list=host_list) variable_manager.set_inventory(inventory_inst) + storage = [] + callback = MyCallback(storage) + + tqm = task_queue_manager.TaskQueueManager( + inventory=inventory_inst, + variable_manager=variable_manager, + loader=loader, + options=self.options, + passwords=self.passwords, + stdout_callback=callback, + ) + # create play play_inst = play.Play().load(play_source, variable_manager=variable_manager, loader=loader) - storage = [] - callback = MyCallback(storage) - # actually run it - tqm = None try: - tqm = task_queue_manager.TaskQueueManager( - inventory=inventory_inst, - variable_manager=variable_manager, - loader=loader, - options=self.options, - passwords=self.passwords, - stdout_callback=callback, - ) tqm.run(play_inst) finally: - if tqm is not None: - tqm.cleanup() + tqm.cleanup() return storage