如 动态Inventory所介绍,ansibel可以从一个动态的数据源获取到inventory信息,包含元端数据源。
来源:互联网 发布:java做的小游戏 编辑:程序博客网 时间:2024/06/05 04:09
如 动态Inventory所介绍,ansibel可以从一个动态的数据源获取到inventory信息,包含元端数据源。怎么写一个自己的数据源?很简单! 我们仅仅需要创建一个在适当参数下,能够返回正确JSON格式数据的脚本或者程序,你可以使用任何语言来实现。脚本规范:当我们在外部使用-list 蚕食调用这个脚本时,[root@node01 ~]# python /etc/ansible/inventory.py -list{"all": ["192.168.137.3"]}这个脚本必须返回一个JSON散列/字典,它包含所管理的所有组,每个组的value应该是一个关于其包含的主机/IP哈希/字典,它可能是一个子组或者租的变量 或者仅仅是一个主机/IP的列表:[root@node01 ansible]# cat p2.py # !/usr/bin/env python# -*- coding: utf-8 -*-import cx_Oraclefrom pprint import pprintimport csvimport timeimport reimport binasciiimport jsona={ "databases" : { "hosts" : [ "host1.example.com", "host2.example.com" ], "vars" : { "a" : 'true' } }, "webservers" : [ "host2.example.com", "host3.example.com" ], "atlanta" : { "hosts" : [ "host1.example.com", "host4.example.com", "host5.example.com" ], "vars" : { "b" : 'false' }, "children": [ "marietta", "5points" ] }, "marietta" : [ "host6.example.com" ], "5points" : [ "host7.example.com" ]}b=json.dumps(a)print b[root@node01 ansible]# python /etc/ansible/p2.py -list{"webservers": ["host2.example.com", "host3.example.com"], "atlanta": {"hosts": ["host1.example.com", "host4.example.com", "host5.example.com"], "children": ["marietta", "5points"], "vars": {"b": "false"}}, "marietta": ["host6.example.com"], "5points": ["host7.example.com"], "databases": {"hosts": ["host1.example.com", "host2.example.com"], "vars": {"a": "true"}}}[root@node01 ansible]# chmod +x p2.py[root@node01 ansible]# ansible -i /etc/ansible/p2.py webservers -m raw -a "hostname"host2.example.com | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname host2.example.com: Name or service not known\r\n", "unreachable": true}host3.example.com | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname host3.example.com: Name or service not known\r\n", "unreachable": true}ansible -i /etc/ansible/p2.py webservers -m raw -a "hostname" 调用webservers 组
阅读全文
0 0
- 如 动态Inventory所介绍,ansibel可以从一个动态的数据源获取到inventory信息,包含元端数据源。
- 开发动态的Inventory数据源
- ansible动态inventory获取主机列表
- ansible 动态生成Inventory
- ansible动态inventory
- inventory
- Inventory
- Inventory
- inventory
- 动态数据源的绑定
- 怎样获取Inventory 账目信息: DISTRIBUTION_ACCOUNT_ID
- 动态数据源
- 动态数据源
- 使用MOF来扩展hardware inventory -- 动态数据 -- 补充2 -- 其它名称空间中的信息的收集
- Oracle Inventory介绍
- 跨db的动态数据源的transaction- 2.动态数据源
- 动态设置数据源的方法
- ExpandableListView点击Group动态获取Child数据源
- IntelliJ IDEA 使用心得与常用快捷键
- Flex 布局教程:语法篇
- 混
- Struts2_004_Action类概述
- coreseek 安装 4.1 版本 并使用
- 如 动态Inventory所介绍,ansibel可以从一个动态的数据源获取到inventory信息,包含元端数据源。
- 判断是否为质数
- 初步认识qt
- mysql优化连接数防止访问量过高的方法
- Android音频实时传输与播放:AMR硬编码与硬解码
- Flex 布局教程:实例篇
- 单片机驱动DM9000
- MapReduce--4--Combiner做MapTask局部合并
- 第一行代码 服务