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

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