Puppet が起動を拒否し、「master.pp」を要求する問題を修正するにはどうすればよいでしょうか?

Puppet が起動を拒否し、「master.pp」を要求する問題を修正するにはどうすればよいでしょうか?

私は最新バージョンを使用しておりpuppet、Apressの「Pro Puppet」ガイドに従ってステップバイステップで作業しています。puppet

sudo aptitude install ruby libshadow-ruby1.8
sudo aptitude install puppet puppetmaster facter

/etc/puppet/puppet.confcertnameを含めるように編集しました

[master]
certname=puppet.mydomain.com

/etc/hostsを編集して次の行を追加しました

127.0.0.1 puppet.mydomain.com puppet

サーバーのホスト名を設定しました

echo "puppet.mydomain.com" > /etc/hostname
hostname -F /etc/hostname

そして、puppetコマンドラインから実行してみます。

puppet master --verbose --no-daemonize

そして、puppet次のエラーが表示されます:

Could not parse for environment production:
Could not find file /master.pp

すべてのコマンドを実行していますがsudo、エラー メッセージの最後の行には常に、見つからないことmaster.ppと、その前のパスが現在の作業ディレクトリであることが表示されます。

何が間違っているのでしょうか?

また、DNS レコードが設定されていないことも言及しておく必要があります。puppet.mydomain.comオンライン ドキュメントで、これが問題になる可能性があると記載されていましたが、hostsファイルを使用すれば回避できると確信していました。

答え1

マスター サブコマンドを理解できず、代わりにマニフェストとして実行しようとする古いバージョンの Puppet を使用しているようです。0.25 あたりで新しいコマンド構文が導入されました。

実行しているバージョンを再確認してください。現在のバージョンは 2.7 のはずです。ディストリビューションによっては古いバージョンがパッケージ化されていることがよくあります。たとえば、Ubuntu 10.04LTS では 0.25.4 がインストールされますが、これはかなり古いバージョンです。

答え2

puppet パッケージのバージョンを確認するには、次のコマンドを実行します。

sudo apt-cache policy puppet

答え3

マルティン。お使いの Puppet のバージョンは、間違いなく 2.6 より古いです。Ubuntu または Debian の古いバージョンを実行していませんか? Squeeze にはすでに 2.6 が含まれており、Ubuntu 11 には 2.7 が含まれています。Lenny を使用している場合は、バックポートで Puppet の新しいバージョンを見つけることができます。それでも問題が解決しない場合は、puppetlabs に新しい Puppet バージョンのリポジトリがあると思いますが、ruby バージョンでは問題が発生する可能性があります。

関連情報