为什么我的命名空间和类名冲突?

为什么我的命名空间和类名冲突?

我安装了一个名为的 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::ntppmyconfig::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 尝试解析类名时的设计问题。请参阅这张票可以了解更多信息或者此链接涉及命名空间

你应该尝试NTP使用

class { "::ntp":
   server_list => ...
}

相关内容