(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
}]
}
This is my config file /etc/kolla/config/rabbitmq/definitions.jsonOn 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.jsoGetting the following error and I am running Ubuntu 22.04 and Zed releaseTASK [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=0On 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' %}"tokolla-ansible/ansible/roles/rabbitmq/templates/definitions.json.j2Nguyen Huu KhoiOn 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.