Moving the Display() instantiation outside of v2 classes

This commit is contained in:
James Cammarata 2015-04-03 12:17:01 -05:00
parent ada86dafaf
commit 41d9bfde07
5 changed files with 16 additions and 13 deletions

View file

@ -36,17 +36,18 @@ class PlaybookExecutor:
basis for bin/ansible-playbook operation. basis for bin/ansible-playbook operation.
''' '''
def __init__(self, playbooks, inventory, variable_manager, loader, options): def __init__(self, playbooks, inventory, variable_manager, loader, display, options):
self._playbooks = playbooks self._playbooks = playbooks
self._inventory = inventory self._inventory = inventory
self._variable_manager = variable_manager self._variable_manager = variable_manager
self._loader = loader self._loader = loader
self._display = display
self._options = options self._options = options
if options.listhosts or options.listtasks or options.listtags: if options.listhosts or options.listtasks or options.listtags:
self._tqm = None self._tqm = None
else: else:
self._tqm = TaskQueueManager(inventory=inventory, callback='default', variable_manager=variable_manager, loader=loader, options=options) self._tqm = TaskQueueManager(inventory=inventory, callback='default', variable_manager=variable_manager, loader=loader, display=display, options=options)
def run(self): def run(self):
@ -94,13 +95,13 @@ class PlaybookExecutor:
#TODO: move to callback #TODO: move to callback
# FIXME: this stat summary stuff should be cleaned up and moved # FIXME: this stat summary stuff should be cleaned up and moved
# to a new method, if it even belongs here... # to a new method, if it even belongs here...
self._tqm._display.banner("PLAY RECAP") self._display.banner("PLAY RECAP")
hosts = sorted(self._tqm._stats.processed.keys()) hosts = sorted(self._tqm._stats.processed.keys())
for h in hosts: for h in hosts:
t = self._tqm._stats.summarize(h) t = self._tqm._stats.summarize(h)
self._tqm._display.display("%s : %s %s %s %s" % ( self._display.display("%s : %s %s %s %s" % (
hostcolor(h, t), hostcolor(h, t),
colorize('ok', t['ok'], 'green'), colorize('ok', t['ok'], 'green'),
colorize('changed', t['changed'], 'yellow'), colorize('changed', t['changed'], 'yellow'),
@ -109,7 +110,7 @@ class PlaybookExecutor:
screen_only=True screen_only=True
) )
self._tqm._display.display("%s : %s %s %s %s" % ( self._display.display("%s : %s %s %s %s" % (
hostcolor(h, t, False), hostcolor(h, t, False),
colorize('ok', t['ok'], None), colorize('ok', t['ok'], None),
colorize('changed', t['changed'], None), colorize('changed', t['changed'], None),
@ -118,7 +119,7 @@ class PlaybookExecutor:
log_only=True log_only=True
) )
self._tqm._display.display("", screen_only=True) self._display.display("", screen_only=True)
# END STATS STUFF # END STATS STUFF
return result return result

View file

@ -33,7 +33,6 @@ from ansible.executor.stats import AggregateStats
from ansible.plugins import callback_loader, strategy_loader from ansible.plugins import callback_loader, strategy_loader
from ansible.utils.debug import debug from ansible.utils.debug import debug
from ansible.utils.display import Display
__all__ = ['TaskQueueManager'] __all__ = ['TaskQueueManager']
@ -49,16 +48,15 @@ class TaskQueueManager:
which dispatches the Play's tasks to hosts. which dispatches the Play's tasks to hosts.
''' '''
def __init__(self, inventory, callback, variable_manager, loader, options): def __init__(self, inventory, callback, variable_manager, loader, display, options):
self._inventory = inventory self._inventory = inventory
self._variable_manager = variable_manager self._variable_manager = variable_manager
self._loader = loader self._loader = loader
self._display = display
self._options = options self._options = options
self._stats = AggregateStats() self._stats = AggregateStats()
self._display = Display()
# a special flag to help us exit cleanly # a special flag to help us exit cleanly
self._terminated = False self._terminated = False

View file

@ -34,7 +34,7 @@ def load_list_of_blocks(ds, parent_block=None, role=None, task_include=None, use
# we import here to prevent a circular dependency with imports # we import here to prevent a circular dependency with imports
from ansible.playbook.block import Block from ansible.playbook.block import Block
assert ds is None or isinstance(ds, AnsibleSequence), 'block has bad type: %s' % type(ds) assert ds is None or isinstance(ds, list), 'block has bad type: %s' % type(ds)
block_list = [] block_list = []
if ds: if ds:

View file

@ -31,6 +31,7 @@ from ansible.parsing.splitter import parse_kv
from ansible.playbook.play import Play from ansible.playbook.play import Play
from ansible.utils.display import Display from ansible.utils.display import Display
from ansible.utils.cli import base_parser, validate_conflicts, normalize_become_options, ask_passwords from ansible.utils.cli import base_parser, validate_conflicts, normalize_become_options, ask_passwords
from ansible.utils.display import Display
from ansible.utils.vault import read_vault_file from ansible.utils.vault import read_vault_file
from ansible.vars import VariableManager from ansible.vars import VariableManager
@ -131,7 +132,8 @@ class Cli(object):
# now create a task queue manager to execute the play # now create a task queue manager to execute the play
try: try:
tqm = TaskQueueManager(inventory=inventory, callback='minimal', variable_manager=variable_manager, loader=loader, options=options) display = Display()
tqm = TaskQueueManager(inventory=inventory, callback='minimal', variable_manager=variable_manager, loader=loader, display=display, options=options)
result = tqm.run(play) result = tqm.run(play)
tqm.cleanup() tqm.cleanup()
except AnsibleError: except AnsibleError:

View file

@ -15,6 +15,7 @@ from ansible.parsing.splitter import parse_kv
from ansible.playbook import Playbook from ansible.playbook import Playbook
from ansible.playbook.task import Task from ansible.playbook.task import Task
from ansible.utils.cli import base_parser, validate_conflicts, normalize_become_options, ask_passwords from ansible.utils.cli import base_parser, validate_conflicts, normalize_become_options, ask_passwords
from ansible.utils.display import Display
from ansible.utils.unicode import to_unicode from ansible.utils.unicode import to_unicode
from ansible.utils.vars import combine_vars from ansible.utils.vars import combine_vars
from ansible.utils.vault import read_vault_file from ansible.utils.vault import read_vault_file
@ -130,7 +131,8 @@ def main(args):
# create the playbook executor, which manages running the plays # create the playbook executor, which manages running the plays
# via a task queue manager # via a task queue manager
pbex = PlaybookExecutor(playbooks=args, inventory=inventory, variable_manager=variable_manager, loader=loader, options=options) display = Display()
pbex = PlaybookExecutor(playbooks=args, inventory=inventory, variable_manager=variable_manager, loader=loader, display=display, options=options)
if options.listhosts: if options.listhosts:
i = 1 i = 1