Ruby 使用Puppet的非法rabbitmq群集节点
我依靠图书管理员傀儡将rabbitmq安装在一个流浪汉的盒子里 Puppet版本是3.4.0 我的Ruby 使用Puppet的非法rabbitmq群集节点,ruby,regex,configuration,rabbitmq,puppet,Ruby,Regex,Configuration,Rabbitmq,Puppet,我依靠图书管理员傀儡将rabbitmq安装在一个流浪汉的盒子里 Puppet版本是3.4.0 我的Puppetfile包含 forge "http://forge.puppetlabs.com" [...] mod 'rabbitmq', :git => 'git://github.com/puppetlabs/puppetlabs-rabbitmq' 通过遵循文档,我打算使用下一条指令安装RabbitMQ服务器: class { '::rabbitmq': service_ma
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
}
是否有人可以为我提供群集节点名称的有效实例?
显然用于验证的正则表达式在我看来有点神秘
我还想知道如何验证
\u cluster\u节点
值。。。用于验证的正则表达式来自何处?此问题与变量的值无关($cluster\u nodes
或$cluster\u disk\u nodes
),而是变量名称不正确。变量名不应再以“u”开头(由正则表达式和实际错误消息表示)。我只是在翻译中迷路了
我在github上打开了一个问题,并发送了一份PR,试图解决它:
为了跟进这个问题,另一个PR也同样修复了这个问题,该PR实际上被合并了:
您使用的是哪个版本的puppet?正则表达式来自puppet lexer我使用的是puppet 3.4.0这实际上是我的第一个猜测,但奇怪的是,
puppet apply-e'$\u foo=1'
不会导致类似的错误。正则表达式似乎也不是lexer用于变量名的正确正则表达式,由于这个正则表达式也不允许任何下划线…希望这个问题将在github上讨论,一些人将与我们分享他们的经验。