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
posted @ 2021-04-20 01:02  小白运维狗  阅读(188)  评论(0)    收藏  举报