Я изучаю куклу и пытаюсь поэкспериментировать с ней на ВМ дома. Я пока не использую марионеточный сервер, просто работаю локально. Это работает нормально, но каждый раз, когда я запускаю puppet apply ...
, я получаю задержку в несколько секунд, после чего отображается сообщение
warning: Could not retrieve fact fqdn
Я предполагаю, что сообщение связано с задержкой, и я хочу избавиться от нее (задержка - я могу жить с сообщением). Поиск в поиске решения, похоже, указывает на то, что оно каким-то образом связано с поиском DNS, но я не могу найти в нем ничего другого, что кажется удивительным. Все, что я хочу, - это быстро применять манифесты в моем виртуальном компьютере, чтобы я мог экспериментировать. Как я могу ускорить процесс?
Обновление: Я не вижу никакой дополнительной информации в выходных данных отладки, но это выглядит так:
$ 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
...
Обновление: Я добавил тег "ruby", потому что у puppet очень мало последователей. Если это не относится к ruby или если вы знаете лучший тег для него, дайте мне знать.
Обновите снова: Узнав немного больше о Puppet, я теперь понимаю, что это сообщение исходит от компонента, называемого "Facter", который выявляет "факты" о системе, на которой работает Puppet. Я нашел некоторые параметры конфигурации и поиграл с "certname" , "node_name" и "node_name_value" , но я не смог заставить задержку уйти , Кто-нибудь знает, как конкретно сказать Facter игнорировать fqdn или как заставить Facter найти fqdn в Ubuntu 11.10 vm?
Прогресс:
$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.1
Это мой роутер, который запускает Dnsmasq через Tomato.
$ 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
привел меня к arp, который блокировался на 5 секунд и вызывался дважды для каждого 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
Я изменил виртуальную машину с сети NAT на мостовую, чтобы у нее теперь был IP-адрес в сети, и arp
немедленно возвращается. (Я не сетевой гуру, поэтому я понятия не имею, почему это сработало, но попытка показалась разумной.) Но facter
все равно занимает около 4-5 секунд и все еще выдает отчеты "Не удалось получить факт fqdn ». facter -d
показывает несколько вхождений «значение для домена все еще ноль», вплоть до конца. Я думаю, что-то все еще не совсем правильно.