负责查询领班的动态库存
foreman-ansible-inventor的Python项目详细描述
工头负责库存
[构建状态](https://travis-ci.org/theforeman/foreman_ansible_inventory.svg?branch=master)](https://travis ci.org/the foreman/foreman-ansible-inventory)
此脚本可以用作ansible动态清单[1]。
连接参数通过配置设置
file*foreman.ini*。*foreman.ini*使用以下
发现顺序找到。
*`/etc/ansible/foreman.ini`
*库存脚本的当前目录。
*`foreman ini path`环境变量。
可用作*主机变量*以及主机及其主机组的参数
“foo.example.com”:{
“foreman”:{
“architecture-id”:1,
“architecture-name”:“x86-64”,
“build”:false,
“build-status”:0,
“build-status-label”:“installed”,
“功能”:[
“构建”、
“映像”
]、
“计算配置文件id”:4、
“主机组名称”:“webtier/myapp”、
“id”:70、
“映像名称”:“debian8.1”、
…
“uuid”:“50197c10-5ebb-b5cf-b384-a1e203e19e77”
}、
“foreman_params”:{
“testparam1”:“foobar”,
“testparam2”:“small”,
…
>
,因此可用于:
-debug:msg=“frofrofrofrofrofroforman主机{foreman['uuid']}}”
>任务[test工头:debug]*********************************************************************************************************************************************
OK:[foo-foo]>[foo-foo-foo-foo-foo-foo-foo-foo-foo。.example.com]=>;{
“msg”:“来自Foreman主机50190bd1-052a-a34a-3c9c-df37a39550bf”
}
如果要自定义此前缀,请更改/etc/ansible/foreman.ini中的
group_prefix选项。本指南的其余部分将假定默认前缀为“foreman”
因此,例如foreman hostgroup
myapp/webtier/datacenter1
将变为责任组:
foreman hostgroup\u myapp\u webtier\u datacenter1
此外,还可以使用*foreman.ini*中的
*group\u patterns*变量动态创建责任组,以便使用主机组和主机变量上的参数。
假设您有一个使用此嵌套主机组构建的主机:
>每个主机组分别定义一个参数:
webtier:tier_param=webtier
datacenter1:dc_param=数据中心1
主机也位于名为“mysubnet”的子网中,并通过映像
提供,然后*组模式*如:
[ansible]
组模式=[“{app_param}-{tier_param}-{dc_param}”,
“{app_param}-{tier_param}”,
“{app_param}”,
“{子网名称}-{设置方法}”]
将主机放入附加的责任组:
-myapp-webtier-datacenter1
-myapp-webtier
-myapp
-mysubnet image
获取参数键
和值,并对其执行类似python*string.format()*的替换。
[1]:http://docs.ansible.com/intro_dynamic_inventory.html
[构建状态](https://travis-ci.org/theforeman/foreman_ansible_inventory.svg?branch=master)](https://travis ci.org/the foreman/foreman-ansible-inventory)
此脚本可以用作ansible动态清单[1]。
连接参数通过配置设置
file*foreman.ini*。*foreman.ini*使用以下
发现顺序找到。
*`/etc/ansible/foreman.ini`
*库存脚本的当前目录。
*`foreman ini path`环境变量。
可用作*主机变量*以及主机及其主机组的参数
“foo.example.com”:{
“foreman”:{
“architecture-id”:1,
“architecture-name”:“x86-64”,
“build”:false,
“build-status”:0,
“build-status-label”:“installed”,
“功能”:[
“构建”、
“映像”
]、
“计算配置文件id”:4、
“主机组名称”:“webtier/myapp”、
“id”:70、
“映像名称”:“debian8.1”、
…
“uuid”:“50197c10-5ebb-b5cf-b384-a1e203e19e77”
}、
“foreman_params”:{
“testparam1”:“foobar”,
“testparam2”:“small”,
…
>
,因此可用于:
-debug:msg=“frofrofrofrofrofroforman主机{foreman['uuid']}}”
>任务[test工头:debug]*********************************************************************************************************************************************
OK:[foo-foo]>[foo-foo-foo-foo-foo-foo-foo-foo-foo。.example.com]=>;{
“msg”:“来自Foreman主机50190bd1-052a-a34a-3c9c-df37a39550bf”
}
如果要自定义此前缀,请更改/etc/ansible/foreman.ini中的
group_prefix选项。本指南的其余部分将假定默认前缀为“foreman”
因此,例如foreman hostgroup
myapp/webtier/datacenter1
将变为责任组:
foreman hostgroup\u myapp\u webtier\u datacenter1
此外,还可以使用*foreman.ini*中的
*group\u patterns*变量动态创建责任组,以便使用主机组和主机变量上的参数。
假设您有一个使用此嵌套主机组构建的主机:
>每个主机组分别定义一个参数:
datacenter1:dc_param=数据中心1
主机也位于名为“mysubnet”的子网中,并通过映像
提供,然后*组模式*如:
[ansible]
组模式=[“{app_param}-{tier_param}-{dc_param}”,
“{app_param}-{tier_param}”,
“{app_param}”,
“{子网名称}-{设置方法}”]
将主机放入附加的责任组:
-myapp-webtier-datacenter1
-myapp-webtier
-myapp
-mysubnet image
获取参数键
和值,并对其执行类似python*string.format()*的替换。
[1]:http://docs.ansible.com/intro_dynamic_inventory.html