Advertisement
Guest User

Untitled

a guest
Mar 8th, 2016
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. #!/usr/bin/python2
  2.  
  3. from collections import namedtuple
  4. from ansible.parsing.dataloader import DataLoader
  5. from ansible.vars import VariableManager
  6. from ansible.inventory import Inventory
  7. from ansible.playbook.play import Play
  8. from ansible.executor.task_queue_manager import TaskQueueManager
  9.  
  10. Options = namedtuple('Options', ['connection', 'module_path', 'forks', 'become', 'become_method', 'become_user', 'check', 'remote_user', 'private_key_file', 'ssh_common_args', 'sftp_extra_args', 'scp_extra_args', 'ssh_extra_args', 'verbosity'])
  11. # initialize needed objects
  12. variable_manager = VariableManager()
  13. loader = DataLoader()
  14. options = Options(connection='local', module_path='/path/to/mymodules', forks=100, become=None, become_method=None, become_user=None, check=False, remote_user='root', private_key_file='', ssh_common_args='', sftp_extra_args='', scp_extra_args='', ssh_extra_args='', verbosity=1)
  15. passwords = dict(vault_pass='secret')
  16.  
  17. # create inventory and pass to var manager
  18. inventory = Inventory(loader=loader, variable_manager=variable_manager, host_list='localhost')
  19. variable_manager.set_inventory(inventory)
  20.  
  21. # create play with tasks
  22. play_source = dict(
  23. name = "Ansible Play",
  24. hosts = 'localhost',
  25. gather_facts = 'no',
  26. tasks = [
  27. dict(action=dict(module='shell', args='ls'), register='shell_out'),
  28. dict(action=dict(module='debug', args=dict(msg='{{shell_out.stdout}}')))
  29. ]
  30. )
  31. play = Play().load(play_source, variable_manager=variable_manager, loader=loader)
  32.  
  33. # actually run it
  34. tqm = None
  35. try:
  36. tqm = TaskQueueManager(
  37. inventory=inventory,
  38. variable_manager=variable_manager,
  39. loader=loader,
  40. options=options,
  41. passwords=passwords,
  42. stdout_callback='default',
  43. )
  44. result = tqm.run(play)
  45. finally:
  46. if tqm is not None:
  47. tqm.cleanup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement