diff --git a/ansible/roles/rabbitmq/defaults/main.yml b/ansible/roles/rabbitmq/defaults/main.yml
index 388369f58bdae536cc4916032ebac9d77f798ae4..06aaf8a9c495eb9601456ec8dd8bee09e364fd4f 100644
--- a/ansible/roles/rabbitmq/defaults/main.yml
+++ b/ansible/roles/rabbitmq/defaults/main.yml
@@ -84,6 +84,11 @@ rabbitmq_server_additional_erl_args: "+S 2:2 +sbwt none +sbwtdcpu none +sbwtdio
 rabbitmq_tls_options: {}
 # To avoid split-brain
 rabbitmq_cluster_partition_handling: "pause_minority"
+# For consistency use "when-synced", for availability use "always"
+# The rabbitmq default for ha queues is "when-synced"
+# More details see:
+# https://www.rabbitmq.com/ha.html#promoting-unsynchronised-mirrors
+rabbitmq_ha_promote_on_shutdown:
 rabbitmq_extra_config: {}
 
 ####################
diff --git a/ansible/roles/rabbitmq/templates/definitions.json.j2 b/ansible/roles/rabbitmq/templates/definitions.json.j2
index 450a04df49e7fad0b040f8b662b89446fffed005..d04a0deabd3cf8338707d9b7cbc4897aecaee464 100644
--- a/ansible/roles/rabbitmq/templates/definitions.json.j2
+++ b/ansible/roles/rabbitmq/templates/definitions.json.j2
@@ -18,8 +18,8 @@
   ],
 {% if om_enable_rabbitmq_high_availability | bool %}
   "policies":[
-    {"vhost": "/", "name": "ha-all", "pattern": "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*", "apply-to": "all", "definition": {"ha-mode":"all"}, "priority":0}{% if project_name == 'outward_rabbitmq' %},
-    {"vhost": "{{ murano_agent_rabbitmq_vhost }}", "name": "ha-all", "pattern": "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*", "apply-to": "all", "definition": {"ha-mode":"all"}, "priority":0}
+    {"vhost": "/", "name": "ha-all", "pattern": "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*", "apply-to": "all", "definition": {"ha-mode":"all"{% if rabbitmq_ha_promote_on_shutdown is not none %},"ha-promote-on-shutdown":"{{ rabbitmq_ha_promote_on_shutdown }}"{% endif %}}, "priority":0}{% if project_name == 'outward_rabbitmq' %},
+    {"vhost": "{{ murano_agent_rabbitmq_vhost }}", "name": "ha-all", "pattern": "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*", "apply-to": "all", "definition": {"ha-mode":"all"{% if rabbitmq_ha_promote_on_shutdown is not none %},"ha-promote-on-shutdown":"{{ rabbitmq_ha_promote_on_shutdown }}"{% endif %}}, "priority":0}
     {% endif %}
   ]
 {% else %}
diff --git a/releasenotes/notes/rabbitmq-ha-promote-on-shutdown-9099c6643f2d0cce.yaml b/releasenotes/notes/rabbitmq-ha-promote-on-shutdown-9099c6643f2d0cce.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c97d3b68a7749fe00c37fb62ab5a60a749b874cd
--- /dev/null
+++ b/releasenotes/notes/rabbitmq-ha-promote-on-shutdown-9099c6643f2d0cce.yaml
@@ -0,0 +1,13 @@
+---
+features:
+  - |
+    The config option `rabbitmq_ha_promote_on_shutdown` has been added, which
+    allows changing the RabbitMQ definition `ha-promote-on-shutdown`. By
+    default `ha-promote-on-shutdown` is "when-synced". We recommend changing
+    this to be "always". This basically means we don't mind losing some
+    messages, instead we give priority to rabbitmq availability. This is most
+    relevant when restarting rabbitmq, such as when upgrading. Note that
+    setting the value of this flag, even to the default value of "when-synced",
+    will cause RabbitMQ to be restarted on the next deploy.
+    For more details please see:
+    https://www.rabbitmq.com/ha.html#cluster-shutdown