0

我尝试编写一个 puppet 配置以安装 lamp env。

但我对通知选项有疑问。

我有一个 apache conf:

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 服务不是有效资源?

4

1 回答 1

1

我认为这里可能有2个问题:

1) Puppet 不喜欢 php::module 中的这一行:

    $notify         = $php::params::notify,

您可以尝试删除它或检查 $php::params::notify 中的内容吗?(我没有看到你使用它)

2)你有类似的东西吗

include apache

在您的 site.pp 中?在引用包含的资源之前,仍需要声明该类。

于 2012-12-20T05:36:53.637 回答