Кукольный, как запустить все манифесты в каталоге

Итак, у меня есть каталог манифестов марионеток, которые я хочу запустить.

Можно ли сделать что-то вроде: включить /etc/puppet/users/server522/*.pp и заставить puppet запустить их?

Я пробовал включать users::server522::* и несколько других вариантов.

Я всегда получаю сообщение об ошибке о том, что марионетка не может ее найти.

Есть какой-либо способ сделать это?


person Jistanidiot    schedule 01.06.2012    source источник
comment
Итак, моим окончательным решением было написать сценарий, который брал бы список каталогов и для каждого файла .pp добавлял включение в файл server522.pp. Довольно раздражает, что марионетка не будет включать в себя весь каталог.   -  person Jistanidiot    schedule 23.07.2012


Ответы (3)


Итак, моим окончательным решением было написать сценарий, который брал бы список каталогов и для каждого файла .pp добавлял включение в файл server522.pp. Довольно раздражает, что марионетка не будет включать в себя весь каталог.

person Jistanidiot    schedule 25.10.2012

Что вы пытаетесь здесь сделать и уверены ли вы, что делаете это правильно? То есть, если у вас есть несколько манифестов, соответствующих нескольким серверам, вам необходимо определить узлы для каждого сервера. Если OTOH вы пытаетесь применить несколько манифестов к одному узлу, неясно, почему вы будете это делать, а не просто используете определенные классы. Здесь было бы полезно немного больше информации.

person Forest    schedule 08.06.2012
comment
Мы управляем нашими пользователями через кукольные манифесты для определенных серверов. У каждого пользователя свой манифест. Вместо того, чтобы включать имя манифеста каждого типа в init.pp, я просто хочу сделать что-то вроде include /etc/puppet/users/server522/*.pp и включить все 5000 манифестов. - person Jistanidiot; 06.07.2012

Я не вижу смысла в том, чтобы у каждого пользователя был свой манифест. Я бы предпочел написать скрипт, который бы автоматически собирал один файл манифеста на основе данных из какого-то источника, например из HEAD репозитория git, содержащего CSV-файл с текущим списком пользователей.

Если вы действительно хотите использовать отдельный файл манифеста для каждого пользователя, вы можете рассмотреть возможность создания отдельного модуля для каждого пользователя:

manifests
  default.pp <-- here comes default manifest
  module_for_user_foo/
    manifests/
      init.pp <-- here comes your 'foo' user
  module_for_user_bar/
    manifests/
      init.pp <-- here comes your 'bar' user

Теперь вы можете копировать модули, содержащие манифесты.

person smentek    schedule 01.03.2013