Обеспечение, что список всех марионеточных узлов с определенными фактами является текущим

Я использую puppet управлять приблизительно дюжиной узлов. Один из серверов имеет контрольный инструмент, который требует списка всех узлов и некоторых основных спецификаций.

Я хочу использовать puppet гарантировать, что список включает каждый текущий узел и что основные спецификации являются текущими (через последнее facts от узла facter).

Моя первая идея состояла в том, чтобы проанализировать /var/lib/puppet/yaml/facts и создайте файл, в котором я нуждаюсь на основе этого. Не самая изящная идея, но это может работать.

У кого-либо больше есть изящные предложения о том, как приблизиться к этой проблеме?

0
задан 25 September 2014 в 02:39
1 ответ

Экспортированные ресурсы . сделает это относительно легко.

Это может быть что-то вроде этого. Но вы можете использовать шаблоны, фрагменты или многое другое для создания файла в системе со всеми данными обо всех узлах, которые вам нужны.

Вот пример чего-то, что я использую для хранения списка всех моих узлов и если Facter обнаружил, что это виртуальные машины или нет.

@@file {"/srv/puppet_nodes/hosts.d/$::clientcert":
  content => join( [$::clientcert,
                    "%$::lsbdistid%",
                    "%$::lsbdistcodename%",
                    "%$::virtual%",
                    "\n"],' '),
  tag => 'nodestats',
}

# files will be saved on the filesystem on destnode.example.org
if  $::clientcert == 'destnode.example.org' {
      File <<| tag == 'nodestats' |>>
}
2
ответ дан 4 December 2019 в 13:56

Теги

Похожие вопросы