[kolla]RabbitMQ HA policies define
Satish Patel
satish.txt at gmail.com
Sat Feb 11 17:44:14 UTC 2023
Finally figured it out
(venv-kolla) root at ctrl1:/etc/kolla# cat
/etc/kolla/config/rabbitmq/definitions.json
{
"vhosts": [{
"name": "/"
}],
"users": [{
"name": "openstack",
"password": "3eQJwZ2IqFz4mM0SCEC5CzG3DB",
"tags": "administrator"
},
{
"name": "monitoring",
"password": "81nCTxycXxBAlr0mHCEqkK5y4s",
"tags": "monitoring"
}
],
"permissions": [{
"user": "openstack",
"vhost": "/",
"configure": ".*",
"write": ".*",
"read": ".*"
},
{
"user": "monitoring",
"vhost": "/",
"configure": "^$",
"write": "^$",
"read": ".*"
}
],
"policies": [{
"vhost": "/",
"name": "ha-all",
"pattern": "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*",
"apply-to": "all",
"definition": {
"ha-mode": "all"
},
"priority": 0
}]
}
On Sat, Feb 11, 2023 at 12:22 PM Satish Patel <satish.txt at gmail.com> wrote:
> This is my config file /etc/kolla/config/rabbitmq/definitions.json
>
> https://paste.opendev.org/show/b5V1jGCqM3QAs54bxcTC/
>
> On Sat, Feb 11, 2023 at 12:10 PM Satish Patel <satish.txt at gmail.com>
> wrote:
>
>> Hi Nguyễn,
>>
>> I have tried your config but getting syntax errors, what version of
>> rabbit are you running? i have created file and added your config:
>> /etc/rabbitmq/rabbitmq_definitions.jso
>>
>> Getting the following error and I am running Ubuntu 22.04 and Zed release
>>
>> TASK [rabbitmq : Copying over definitions.json]
>> **********************************************************************************************************************************
>> An exception occurred during task execution. To see the full traceback,
>> use -vvv. The error was: }
>> failed: [ctrl1] (item=/etc/kolla/config/rabbitmq/definitions.json) =>
>> {"ansible_loop_var": "item", "changed": false, "item":
>> "/etc/kolla/config/rabbitmq/definitions.json", "msg": "AnsibleError:
>> template error while templating string: Unexpected end of template. Jinja
>> was looking for the following tags: 'elif' or 'else' or 'endif'. The
>> innermost block that needs to be closed is 'if'.. String: {\n \"vhosts\":
>> [\n {\"name\": \"/\"}{% if project_name == 'outward_rabbitmq' %},\n
>> {\"name\": \"{{ murano_agent_rabbitmq_vhost }}\"}\n {% endif %}\n ],\n
>> \"users\": [\n {\"name\": \"{{ role_rabbitmq_user }}\", \"password\":
>> \"{{ role_rabbitmq_password }}\", \"tags\": \"administrator\"}{% if
>> role_rabbitmq_monitoring_user is defined and role_rabbitmq_monitoring_user
>> %},\n {\"name\": \"{{ role_rabbitmq_monitoring_user }}\", \"password\":
>> \"{{ role_rabbitmq_monitoring_password }}\", \"tags\": \"monitoring\"}{%
>> endif %}{% if project_name == 'outward_rabbitmq' %},\n {\"name\": \"{{
>> murano_agent_rabbitmq_user }}\", \"password\": \"{{
>> murano_agent_rabbitmq_password }}\", \"tags\": \"management\"}\n {%
>> endif %}\n ],\n \"permissions\": [\n {\"user\": \"{{
>> role_rabbitmq_user }}\", \"vhost\": \"/\", \"configure\": \".*\",
>> \"write\": \".*\", \"read\": \".*\"}{% if role_rabbitmq_monitoring_user is
>> defined and role_rabbitmq_monitoring_user %},\n {\"user\": \"{{
>> role_rabbitmq_monitoring_user }}\", \"vhost\": \"/\", \"configure\":
>> \"^$\", \"write\": \"^$\", \"read\": \".*\"}{% endif %}{% if project_name
>> == 'outward_rabbitmq' %},\n {\"user\": \"{{ murano_agent_rabbitmq_user
>> }}\", \"vhost\": \"{{ murano_agent_rabbitmq_vhost }}\", \"configure\":
>> \".*\", \"write\": \".*\", \"read\": \".*\"}\n {% endif %}\n ],\n
>> \"policies\":[\"{\"vhost\": \"/\", \"name\": \"ha-all\", \"pattern\":
>> \"^(?!(amq\\.)|(.*_fanout_)|(reply_)).*\", \"apply-to\": \"all\",
>> \"definition\": {\"ha-mode\":\"all\"}, \"priority\":0}{% if project_name ==
>> 'outward_rabbitmq' %}\"]\n}\n"}
>> An exception occurred during task execution. To see the full traceback,
>> use -vvv. The error was: }
>> failed: [ctrl2] (item=/etc/kolla/config/rabbitmq/definitions.json) =>
>> {"ansible_loop_var": "item", "changed": false, "item":
>> "/etc/kolla/config/rabbitmq/definitions.json", "msg": "AnsibleError:
>> template error while templating string: Unexpected end of template. Jinja
>> was looking for the following tags: 'elif' or 'else' or 'endif'. The
>> innermost block that needs to be closed is 'if'.. String: {\n \"vhosts\":
>> [\n {\"name\": \"/\"}{% if project_name == 'outward_rabbitmq' %},\n
>> {\"name\": \"{{ murano_agent_rabbitmq_vhost }}\"}\n {% endif %}\n ],\n
>> \"users\": [\n {\"name\": \"{{ role_rabbitmq_user }}\", \"password\":
>> \"{{ role_rabbitmq_password }}\", \"tags\": \"administrator\"}{% if
>> role_rabbitmq_monitoring_user is defined and role_rabbitmq_monitoring_user
>> %},\n {\"name\": \"{{ role_rabbitmq_monitoring_user }}\", \"password\":
>> \"{{ role_rabbitmq_monitoring_password }}\", \"tags\": \"monitoring\"}{%
>> endif %}{% if project_name == 'outward_rabbitmq' %},\n {\"name\": \"{{
>> murano_agent_rabbitmq_user }}\", \"password\": \"{{
>> murano_agent_rabbitmq_password }}\", \"tags\": \"management\"}\n {%
>> endif %}\n ],\n \"permissions\": [\n {\"user\": \"{{
>> role_rabbitmq_user }}\", \"vhost\": \"/\", \"configure\": \".*\",
>> \"write\": \".*\", \"read\": \".*\"}{% if role_rabbitmq_monitoring_user is
>> defined and role_rabbitmq_monitoring_user %},\n {\"user\": \"{{
>> role_rabbitmq_monitoring_user }}\", \"vhost\": \"/\", \"configure\":
>> \"^$\", \"write\": \"^$\", \"read\": \".*\"}{% endif %}{% if project_name
>> == 'outward_rabbitmq' %},\n {\"user\": \"{{ murano_agent_rabbitmq_user
>> }}\", \"vhost\": \"{{ murano_agent_rabbitmq_vhost }}\", \"configure\":
>> \".*\", \"write\": \".*\", \"read\": \".*\"}\n {% endif %}\n ],\n
>> \"policies\":[\"{\"vhost\": \"/\", \"name\": \"ha-all\", \"pattern\":
>> \"^(?!(amq\\.)|(.*_fanout_)|(reply_)).*\", \"apply-to\": \"all\",
>> \"definition\": {\"ha-mode\":\"all\"}, \"priority\":0}{% if project_name ==
>> 'outward_rabbitmq' %}\"]\n}\n"}
>> An exception occurred during task execution. To see the full traceback,
>> use -vvv. The error was: }
>> failed: [ctrl3] (item=/etc/kolla/config/rabbitmq/definitions.json) =>
>> {"ansible_loop_var": "item", "changed": false, "item":
>> "/etc/kolla/config/rabbitmq/definitions.json", "msg": "AnsibleError:
>> template error while templating string: Unexpected end of template. Jinja
>> was looking for the following tags: 'elif' or 'else' or 'endif'. The
>> innermost block that needs to be closed is 'if'.. String: {\n \"vhosts\":
>> [\n {\"name\": \"/\"}{% if project_name == 'outward_rabbitmq' %},\n
>> {\"name\": \"{{ murano_agent_rabbitmq_vhost }}\"}\n {% endif %}\n ],\n
>> \"users\": [\n {\"name\": \"{{ role_rabbitmq_user }}\", \"password\":
>> \"{{ role_rabbitmq_password }}\", \"tags\": \"administrator\"}{% if
>> role_rabbitmq_monitoring_user is defined and role_rabbitmq_monitoring_user
>> %},\n {\"name\": \"{{ role_rabbitmq_monitoring_user }}\", \"password\":
>> \"{{ role_rabbitmq_monitoring_password }}\", \"tags\": \"monitoring\"}{%
>> endif %}{% if project_name == 'outward_rabbitmq' %},\n {\"name\": \"{{
>> murano_agent_rabbitmq_user }}\", \"password\": \"{{
>> murano_agent_rabbitmq_password }}\", \"tags\": \"management\"}\n {%
>> endif %}\n ],\n \"permissions\": [\n {\"user\": \"{{
>> role_rabbitmq_user }}\", \"vhost\": \"/\", \"configure\": \".*\",
>> \"write\": \".*\", \"read\": \".*\"}{% if role_rabbitmq_monitoring_user is
>> defined and role_rabbitmq_monitoring_user %},\n {\"user\": \"{{
>> role_rabbitmq_monitoring_user }}\", \"vhost\": \"/\", \"configure\":
>> \"^$\", \"write\": \"^$\", \"read\": \".*\"}{% endif %}{% if project_name
>> == 'outward_rabbitmq' %},\n {\"user\": \"{{ murano_agent_rabbitmq_user
>> }}\", \"vhost\": \"{{ murano_agent_rabbitmq_vhost }}\", \"configure\":
>> \".*\", \"write\": \".*\", \"read\": \".*\"}\n {% endif %}\n ],\n
>> \"policies\":[\"{\"vhost\": \"/\", \"name\": \"ha-all\", \"pattern\":
>> \"^(?!(amq\\.)|(.*_fanout_)|(reply_)).*\", \"apply-to\": \"all\",
>> \"definition\": {\"ha-mode\":\"all\"}, \"priority\":0}{% if project_name ==
>> 'outward_rabbitmq' %}\"]\n}\n"}
>>
>> PLAY RECAP
>> ***********************************************************************************************************************************************************************
>> ctrl1 : ok=12 changed=0 unreachable=0
>> failed=1 skipped=3 rescued=0 ignored=0
>> ctrl2 : ok=12 changed=0 unreachable=0
>> failed=1 skipped=3 rescued=0 ignored=0
>> ctrl3 : ok=11 changed=0 unreachable=0
>> failed=1 skipped=0 rescued=0 ignored=0
>> localhost : ok=4 changed=0 unreachable=0
>> failed=0 skipped=0 rescued=0 ignored=0
>>
>>
>>
>>
>> On Fri, Feb 10, 2023 at 12:01 AM Nguyễn Hữu Khôi <
>> nguyenhuukhoinw at gmail.com> wrote:
>>
>>> you will need add
>>>
>>> "{"vhost": "/", "name": "ha-all", "pattern":
>>> "^(?!(amq\.)|(.*_fanout_)|(reply_)).*", "apply-to": "all", "definition":
>>> {"ha-mode":"all"}, "priority":0}{% if project_name == 'outward_rabbitmq' %}"
>>> to
>>>
>>> kolla-ansible/ansible/roles/rabbitmq/templates/definitions.json.j2
>>>
>>> Nguyen Huu Khoi
>>>
>>>
>>> On Fri, Feb 10, 2023 at 10:47 AM Satish Patel <satish.txt at gmail.com>
>>> wrote:
>>>
>>>> Folks,
>>>>
>>>> I have deployed 3 node kolla controllers and notice rabbitMQ doesn't
>>>> have any HA policy for queues. when i rebooted one of the nodes and found
>>>> some messages got lost.
>>>>
>>>> Any reason kolla doesn't use HA policies by default?
>>>>
>>>> If i want to add policies then where should i specify them or any doc
>>>> you can point me to define policies.
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20230211/dd82a09c/attachment-0001.htm>
More information about the openstack-discuss
mailing list