Puppet:类已经声明

Puppet:类已经声明

我目前正在将我的傀儡代码的结构重新组织为一个模型,该模型使用配置文件和角色。

我已经开始使用配置文件并进行测试,但已经遇到问题 :/

在我的节点定义中我执行以下操作:

节点'dev.server'{
  包括配置文件::php
}
#模块/配置文件/清单/php.pp
类配置文件::php {
  包括 apache::mod::php
  类{‘php’:}
  php::模块 { “mcrypt”: }
  php::模块 { “mysql”: }
  php::模块 { “gd”: }
}

当我在节点上运行 Puppet 代理时,出现错误

错误:无法从远程服务器检索目录:服务器上的错误 400:重复声明:Class[Profile::Php] 已声明;无法在节点上的 /etc/puppet/environments/production/modules/profile/manifests/php.pp:5 处重新声明

但是,当我将配置文件重命名为 profile::php2 时,它就可以正常工作了。是什么导致了它已经声明的问题?

答案1

更改class{ 'php': }class{ '::php': }(注意 php 之前的双冒号)即可解决问题。

相关内容