Linux

如何解決 puppet 拒絕啟動並要求“master.pp”?

  • November 21, 2011

我正在使用最新版本puppet的 Apress“Pro Puppet”指南,並一直在逐步遵循。我已經安裝puppet

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

我已編輯/etc/puppet/puppet.conf以包含證書名稱

[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文件可以讓我解決這個問題。

您似乎使用的是舊版本的 Puppet,它不理解 master 子命令,而是嘗試將其作為清單執行。在 0.25 左右的某個地方引入了新的命令語法。

仔細檢查您正在執行的版本。目前版本應該是 2.7。我經常發現發行版會打包舊版本。例如,Ubuntu 10.04LTS 安裝了 0.25.4,這是相當古老的。

要找出 puppet 包的版本,請執行:

sudo apt-cache policy puppet

引用自:https://serverfault.com/questions/332580