Puppet通知服务错误
我尝试编写一个puppet配置来安装lamp env 但我有一个通知选项的问题 我有一个apache配置:Puppet通知服务错误,puppet,Puppet,我尝试编写一个puppet配置来安装lamp env 但我有一个通知选项的问题 我有一个apache配置: class apache inherits apache::params { package { 'apache': name => "${apache::params::package}", ensure => present } service { 'apache': ensure =>
class apache inherits apache::params {
package { 'apache':
name => "${apache::params::package}",
ensure => present
}
service { 'apache':
ensure => running,
name => $apache::params::service,
enable => true,
subscribe => Package['apache'],
}
}
和php模块配置:
define php::module(
$notify = $php::params::notify,
$package_prefix = $php::params::module_package_prefix
) {
package { "php-module-${name}":
ensure => present,
name => "${package_prefix}${name}",
notify => Service['apache'],
require => [Class['apache'], Package['php', 'php-dev']]
}
}
但当我启动puppet时,我有一个错误:
Error: Parameter notify failed on Php::Module[mcrypt]: No title provided and "apache" is not a valid resource reference
我不明白为什么它说apache服务不是有效的资源?我认为这里可能有两个问题: 1) Puppet不喜欢php::module中的这一行:
$notify = $php::params::notify,
您可以尝试删除它或检查$php::params::notify中的内容吗?(我没看到你在用它)
2) 你吃过类似的东西吗
include apache
在你的site.pp?在引用包含的资源之前,仍然需要声明该类。Yeah puppet失败,因为我使用$notify作为变量名。在我的示例中,我没有使用$notify,但实际上我使用了:Service[“${notify}]”;但如果我改变$nofity_服务的$notify,它的工作$notify可能是一个保留变量名。在某些情况下,它可能只是
服务[“apache2”]
。