web-dev-qa-db-ja.com

puppetマニフェストファイルでのリソース/クラスの実行順序

Vagrantマネージド仮想マシンでCQ5の構成に取り組んでいます。プロビジョニングは、puppetを使用して行われます。 puppetマニフェストファイル内のクラス/リソースの実行順序に関するクエリがあります。

以下のマニフェストファイルcqsite.ppを見つけてください

include Java
include Apache
cq::instance {myauthor:
      installation_type => author,
    }

cq::instance {mypublish:
      installation_type => publish,
    }

プロビジョニング中、puppetは最初にJavaではなくcqリソース(cq :: instance)を選択します。ただし、cq :: instance.ppファイルでいくつかのコマンドを実行するには、最初にJavaをインストールする必要があります。そのため、エラーがスローされます。これに対する解決策を見つけるのを手伝ってください。

1
Kiran

リソースの依存関係を指定していないため、Puppetは一見ランダムな順序で変更を適用します。

Javaクラスをcq::instance定義の前にインストールする必要がある場合は、次のように明示的な依存関係を追加する必要があります。

cq::instance { myauthor:
  installation_type => author,
  require           => Class['Java']
}

あるいは:

Class['Java'] -> Cq::Instance <| |>

https://docs.puppetlabs.com/puppet/latest/reference/lang_relationships.html を参照してください

10
bodgit