Назад | Перейти на главную страницу

Поиск класса Puppet от Hiera с автоматическим связыванием

Я использую hiera с марионеткой и имею настройку роли / профиля марионетки, где 1 роль включает несколько профилей (как показано ниже). Моя роль в сборке включает жестко запрограммированные профили с несколькими цепочками внизу.

# build.pp - Current Role
class role::build {

  include profile::profile1
  include profile::profile2
  include profile::profile3

  Class['profile::profile1']
  ->Class['profile::profile2']
  ->Class['profile::profile3']
}

Я хочу преобразовать эту роль (build.pp), чтобы использовать поиск Puppet Hiera, чтобы найти имена классов и добавить их в каталог марионеток. Предлагаемая мной роль будет выглядеть примерно так:

# build.pp - Proposed Role
class role::build {

  lookup('classes', Array[String], 'unique').include

  Class['profile::profile1']
  ->Class['profile::profile2']
  ->Class['profile::profile3']
}

Поиск работает и классы добавляются в каталог, однако я не уверен, как я могу также автоматизировать механизм цепочки, чтобы гарантировать, что они работают в правильном порядке?

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

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

Любая помощь или указатели будут очень благодарны.

К сожалению, вы не можете использовать классы из Hiera таким образом и одновременно определять отношения.

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

https://puppet.com/docs/puppet/latest/lang_run_stages.html