Puppet 在mcollective库存查询中,可以使用regex作为事实名称吗?
我正在尝试获取mcollective中每个节点的所有IP地址的列表。我遇到的问题是各种各样的Puppet 在mcollective库存查询中,可以使用regex作为事实名称吗?,puppet,inventory,mcollective,Puppet,Inventory,Mcollective,我正在尝试获取mcollective中每个节点的所有IP地址的列表。我遇到的问题是各种各样的ipaddress{interface}名称,尤其是在不再使用eth的较新EL系统上。有没有办法为事实名称传递通配符或正则表达式 我的目标是能够使用mco inventory或其他同样快速的工具生成包含所有节点上每个IP地址的报告: 我尝试了几份不同的报告,但都失败了,内容大致如下: #cat ipaddrs.mc inventory do format "%40s:\t%24s\t%s"
ipaddress{interface}
名称,尤其是在不再使用eth的较新EL系统上。有没有办法为事实名称传递通配符或正则表达式
我的目标是能够使用mco inventory
或其他同样快速的工具生成包含所有节点上每个IP地址的报告:
我尝试了几份不同的报告,但都失败了,内容大致如下:
#cat ipaddrs.mc
inventory do
format "%40s:\t%24s\t%s"
fields { [ identity, facts["server_role"], facts[/ipaddress_(.*)/] ] }
end
#mco清单--脚本ipaddrs.mc
inventory do
format "%40s:\t%24s\t%s"
fields { [ identity, facts["server_role"], facts[/ipaddress_(.*)/] ] }
end
作为一项工作,我得到了一个集合中所有节点的列表,并将我想要的事实变大。这可以正常工作,但只需要几百个节点就需要几分钟:
for server in $(mco find ); do
echo -e "${server}: $(mco inventory ${server} \
|grep ipaddress_ |egrep -v '_(lo|flan|dock)' \
|awk '{print $3}' |sort |tr '\n' ' ')"
done