Я запускаю puppet 2.7.9 в системе Debian Squeeze. Коробка, на которую я нацелен, называется марионеткой.
# hostname
puppet
# facter | grep hostname
hostname => puppet
# cat /etc/hosts | head -n2
127.0.0.1 localhost
127.0.1.1 puppet.example.com puppet
Мое определение узла выглядит так:
node puppet {
include base, puppet
}
Несмотря на документация узла утверждая, что
Имена узлов могут быть коротким именем хоста или полным доменным именем (FQDN).
указанное выше определение узла срабатывает только в том случае, если я заменяю короткое имя хоста на полное доменное имя или использую соответствие регулярного выражения, например: "/^puppet..*/". Используя определение короткого имени хоста:
# puppet agent -vt
info: Caching catalog for puppet.example.com
info: Applying configuration version '1327898040'
notice: Finished catalog run in 0.64 seconds
Этот прогон должен был дать больше результатов. Что тут происходит; что мне не хватает?
Я понял, что имя хоста dns "puppet" в марионеточном мире было зарезервировано для машины puppetmaster, если вы хотите настроить таргетинг на главную машину через ее собственный марионеточный сервер, дайте ей другое имя хоста и используйте dns cname в качестве псевдонима. По крайней мере, это должно сработать, я так и делаю.