python执行playbook

python

 1 from collections import namedtuple

2 from ansible.parsing.dataloader import DataLoader

3 from ansible.vars.manager import VariableManager

4 from ansible.inventory.manager import InventoryManager

5 from ansible.executor.playbook_executor import PlaybookExecutor

6

7 Options = namedtuple(

8 'Options',

9 [

10 'connection',

11 'remote_user',

12 'ask_sudo_pass',

13 'verbosity',

14 'ask_pass',

15 'module_path',

16 'forks',

17 'become',

18 'become_method',

19 'become_user',

20 'check',

21 'listhosts',

22 'listtasks',

23 'listtags',

24 'syntax',

25 'sudo_user',

26 'sudo',

27 'diff'

28 ]

29 )

30 options = Options(

31 connection='smart',

32 remote_user=None,

33 ask_pass=None,

34 sudo_user=None,

35 forks=5,

36 sudo=None,

37 ask_sudo_pass=False,

38 verbosity=5,

39 module_path=None,

40 become=None,

41 become_method=None,

42 become_user=None,

43 check=False,

44 diff=False,

45 listhosts=None,

46 listtasks=None,

47 listtags=None,

48 syntax=None

49 )

50

51 def run_pb(sources, pb_path):

52 loader = DataLoader()

53 passwords = dict()

54 inventory = InventoryManager(loader=loader, sources=sources)

55 variable_manager = VariableManager(loader=loader, inventory=inventory)

56 pb = PlaybookExecutor(

57 playbooks=pb_path,

58 inventory=inventory,

59 variable_manager=variable_manager,

60 loader=loader,

61 options=options,

62 passwords=passwords

63 )

64 result = pb.run()

65 return result

66

67 if __name__ == '__main__':

68 sources = ['myansible/hosts']

69 playbook = ['myansible/lamp.yml']

70 run_pb(sources, playbook)

以上是 python执行playbook 的全部内容, 来源链接: utcz.com/z/387363.html

回到顶部