Je suis en train d'apprendre à propos de marionnettes et d'essayer de le tester sur une VM à la maison. Je ne suis pas à l'aide d'une marionnette serveur pourtant, il suffit de choses en cours d'exécution au niveau local. Il fonctionne bien, mais chaque fois que je lance puppet apply ...
,- je obtenir un délai de plusieurs secondes, après lequel il affiche le message
warning: Could not retrieve fact fqdn
Je suppose que le message est lié au retard, et je veux me débarrasser de celui-ci (le retard--je peux vivre avec le message). Googler pour trouver une solution, ce qui semble indiquer que c'est en quelque sorte lié à des recherches DNS, mais je ne peux pas vraiment trouver quelque chose d'autre, ce qui semble surprenant. Tout ce que je veux, c'est être capable d'appliquer manifeste dans ma vm rapidement afin que je puisse expérimenter. Comment puis-je accélérer les choses?
Mise à jour: je ne vois pas d'infos supplémentaires dans la sortie de débogage, mais il ressemble à ceci:
$ puppet apply -dv puppet-1.pp
warning: Could not retrieve fact fqdn
debug: Failed to load library 'rubygems' for feature 'rubygems'
debug: Failed to load library 'selinux' for feature 'selinux'
debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing
...
Mise à jour: j'ai ajouté le "ruby" de la balise parce que la marionnette a si peu d'adeptes. Si ce n'appartient pas en ruby, ou si vous connaissez une meilleure étiquette pour elle, laissez-moi savoir.
Mise à jour: après Avoir appris un peu plus sur la marionnette, je comprends maintenant que ce message est à venir à partir de la composante "Facter" renifle "faits" sur le système de la Marionnette est en cours d'exécution sur. J'ai trouvé quelques options de configuration et joué un peu avec "certname", "node_name" et "node_name_value", mais je ne pouvais pas prendre de retard à l'aller. Personne ne sait précisément comment dire Facter d'ignorer le nom de domaine complet ou comment faire Facter en mesure de trouver le nom de domaine complet sur une vm Ubuntu 11.10?
Progrès:
$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.1
C'est mon routeur qui est en cours d'exécution Dnsmasq via la Tomate.
$ dig -x 192.168.1.129 192.168.1.1
; <<>> DiG 9.7.3 <<>> -x 192.168.1.129 192.168.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21838
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;129.1.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
129.1.168.192.in-addr.arpa. 0 IN PTR desk-vm-ubuntu-beta.
;; Query time: 14 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sun Oct 16 17:47:47 2011
;; MSG SIZE rcvd: 77
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27462
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;192.168.1.1. IN A
;; ANSWER SECTION:
192.168.1.1. 0 IN A 192.168.1.1
;; Query time: 11 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sun Oct 16 17:47:47 2011
;; MSG SIZE rcvd: 45
strace
m'a conduit à l'arp, qui a été bloqué pendant 5 secondes et l'a appelé deux fois pour chaque facter
:
$ time arp -a
? (10.0.2.2) at 52:54:00:12:35:02 [ether] on eth0
real 0m5.127s
user 0m0.004s
sys 0m0.016s
J'ai changé la VM à partir de réseaux NAT à ponté, de sorte qu'il a maintenant une adresse IP sur le réseau, et arp
renvoie immédiatement à présent. (Je ne suis pas un spécialiste réseau, donc je n'ai aucune idée de pourquoi cela a fonctionné, mais il semble raisonnable de chose à essayer.) Mais facter
encore faut environ 4-5 secondes au total pour exécuter et de rapports toujours "impossible de récupérer les fait fqdn". facter -d
montre plusieurs occurrences de "valeur pour le nom de domaine est toujours nul", tout le chemin à la fin. Je suis en train de penser à quelque chose n'est pas encore tout à fait droit.