<div dir="ltr">This is my config file /etc/kolla/config/rabbitmq/definitions.json<div><br></div><div><a href="https://paste.opendev.org/show/b5V1jGCqM3QAs54bxcTC/">https://paste.opendev.org/show/b5V1jGCqM3QAs54bxcTC/</a><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Feb 11, 2023 at 12:10 PM Satish Patel <<a href="mailto:satish.txt@gmail.com">satish.txt@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Nguyễn,</div><div><br></div><div>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</div><div><br></div><div>Getting the following error and I am running Ubuntu 22.04 and Zed release </div><div><br></div><div>TASK [rabbitmq : Copying over definitions.json] **********************************************************************************************************************************<br>An exception occurred during task execution. To see the full traceback, use -vvv. The error was: }<br>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"}<br>An exception occurred during task execution. To see the full traceback, use -vvv. The error was: }<br>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"}<br>An exception occurred during task execution. To see the full traceback, use -vvv. The error was: }<br>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"}<br><br>PLAY RECAP ***********************************************************************************************************************************************************************<br>ctrl1                      : ok=12   changed=0    unreachable=0    failed=1    skipped=3    rescued=0    ignored=0<br>ctrl2                      : ok=12   changed=0    unreachable=0    failed=1    skipped=3    rescued=0    ignored=0<br>ctrl3                      : ok=11   changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0<br>localhost                  : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0<br></div><div><span style="background-color:rgb(227,230,232);color:rgb(35,38,41);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono","Liberation Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap"><br></span></div><div><span style="background-color:rgb(227,230,232);color:rgb(35,38,41);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono","Liberation Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap"><br></span></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 10, 2023 at 12:01 AM Nguyễn Hữu Khôi <<a href="mailto:nguyenhuukhoinw@gmail.com" target="_blank">nguyenhuukhoinw@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">you will need add <div><br><div>"{"vhost": "/", "name": "ha-all", "pattern": "^(?!(amq\.)|(.*_fanout_)|(reply_)).*", "apply-to": "all", "definition": {"ha-mode":"all"}, "priority":0}{% if project_name == 'outward_rabbitmq' %}"<div>to</div><div><br><div>kolla-ansible/ansible/roles/rabbitmq/templates/definitions.json.j2</div><div> <br clear="all"><div><div dir="ltr"><div dir="ltr">Nguyen Huu Khoi<br></div></div></div><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 10, 2023 at 10:47 AM Satish Patel <<a href="mailto:satish.txt@gmail.com" target="_blank">satish.txt@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Folks,<br><div><br></div><div>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. </div><div><br></div><div>Any reason kolla doesn't use HA policies by default? </div><div><br></div><div>If i want to add policies then where should i specify them or any doc you can point me to define policies.  </div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>