Как получить записи /etc/hosts в puppet?

Типы host и augeas могут устанавливать только определенные значения в /etc/hosts. facter не поддерживает запрос хостов.

Теперь я рассматриваю

1) написание рубиновой функции с использованием библиотеки Resolv

2) написать рубиновую функцию и фактически прочитать файл /etc/hosts

Есть идеи получше?


person can.    schedule 29.07.2014    source источник
comment
Зачем вам нужны эти записи?   -  person raphink    schedule 04.08.2014
comment
@ℝaphink Долгая история. В нашей среде мы настроили привязки интерфейсов. Иногда один интерфейс имеет несколько IP-адресов, но мы не можем получить все эти адреса через facter, потому что facter использует ifconfig в качестве основной команды. Поэтому мы должны найти обходной путь, и мы рассматриваем возможность использования записей хостов, поскольку они предварительно настроены перед развертыванием марионетки. Тогда возникает вопрос.   -  person can.    schedule 04.08.2014
comment
Вы управляете этими записями с помощью Puppet?   -  person raphink    schedule 04.08.2014
comment
@ℝaphink В настоящее время нет. Но, может быть, в будущем. Обеспокоенность?   -  person can.    schedule 05.08.2014
comment
Нет. Просто подумал, что если бы вы это сделали, было бы проще ;-)   -  person raphink    schedule 05.08.2014


Ответы (1)


Если вы действительно хотите, чтобы мастер знал и работал с содержимым файла hosts агента, у вас действительно не будет другого выбора, кроме как написать собственный факт для этого. Фактор 2.x потребуется для получения структуры массива/хэша. Библиотека Resolv была бы очень странным выбором. Вам лучше самому разобрать файл.

Технически Puppet поставляется с кодом для анализа файла hosts, но использовать его, вероятно, будет намного сложнее, чем создавать собственный.

person Felix Frank    schedule 29.07.2014