web-dev-qa-db-ja.com

自動チェーンを使用したHieraからのパペットクラスルックアップ

私はpuppetでhieraを使用しており、puppetの役割/プロファイルを設定しています。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ルックアップを使用してクラス名を検索し、それらをpuppetカタログに追加することを検討しています。私の提案する役割は次のようになります。

# 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
douggdx

残念ながら、このようにHieraからクラスを取得し、同時に関係を定義することはできません。

ステージを使用して、ドメインへの参加が最初になるようにすることができます。その後、アプリケーションプロファイルは次の段階に進みます。

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

1
Aaron Copley