2013-11-26 4 views
5

Ich habe Marionette auf zwei Knoten installiert, und der Serverknoten Hostname ist "uys0115", und der cient Knoten Hostname ist "uys0119", und der Server-Knoten haben den Client-Knoten festgelegt. Als ich die commad exec: puppet cert list --all, können wir sehen:puppet apply error: Konnte nicht Standardknoten oder nach Namen mit 'uys0115' auf Knoten finden uys0115

+ "uys0115" (24:55:95:77:8E:60:33:77:C8:D4:74:EA:01:21:BD:5A) 
+ "uys0119" (86:53:1B:81:E5:4F:88:23:E8:34:E1:AB:03:D4:AE:7C) 

Das Puppenhauptverzeichnis/etc/puppet/habe ich ein Beispiel und die Organisation von Dateien wie folgt schreiben:

/etc/puppet/-- 
      |-/manifests/site.pp 
      |-/modules/test/-- 
           |-/files/text.txt 
           |-/manifests/init.pp 
           |-/manifests/test.pp 

der Code in /etc/puppet/modules/test/manifests/test.pp ist:

class test1 { 
package { "bison": 
     ensure=>"installed", 
} 
exec { "puppet test": 
     command=>"/bin/touch /tmp/puppet-test", 
} 
file { "/tmp/test.txt": 
     ensure => "present", 
     source => "puppet:///modules/test/test.txt" 
} 
} 

und der Code in /etc/puppet/modules/test/manifests/init.pp ist nur import "*"; und der Code in /etc/puppet/manifests/site.pp wie folgt:

import "test" 
node default { 
     include "test1" 
} 

Wenn ich in dem Knoten uys0119 Client und puppet agent --test --server uys0115 den Befehl exec. Es wurde erfolgreich ausgeführt und erstellt zwei Dateien puppet-test und test.txt im Verzeichnis/tmp /. Im Server-Knoten, wenn ich den Befehl puppet apply site.pp ausführen, wurde auch erfolgreich ausgeführt und zwei Dateien erstellt. Jedoch aus der Klemme zwei Warnmeldungen setzen:

warning: Could not retrieve fact fqdn 
warning: Host is missing hostname and/or domain: uys0115 

Wenn ich den Code in /etc/puppet/manifests/site.pp wie folgt verändert:

import "test" 
node "uys0119" { 
     include "test1" 
} 

und den Befehl puppet apply site.pp in dem Server-Knoten exec, ist es nicht gelungen, eine Ausgabe der Fehler Nachrichten:

warning: Could not retrieve fact fqdn 
warning: Host is missing hostname and/or domain: uys0115 
warning: Host is missing hostname and/or domain: uys0115 
Could not find default node or by name with 'uys0115' on node uys0115 

Aber der Client-Knoten puppet agent --test --server uys0115 auch den Befehl erfolgreich exec kann. Kann das jemand erklären? Wenn ich den Server-Knoten möchte einige Repuests an die Client-Knoten zu senden und einige Client-Knoten Antworten der Server steuern und Ergebnisse erzeugt. Wie kann ich tun, wenn Marionette verwendet? Kann mir jemand ein Beispiel geben? vielen Dank!!!

Antwort

4

Die Server-Puppe dient sowohl als Puppen- als auch als Puppenknoten.

Wenn Sie site.pp wie unten bearbeitet:

import "test" 
node default { 
    include "test1" 
} 

alle Puppen Knoten verbinden Master Puppet wird definiert Operationen in der Klasse "test1" tun. So haben Sie zwei Dateien in uys0115 und uys0119 gefunden (behandeln Sie als Marionettenknoten).

Wenn Ihr site.pp wie folgt geändert:

import "test" 
node "uys0119" { 
     include "test1" 
} 

Puppen Knoten uys0119 nicht seine Definition in site.pp und Puppenspieler Ausgabefehler Informationen wie diese finden: Hier

Could not find default node or by name with 'uys0115' on node uys0115 

ist eine modifizierte Website.pp diesen Fehler elimate kann:

import "test" 
node "uys0119" { 
     include "test1" 
} 
node "uys0115" { 
     include "test1" 
} 

In puppet Master/Slave-Modus, sollten Sie besser nutzen fqdn wie uys0115.localdomain, dann wird die folgende Warnung nicht

warning: Host is missing hostname and/or domain: uys0115 
zeigen