[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