Linux

為什麼我的命名空間和類名衝突?

  • August 26, 2012

我安裝了一個名為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 }

這是 puppet 中關於 puppet 如何嘗試解析類名的設計問題。有關更多資訊,請參閱此票證有關命名空間的此連結

你應該嘗試訪問你的頂級NTP模組

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

引用自:https://serverfault.com/questions/421023