2013-08-22 6 views
0

Мне нужен список всех IP-адресов Мастера Puppet, разделенный запятой, поэтому я могу установить его в конфигурационных файлах в системе кукольных узлов/агентов.Как создать кукольный факт со всеми IP-адресами Мастера Марионеток

Я могу получить первичный IP-адрес с $ serverip, но мне нужны все интерфейсные адреса.

Есть ли способ установить факт кукол с этим списком?

ответ

1

Это звучит, как вы хотите, кукловоды IP-адреса доступны как факт на все остальные узлы?

Посмотрите here.

Где-то в манифесте кукольных мастеров вам нужно будет создать список всех кукольных мастеров, разделенных запятыми, а затем экспортировать этот факт.

Затем, на всех остальных узлах, вам нужно будет импортировать этот факт.

Тогда при запуске facter -p на любом узле, вы получите список кукловодов из IP-адресов

+0

Другой метод без PuppetDB может быть http://docs.puppetlabs.com/guides/custom_functions.html – Rodney

0

Все интерфейсы перечислены значения, разделенные запятыми и могут быть вызваны в манифестов, как это:

$interfaces 

Вы можете проверить переменные, доступные через facter, используя следующую команду:

facter --puppet 
facter --puppet | grep interfaces # will give you the following 
interfaces => eth0,eth1,lo,sit0,virbr0 

Ipaddress для все интерфейсы доступны:

facter --puppet | grep ^ipaddress # will return these 

ipaddress => 1xx.xx.xxx.xxx 
ipaddress_eth0 => 1xx.xx.xxx.xxx 
ipaddress_lo => 127.0.0.1 
ipaddress_virbr0 => 1xx.1xx.1xx.x 

Вы можете п поместить их в массив:

$allip = unique(flatten([ $ipaddress, $ipaddress_eth0, $ipaddress_lo, $ipaddress_vibr0 ])) 
Смежные вопросы