Почему мое пространство имен и имя класса конфликтуют?

Почему мое пространство имен и имя класса конфликтуют?

У меня установлен модуль 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 => ...
}

Связанный контент