Advertisement
Guest User

Untitled

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