Назад | Перейти на главную страницу

Почему это определение узла марионетки не выполняется на имени хоста, которому оно соответствует?

Я запускаю 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 в качестве псевдонима. По крайней мере, это должно сработать, я так и делаю.