【问题标题】:Illegal rabbitmq cluster nodes with Puppet带有 Puppet 的非法 rabbitmq 集群节点
【发布时间】:2013-12-22 10:57:17
【问题描述】:

我依靠 Librarian-puppet 将 rabbitmq 安装在一个 vagrant box 中。

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 值是如何验证的...用于验证的正则表达式从何而来?

【问题讨论】:

  • 你使用的是哪个版本的 puppet?
  • 正则表达式来自木偶词法分析器
  • 我正在使用 Puppet 3.4.0

标签: ruby regex configuration rabbitmq puppet


【解决方案1】:

这个问题与变量的值无关($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

【讨论】:

  • 这其实是我的第一个猜测,但奇怪的是puppet apply -e '$_foo=1' 并没有引起类似的错误。
  • 该正则表达式似乎也不是词法分析器用于变量名称的正确正则表达式,因为该正则表达式也不允许任何下划线...
  • 希望这个问题能在 github 上讨论,一些人会和我们分享他们的经验。
猜你喜欢
  • 2019-01-15
  • 2016-06-26
  • 1970-01-01
  • 1970-01-01
  • 2019-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多