Почему мое пространство имен и имя класса конфликтуют?
У меня установлен кукольный модуль, который называется ntp
,
Узел я определяю по
node testip { include myconfig::ntpp }
И в /etc/puppet/modules/myconfig/manifests/init.pp
есть я
class myconfig::ntpp {
include common
class {'ntp':
server_list => $common::data::ntpServerList
}
}
Это работает отлично.
Но если я заменю myconfig::ntpp
с myconfig::ntp
я получил
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate declaration: Class[Myconfig::Ntp] is already declared; cannot redeclare on node testip
Вопрос
Возможно ли, чтобы мой узел был похож?:
node testip { include myconfig::ntp }
1 ответ
Решение
Это проблема дизайна в puppet о том, как puppet пытается разрешить имена классов. Смотрите этот билет для получения дополнительной информации или эту ссылку, касающуюся пространств имен.
И вы должны попытаться получить доступ к своему верхнему уровню NTP
модули с
class { "::ntp":
server_list => ...
}