web-dev-qa-db-ja.com

ディレクトリ環境を使用するためにpuppetインストールを移行するには何が必要ですか?

私は現在、Puppetのディレクトリ環境機能を利用していない小さなpuppetmaster +クライアント構成を実行しています。私のパペットバージョンは3.6です。

私は以下を試しました:

  1. Puppetmasterの場合:environmentpath=$confdir/environmentspuppet.confに追加しました
  2. パペットマスターの場合:$confdir/environments/に必要なパスを作成しました(例:/etc/puppet/environments/production
  3. 既存のモジュールとマニフェスト(site.pp)を本番環境に追加しました
  4. このgitブランチに切り替えて、クライアントでテストpuppet agent -vtを実行しました

残念ながら、次のエラーが発生します。

Info: Retrieving pluginfacts
Error: /File[/var/lib/puppet/facts.d]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://puppet/pluginfacts
Info: Retrieving plugin
Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://puppet/plugins
Notice: /File[/var/lib/puppet/lib/puppet]: Dependency File[/var/lib/puppet/lib] has failures: true

Puppetの実行は失敗しませんが、完了する前にこれと同様のエラーをスクロールします。

現在の構成(モジュールとマニフェスト)を新しいproduction環境に複製する背後にある私の考えのプロセスは、すべてのクライアントの$environment変数をデフォルトでproductionに設定する必要があるということです。これは欠陥のあるロジックですか?

Puppet Labsガイド に基づいて変換しました。

3
DannyKansas

後世のために、私が見つけた修正は次のとおりです。

私は2つの簡単な間違いを犯しました:

  1. 私は(乗客を介して)パペットマスターを再起動しませんでした。これは、DebianWheezyのservice Apache2 restartで簡単に実現できました。

  2. 再起動すると、パペットのリロードに関する問題を示す一連の新しいエラーが表示されました。関連情報を含むログファイルは、最終的にすべての場所の/var/log/syslogで見つかりました。

  3. ログは、/etc/puppet/manifestsへのアクセス許可に問題があることを示していました。 gitが空のフォルダーを削除し、site.pp/etc/puppet/environments/production/manifests/site.ppに移行したので、gitはエラーをスローした/etc/puppet/manifestsフォルダーを削除したことがわかりました。

  4. 空のsite.pp/etc/puppetmanifestsフォルダーに追加して#3を修正しました。

1
DannyKansas

3.6 puppetはディレクトリ環境を使用すると信じているので、puppet.confで構成せず、環境の下にディレクトリを作成するだけです。私はあなたが使うことができると思います: https://docs.puppetlabs.com/puppet/latest/reference/environments_configuring.html

微妙に異なります。私もフォアマンであるENCを使用しているので、これはあなたにとって異なるかもしれませんが、おそらくあなたの環境ではなく、グローバルモジュールディレクトリにsite.ppが必要です。モジュールは環境にあり、site.ppなどはグローバルモジュールディレクトリにあります。

0
jmp242