|
#!/bin/env python
#
-*- coding:utf8 -*-
from collections import namedtuple
from ansible.parsing.dataloader import DataLoader
from ansible.vars import VariableManager
from ansible.inventory import Inventory
from ansible.executor.playbook_executor import PlaybookExecutor
loader = DataLoader()
variable_manager = VariableManager()
inventory = Inventory(loader=loader, variable_manager=variable_manager,host_list='hosts')
variable_manager.set_inventory(inventory)
passwords=None
Options = namedtuple('Options',
['connection',
'remote_user',
'ask_sudo_pass',
'verbosity',
'ack_pass',
'module_path',
'forks',
'become',
'become_method',
'become_user',
'check',
'listhosts',
'listtasks',
'listtags',
'syntax',
'sudo_user',
'sudo'])
options = Options(connection='smart',
remote_user='root',
ack_pass=None,
sudo_user='root',
forks=100,
sudo='yes',
ask_sudo_pass=False,
verbosity=5,
module_path=None,
become=True,
become_method='sudo',
become_user='root',
check=None,
listhosts=None,
listtasks=None,
listtags=None,
syntax=None)
# 多个yaml文件则以列表形式
playbook = PlaybookExecutor(playbooks=['test1.yaml'],inventory=inventory,
variable_manager=variable_manager,
loader=loader,options=options,passwords=passwords)
result = playbook.run()
print result |
|
|