2017-05-12 6 views
0

Ich habe momentan Probleme, mein Modul zum Laufen zu bringen.Wie kann ich mithilfe von Bash-Skript Puppet installieren und sofort ein Modul ausführen?

hier Mein Ziel ist es, ein Skript zu haben, die ein Repository hinzufügen, werden Klammern zu installieren, installieren Marionette, und kopieren Sie ein vorhandenes Modul

finaldigi/Manifeste/init.pp ---- >>>/etc/Puppe/modules Ordner

Aus irgendeinem Grund funktioniert das Modul, wenn ich alle das Skript tun Befehle manuell, aber wenn ich sie in einem Skript setzen und führen sie es, zeigt es diesen Fehler:

Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class packagemodule at line 1 on node xubuntu.dhcp.inet.fi

Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class packagemodule at line 1 on node xubuntu.dhcp.inet.fi

Hier Meine init.pp Datei

class packagemodule { 

     package { brackets: 
       ensure => 'installed', 
       allowcdrom => 'true', 
     } 

     package { apache2: 
      ensure => 'installed', 
      allowcdrom => 'true', 
     } 

     file {'/var/www/html/index.html': 
      content => "testing testing", 
     } 
    } 

Und mein Skript:

#!/bin/bash 
echo | sudo add-apt-repository ppa:webupd8team/brackets 
sudo apt-get update 
sudo apt-get install -y puppet 
sudo cp -r ./finaldigi /etc/puppet/modules 
sudo puppet apply -e 'class {packagemodule:}' 

Also ja, funktioniert es und wird keine Fehler zeigen, wenn ich alle Befehle manuell eingeben, aber wenn ich beginnen alle diese Befehle in meinem Bash-Skript setzen, Es funktioniert nicht und zeigt diesen Fehler an.

Was fehlt mir hier?

Antwort

0
sudo cp -r ./finaldigi /etc/puppet/modules 

Dies wird /etc/puppet/modules/finaldigi und /etc/puppet/modules/finaldigi/manifests/init.pp erstellen, aber das Verzeichnis sollte packagemodule wenn das der Klassenname Sie verwenden innen aufgerufen werden.

Ändern Sie diese an:

sudo cp -r ./finaldigi /etc/puppet/modules/packagemodule 

(Wenn dies nicht funktioniert, machen Sie bitte einen find /etc/puppet/modules Ausgang, bieten die Puppet-Version Sie verwenden, und die Ausgabe von puppet apply --configprint modulepath)

+0

Thank you! Das Hinzufügen des Modulnamens zum Zielpfad hat das Problem behoben! Es funktioniert jetzt perfekt. – deathwheeze

Verwandte Themen