Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- from collections import namedtuple
- from ansible.parsing.dataloader import DataLoader
- from ansible.vars import VariableManager
- from ansible.inventory import Inventory
- from ansible.playbook.play import Play
- from ansible.executor.task_queue_manager import TaskQueueManager
- 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'])
- # initialize needed objects
- variable_manager = VariableManager()
- loader = DataLoader()
- 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)
- passwords = dict(vault_pass='secret')
- host_list = ['localhost', '127.0.0.1']
- # create inventory and pass to var manager
- inventory = Inventory(loader=loader, variable_manager=variable_manager, host_list=host_list)
- variable_manager.set_inventory(inventory)
- # create play with tasks
- play_source = dict(
- name = "Ansible Play",
- hosts = host_list,
- gather_facts = 'no',
- tasks = [ dict(action=dict(module='command', args=dict(cmd='/usr/bin/uptime'))) ]
- )
- play = Play().load(play_source, variable_manager=variable_manager, loader=loader)
- # actually run it
- tqm = None
- try:
- tqm = TaskQueueManager(
- inventory=inventory,
- variable_manager=variable_manager,
- loader=loader,
- options=options,
- passwords=passwords,
- )
- result = tqm.run(play)
- finally:
- if tqm is not None:
- tqm.cleanup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement