如何使用 'puppetlabs/rabbitmq' 模块设置 HA rabbitMQ?
How can I use 'puppetlabs/rabbitmq' module to set up HA rabbitMQ?
我绝不是 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',
},
}
...但是当我在我的兔子代码上执行 "puppet agent -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
我做错了什么?我也 have/need 有这样的东西吗...
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,
}
我们看到该类型的名称参数需要是 'combination of policy@vhost to create policy for.' 您的 'HA' 值不遵循该命名法,因此无法通过 /^\S+@\S+$/
的正则表达式检查。
您需要按照 'policy@vhost' 格式为 rabbitmq_policy
资源命名,然后您的代码才能编译。
我绝不是 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',
},
}
...但是当我在我的兔子代码上执行 "puppet agent -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
我做错了什么?我也 have/need 有这样的东西吗...
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,
}
我们看到该类型的名称参数需要是 'combination of policy@vhost to create policy for.' 您的 'HA' 值不遵循该命名法,因此无法通过 /^\S+@\S+$/
的正则表达式检查。
您需要按照 'policy@vhost' 格式为 rabbitmq_policy
资源命名,然后您的代码才能编译。