Puppet 服务器上的重复声明

Puppet 服务器上的重复声明

我无法覆盖清单中类的参数。两台机器上的 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':
该示例未提及包含,您应该将其删除。
另请阅读:木偶实验室

相关内容