2012-12-19 55 views
0

我嘗試編寫木偶配置以安裝燈環境。木偶通知服務錯誤

但我有一個通知選項的問題。

我有一個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模塊的conf:

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']] 
    } 
} 

,但是當我啓動傀儡我有這樣的錯誤:

Error: Parameter notify failed on Php::Module[mcrypt]: No title provided and "apache" is not a valid resource reference 

我不不明白它爲什麼說apache服務不是一個有效的資源?

+0

在某些情況下,它可能只是'Service [「apache2」]。 – kenorb

回答

1

我覺得可能是2個問題在這裏:

1)木偶不喜歡這條線在PHP ::模塊:

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

你可以嘗試刪除或檢查是什麼$ PHP :: PARAMS ::通知? (我沒有看到你使用它)

2)你是否有類似

include apache 
在site.pp

?在引用包含的資源之前,該類仍然需要聲明。

+0

是啊,puppet失敗了,因爲我使用$ notify作爲var名稱。在我的例子中,我沒有使用$ notify,但實際上我使用:Service [「$ {notify}」]; 但是,如果我通過$ nofity_service更改$ notify,它的工作原理。 $ notify可能是一個保留的變量名稱。 – Kakawait