2013-12-22 96 views
3

我依靠Librarian-puppet將rabbitmq安裝在一個流浪盒子裏。非法rabbitmq羣集節點與Puppet

木偶版本是3.4.0

Puppetfile包含

forge "http://forge.puppetlabs.com" 
[...] 
mod 'rabbitmq', :git => 'git://github.com/puppetlabs/puppetlabs-rabbitmq' 

通過下面的文檔,我打算安裝的RabbitMQ服務器下一條指令:

class { '::rabbitmq': 
    service_manage  => false, 
    port    => '5672', 
    delete_guest_user => true, 
} 

這樣,我遇到了以下錯誤消息:

Error: Illegal name. The given name _cluster_nodes does not conform to the naming rule 
\A((::)?[a-z0-9]w*)(::[a-z0-9]w*)*\z at 
/etc/puppet/modules/rabbitmq/manifests/config.pp:45:5 

Error: Illegal name. The given name _cluster_nodes does not conform to the naming rule 
\A((::)?[a-z0-9]w*)(::[a-z0-9]w*)*\z at 
/etc/puppet/modules/rabbitmq/manifests/config.pp:47:5 

實際config.pp文件包含下面的代碼塊:

# Handle deprecated option. 
if $cluster_disk_nodes != [] { 
    notify { 'cluster_disk_nodes': 
     message => 'WARNING: The cluster_disk_nodes is deprecated. 
     Use cluster_nodes instead.', 
    } 
    $_cluster_nodes = $cluster_disk_nodes # line 45 
} else { 
    $_cluster_nodes = $cluster_nodes # line 47 
} 

誰能給我提供集羣節點名稱的有效實例? 顯然用於驗證的正則表達式對我來說看起來有點神祕。

我也想知道_cluster_nodes值是如何驗證的......用於驗證的正則表達式來自哪裏?

+1

木偶的版本,你這全光照G? –

+1

正則表達式來自傀儡詞法分析器 –

+0

我使用的是木偶3.4.0 –

回答

3

這個問題不是關於變量的值($cluster_nodes$cluster_disk_nodes),而是變量名稱不正確。變量名不能以'_'開頭(如正則表達式和實際錯誤信息所表示的)。我只是迷失在翻譯。

我已經打開GitHub上的問題,我已經發出了PR,它試圖解決它:

https://github.com/puppetlabs/puppetlabs-rabbitmq/issues/163

https://github.com/puppetlabs/puppetlabs-rabbitmq/pull/164

爲了這個問題跟進,但同樣固定由另一個PR,這得到了實際合併:

https://github.com/puppetlabs/puppetlabs-rabbitmq/pull/160

+0

這實際上是我的第一個猜測,但奇怪的是'puppet apply -e'$ _foo = 1''不會導致類似的錯誤。 –

+1

正則表達式似乎也不是正確的正則表達式的詞法分析器用於變量名稱,因爲這個正則表達式也不允許任何下劃線... –

+0

希望這個問題將在github上討論,一些人將分享他們的經驗和我們。 –