Ich benutze Vagrant und ich versuche, eine VM mit Marionette bereitzustellen. In der Vagrant Datei konfigurierte ich VM db wie folgt:Puppet PostgresQL-Verwaltung, Fehler: Puppet :: Parser :: AST ::
config.vm.define "db" do |db|
db.vm.hostname = "db"
db.vm.network "private_network", ip: "10.11.1.201", virtualbox__intnet: true
db.vm.provider "virtualbox" do |v|
v.memory = 1024
end
db.vm.network "forwarded_port", guest: 22, host: 2221, id: 'ssh', auto_correct: true
db.vm.network "forwarded_port", guest: 5432, host: 2222
db.ssh.forward_agent = true
config.vm.provision :shell do |shell|
shell.inline = "mkdir -p /etc/puppet/modules;
puppet module install puppetlabs-postgresql"
end
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "puppet/manifests"
puppet.manifest_file = "site.pp"
puppet.module_path = "puppet/modules"
end
end
end
Wie Sie mir den Download der Module mit Hilfe eines vagabundierenden Shell-Befehl, bevor die Puppe provisioner Läufe zu sehen. Auf diese Weise habe ich das puppetlabs-postgresql Modul von Puppenlabors heruntergeladen. Ich möchte meine Datenbank nicht verwalten, indem ich Klassen in meiner Datei site.pp unter /puppet/manifests/site.pp erstelle. Ich möchte eine Modulaufrufdatenbank in/puppet/modules/database haben. Was ich bisher gemacht habe, ist eine init.pp-Datei in/puppet/modules/database zu erstellen. Im Folgenden ist der Inhalt meiner init.pp Datei:
class database {
class { 'postgresql::server':
ip_mask_allow_all_users => '0.0.0.0/0',
listen_addresses => '*',
ipv4acls => ['hostssl all johndoe 192.168.0.0/24 cert'],
postgres_password => 'TPSrep0rt!',
}
}
Und dann in meiner /puppet/manifests/site.pp Datei habe ich die Datenbank-Klasse, wie unten aufgeführt:
node 'db' {
include database
}
Nach dem " Vagrant up“Befehl erhalte ich die Fehlermeldung:
Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class postgresql::server at /tmp/vagrant-puppet/modules-d1208595f982e4ac16b287f9bd398c89/database/manifests/init.pp:8 on node db.lan
==> db: Wrapped exception:
==> db: Could not find declared class postgresql::server
==> db: Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class postgresql::server at /tmp/vagrant-puppet/modules-d1208595f982e4ac16b287f9bd398c89/database/manifests/init.pp:8 on node db.lan
Was ist der richtige Weg, die Verwendung der postgresql Klassen zu machen?
Können Sie Ihr Verzeichnis/Puppet/Module/Datenbank? –