用于在局域网上定位和分类树莓果的一种可靠的动态目录。
pinventor的Python项目详细描述
pinventory是用于定位和 对本地网络上的覆盆子PI计算机进行分类。
安装
在您正在使用的python环境中:
$ python setup.py install
将安装一个名为simplypinventory的包装脚本 它可以用来调用python包。
直接使用
为了获得一个可靠的树莓pi计算机清单 局域网:
$ pinventory --list --pretty { "_meta": { "hostvars": { "10.0.0.149": { "hostname": "lime", "ip": "10.0.0.149", "mac": "b8:27:eb:a5:93:c5" }, "10.0.0.186": { "hostname": "raspberrypi", "ip": "10.0.0.186", "mac": "b8:27:eb:73:9d:67" } } }, "raspberries": { "hosts": [ "10.0.0.149", "10.0.0.186" ] } }
要获取特定主机的主机变量:
$ pinventory --host 10.0.0.149 --pretty { "hostname": "lime", "ip": "10.0.0.149", "mac": "b8:27:eb:a5:93:c5" }
从ansibe调用
使用-iinventory选项传递pinventoryexecutable,然后 ansible将以dynamic inventory的形式执行它。例如,假设 pinventory在路径上可用,可以运行一个特殊的ansible命令 在LAN上的所有Raspberry PI设备上,使用:
$ ansible raspberries -i `which pinventory` <command>
定制
默认情况下,返回的库存包括allraspberry pi 本地网络上的计算机。目录的内容 与每个主机相关的变量可以通过 在两个pkg_resourcesentry处提供可插入函数 能够转换默认库存和 分别是宿主变量。可以找到示例函数 在pinventory.transforms.hostsvars和 pinventory.transforms.inventory子模块。