inventory脚本示例: OpenStack
inventory脚本示例: OpenStack
如果你使用基于OpenStack云的话,相比于手动维护inventory文件,你可以使用openstack_inventory.py
动态inventory去直接从OpenStack拉取计算实例的信息。
下载最新版本的OpenStack inventory脚本。
可以直接通过将-i openstack_inventory.py声明传递给ansible来使用inventory脚本,也可以选择替换/etc/ansible/hosts脚本来使用。
直接使用OpenStack inventory脚本
下载最新版本的OpenStack动态inventory脚本并且赋可执行权限:
wget https://raw.githubusercontent.com/ansible/ansible/stable-2.9/contrib/inventory/openstack_inventory.py
chmod +x openstack_inventory.py
注:命名不要使用openstack.py,因为和openstacksdk名字冲突
Source一个OpenStack RC文件:
source openstack.rc
注:OpenStack RC文件包含了客户端tools和云供应商建立连接的环境变量。比如认证URL,用户名,密码和区域名。使用OpenStackRC文件设置环境变量
可以通过一个简单的命令,比如nova list
,有无报错来确认文件是否被成功sourced。
注:需要OpenStack命令行客户端才能运行nova list命令。有关如何安装它们的更多信息,请参考Install the OpenStack command-line clients。
使用这个命令来确认OpenStack动态inventory脚本是否正常工作:
./openstack_inventory.py --list
一会就会看到一些计算实例使用json格式输出。
一旦确认脚本没问题了,你可以告知ansible使用openstack_inventory.py作文inventory文件,例如:
ansible -i openstack_inventory.py all -m ping