Поиск класса марионетки от 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 lookup для поиска имен классов и добавления их в каталог марионеток. Предлагаемая мной роль будет выглядеть примерно так:

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

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

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

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

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

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

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

1
задан 13 April 2020 в 23:40
1 ответ

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

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

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

1
ответ дан 13 April 2020 в 19:48

Теги

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