脚本中实现Ansible的playbook的方法
2015-09-21 12:02
253 查看
脚本说明
project -- 操作的项目输入playbook -- 远程服务器执行的规则定义
脚本
import ansible from ansible.playbook import PlayBook from ansible.inventory import Inventory from ansible import callbacks from ansible import utils utils.VERBOSITY = 0 playbook_cb = callbacks.PlaybookCallbacks(verbose=utils.VERBOSITY) stats = callbacks.AggregateStats() runner_cb = callbacks.PlaybookRunnerCallbacks(stats, verbose=utils.VERBOSITY) project = "test" playbook = "/etc/ansible/test.yml" # 通过ansible的get_hosts方法获取到本次操作的服务器列表 def get_invent(project): invent = [] inv = ansible.inventory.Inventory() invent_array = inv.get_hosts(pattern = project) for i in invent_array: invent.append(i.name) return invent # 将本次操作的服务器列表通过playbook的规则进行操作 def ansible_playbook(playbook,pro): pb = PlayBook( playbook=playbook, inventory = Inventory(pro), callbacks = playbook_cb, runner_callbacks=runner_cb, stats=stats ) pb.run() invent = get_invent(project) ansible_playbook(playbook, invent)
相关文章推荐
- Virtualbox 虚拟机 inaccessible 问题解决方法
- Hihocoder 1228 Mission Impossible 6
- Linux 时区变化
- 黑马程序员——设计模式——装饰、单例、模版方法
- win8改win7
- java list去重
- 在Qt Creator中配置QNX编译工具链
- Net Beans中表格的增删改查
- FCKEditor文件上传提示信息的汉化
- App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. 解决方案
- js常用插件
- 基于jsp+servlet实现的简单博客系统实例(附源码)
- 从刷票了解获得客户端IP的方法
- Javascript模块化编程(三):require.js的用法
- java SE复习笔记35
- 玩转树莓派:OpenHAB的入门(二)
- 整理iOS9适配中出现的坑(图文)
- 汽车租赁管理系统
- 单链表的建立和遍历
- go json