我绝不是RabbitMQ的专家,但我试图将RabbitMQ集群的设置变得愚蠢。在我的同事写的文档中,我需要实现相当于执行......
rabbitmqctl set_policy HA '^(?!amq.).*' '{"ha-mode": "all"}
......在我的傀儡清单中。我试过这个......
rabbitmq_policy { 'HA':
pattern => '^(?!amq.).*',
priority => 0,
applyto => 'all',
definition => {
'ha-mode' => 'all',
'ha-sync-mode' => 'automatic',
},
}
...但是当我做我的"木偶代理时,我得到了这个错误-t"在我的兔子代码上:
Error: Failed to apply catalog: Parameter name failed on Rabbitmq_policy[HA]: Invalid value "HA". Valid values match /^\S+@\S+$/. at /etc/puppetlabs/code/environments/production/modules/core/wraprabbitmq/manifests/init.pp:59
我做错了什么?我也有/需要这样的东西......
rabbitmq_vhost { 'myvhost':
ensure => present,
}
...如果我正在设置HA rabbitMQ?
更新:谢谢马特。
我现在正在使用它:
rabbitmq_policy { 'HA@/':
pattern => '^(?!amq.).*',
priority => 0,
applyto => 'all',
definition => {
'ha-mode' => 'all',
'ha-sync-mode' => 'automatic',
},
}
我也不需要使用它:
rabbitmq_vhost { 'myvhost':
ensure => present,
}
答案 0 :(得分:1)
我们看到该类型的name参数需要是策略@vhost的组合来创建策略。'你的价值是' HA'不遵循该命名法,因此无法检查/^\S+@\S+$/
。
您需要按照' policy @ vhost'的格式输入名称。对于rabbitmq_policy
资源,然后您的代码将编译。