Finally figured it out (venv-kolla) root@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@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@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@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@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.