2016-04-26 3 views
0

Ich arbeite ON Puppets Learning VM, die Ruby verwendet, die ich nicht zu vertraut bin. Ich bin auf Übung steckt 5.es Manifest und Klassen, Aufgabe 2 https://kjhenner.gitbooks.io/puppet-quest-guide/content/quests/manifests_and_classes.htmlPuppet Learning VM: Manifeste und Klassen (Ruby)

In der vorherige Aufgabe I cowsay.pp erstellen:

class cowsayings::cowsay { 
    package { 'cowsay': 
    ensure => present, 
    provider => 'gem', 
    } 
} 

Dann Aufgabe zwei Ich nehme an, die gleiche Datei zu erstellen, in ein weiterer Standort mit Anweisungen:

Aufgabe 2:

Wenn Sie diesen Code auf Ihre Produktionsinfrastruktur anwenden würden, würden Sie die Konsole des Knotens Klassifizierer verwenden, um alle Knoten t zu klassifizieren Hut benötigt cowsay installiert mit dem cowsay mit Ihrer cowsay Klasse. Wenn Sie an einem Modul arbeiten, ist es jedoch nützlich, eine Klasse direkt anzuwenden. Diese Testmanifeste werden standardmäßig in einem Beispielverzeichnis gespeichert. (Sie können diese Manifeste auch manchmal im Testverzeichnis sehen.)

Um die Klasse tatsächlich zu deklarieren, erstellen Sie einen cowsay.pp-Test im Verzeichnis examples.

vim cowsayings/examples/cowsay.pp Deklarieren Sie in diesem Manifest die cowsay-Klasse mit dem Schlüsselwort include.

include cowsayings::cowsay 

Ich bin nicht sicher, wie diese zweite Datei zu erstellen, und wo diese Zeile hinzuzufügen. Ich habe beide versucht:

class cowsayings::coway { 
    include cowsayings::cowsay 
    package { 'cowsay': 
    ensure => present, 
    provider => 'gem', 
    } 
} 

und

class cowsayings{ 
    include cowsayings::cowsay 
} 

Obwohl es nicht zu funktionieren scheint, und wenn ich es laufen, ist es nicht cowsay richtig in Aufgabe 3 (in den obigen Link, dass ich installieren

geschrieben Verzeichnis

Antwort

1

Das Manifest in den Beispielen braucht nur, dass eine Zeile „cowsayings umfassen :: cowsay“.

Es gibt zwei Aufgaben, die mit Marionette passieren haben, cla „definieren“ sse und "deklarieren" sie. Die enthält die Definition, aber Sie müssen die Klasse tatsächlich deklarieren, um etwas passieren zu lassen.

Das ist, was puppet apply cowsayings/examples/cowsay.pp tut, deklariert die Klasse.