У меня установлен модуль puppet, который называется 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 => ...
}