![Puppet 服务器上的重复声明](https://linux22.com/image/658682/Puppet%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%E9%87%8D%E5%A4%8D%E5%A3%B0%E6%98%8E.png)
我无法覆盖清单中类的参数。两台机器上的 Puppet 版本都是 3.7.5。我使用thias-后缀。我甚至无法从 Readme.MD 文件中执行示例。下面是我的 site.pp 清单:
node default {}
node "subscriber" {
Exec{path => "/usr/bin:/usr/sbin:/bin:/sbin"}
include postfix::server
class {'::postfix::server':
...
}
}
在“订阅者”节点上执行时,我得到以下信息:
Error: couldn't retrieve catalog from remote server:
Error 400 on SERVER:
Duplicate declaration: Class[Postfix::Server] is already declared;
cannot redeclare at /etc/puppet/manifests/site.pp: *XX* on node subscriber
Warning: Not using cache on failed catalog
Error: Couldn't retrieve catalog; skipping run
答案1
您基本上声明了postfix::server
两次。
一次是通过包含它,另一次是通过声明class { '::postfix::server':
。
该示例未提及包含,您应该将其删除。
另请阅读:木偶实验室