Ich verwende die neueste Version von puppet
und bin der Anleitung von Apress "Pro Puppet" Schritt für Schritt gefolgt. Ich habepuppet
sudo aptitude install ruby libshadow-ruby1.8
sudo aptitude install puppet puppetmaster facter
Ich habe es bearbeitet /etc/puppet/puppet.conf
, um den Zertifikatsnamen einzuschließen
[master]
certname=puppet.mydomain.com
Ich habe /etc/hosts bearbeitet und die folgende Zeile hinzugefügt
127.0.0.1 puppet.mydomain.com puppet
Ich habe den Hostnamen des Servers festgelegt
echo "puppet.mydomain.com" > /etc/hostname
hostname -F /etc/hostname
puppet
Und dann versuche ich , es von der Befehlszeile aus auszuführen .
puppet master --verbose --no-daemonize
Und puppet
gibt mir diesen Fehler:
Could not parse for environment production:
Could not find file /master.pp
Ich führe alle Befehle mit aus sudo
und die letzte Zeile der Fehlermeldung besagt immer, dass es nicht gefunden werden kann master.pp
und der Pfad davor ist mein aktuelles Arbeitsverzeichnis.
Was mache ich falsch?
Ich sollte auch erwähnen, dass ich keinen DNS-Eintrag eingerichtet habe puppet.mydomain.com
. Ich habe in einer Online-Dokumentation gelesen, dass dies ein Problem sein könnte. Ich war mir jedoch ziemlich sicher, dass hosts
ich das Problem mithilfe der Datei umgehen könnte.
Antwort1
Es sieht fast so aus, als würden Sie eine alte Version von Puppet verwenden, die den Unterbefehl „master“ nicht versteht und stattdessen versucht, ihn als Manifest auszuführen. Irgendwann um 0.25 herum wurde die neue Befehlssyntax eingeführt.
Überprüfen Sie noch einmal, welche Version Sie verwenden. Die aktuelle Version sollte 2.7 sein. Ich habe oft festgestellt, dass Distributionen ältere Versionen bündeln. Beispielsweise installiert Ubuntu 10.04LTS 0.25.4, was ziemlich alt ist.
Antwort2
Um die Version des Puppet-Pakets herauszufinden, führen Sie Folgendes aus:
sudo apt-cache policy puppet
Antwort3
MartijnIstRechts. Ihre Puppet-Version ist definitiv älter als 2.6. Verwenden Sie eine alte Version von Ubuntu oder Debian? Squeeze enthält bereits 2.6 und Ubuntu 11 enthält 2.7. Wenn Sie Lenny verwenden, finden Sie auf Backports eine neuere Version von Puppet. Und wenn das alles nicht hilft, glaube ich, dass Puppetlabs ein Repository für neuere Puppet-Versionen hat, obwohl es Ihnen mit der Ruby-Version möglicherweise Probleme bereiten könnte.