diff --git a/ansible/roles/rabbitmq/defaults/main.yml b/ansible/roles/rabbitmq/defaults/main.yml
index 24f81c39c7..65a6fcc84f 100644
--- a/ansible/roles/rabbitmq/defaults/main.yml
+++ b/ansible/roles/rabbitmq/defaults/main.yml
@@ -70,3 +70,4 @@ rabbitmq_user: "openstack"
 rabbitmq_cluster_name: "openstack"
 rabbitmq_hostname: "{{ ansible_hostname }}"
 rabbitmq_pid_file: "/var/lib/rabbitmq/mnesia/rabbitmq.pid"
+rabbitmq_server_additional_erl_args: ""
diff --git a/ansible/roles/rabbitmq/templates/rabbitmq-env.conf.j2 b/ansible/roles/rabbitmq/templates/rabbitmq-env.conf.j2
index 8d6069b507..050cb1fd00 100644
--- a/ansible/roles/rabbitmq/templates/rabbitmq-env.conf.j2
+++ b/ansible/roles/rabbitmq/templates/rabbitmq-env.conf.j2
@@ -2,7 +2,7 @@ RABBITMQ_NODENAME=rabbit@{{ ansible_hostname }}
 RABBITMQ_LOG_BASE=/var/log/kolla/{{ project_name }}
 RABBITMQ_DIST_PORT={{ role_rabbitmq_cluster_port }}
 RABBITMQ_PID_FILE={{ rabbitmq_pid_file }}
-RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-kernel inetrc '/etc/rabbitmq/erl_inetrc' {% if api_address_family == 'ipv6' %}-proto_dist inet6_tcp {% endif %}"
+RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-kernel inetrc '/etc/rabbitmq/erl_inetrc' {% if api_address_family == 'ipv6' %}-proto_dist inet6_tcp {% endif %}{{ rabbitmq_server_additional_erl_args }}"
 RABBITMQ_CTL_ERL_ARGS="{% if api_address_family == 'ipv6' %}-proto_dist inet6_tcp {% endif %}"
 
 export ERL_EPMD_ADDRESS={{ api_interface_address }}
diff --git a/doc/source/reference/index.rst b/doc/source/reference/index.rst
index 0e1211be07..358aef91e6 100644
--- a/doc/source/reference/index.rst
+++ b/doc/source/reference/index.rst
@@ -14,5 +14,6 @@ Projects Deployment Configuration Reference
    logging-and-monitoring/index
    containers/index
    databases/index
+   message-queues/index
    deployment-config/index
    deployment-and-bootstrapping/index
diff --git a/doc/source/reference/message-queues/index.rst b/doc/source/reference/message-queues/index.rst
new file mode 100644
index 0000000000..fe756405df
--- /dev/null
+++ b/doc/source/reference/message-queues/index.rst
@@ -0,0 +1,10 @@
+==============
+Message queues
+==============
+
+This section describes configuration of message queue services.
+
+.. toctree::
+   :maxdepth: 1
+
+   rabbitmq
diff --git a/doc/source/reference/message-queues/rabbitmq.rst b/doc/source/reference/message-queues/rabbitmq.rst
new file mode 100644
index 0000000000..1457327ce0
--- /dev/null
+++ b/doc/source/reference/message-queues/rabbitmq.rst
@@ -0,0 +1,22 @@
+.. _rabbitmq:
+
+========
+RabbitMQ
+========
+
+RabbitMQ is a message broker written in Erlang.
+It is currently the default provider of message queues in Kolla Ansible
+deployments.
+
+Passing arguments to RabbitMQ server's Erlang VM
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Erlang programs run in Erlang VM (virtual machine) and use Erlang runtime.
+Erlang VM can be configured.
+
+Kolla Ansible makes it possible to pass arguments to the Erlang VM via the
+usage of ``rabbitmq_server_additional_erl_args`` variable. The contents of it
+are appended to ``RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS`` environment variable
+passed to RabbitMQ server startup script. Kolla Ansible already configures
+RabbitMQ server for IPv6 (if necessary). Any argument can be passed there as
+documented in https://www.rabbitmq.com/runtime.html
diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml
index cef3e8f9b6..b109da5d55 100644
--- a/etc/kolla/globals.yml
+++ b/etc/kolla/globals.yml
@@ -350,6 +350,16 @@
 #enable_zookeeper: "{{ enable_kafka | bool }}"
 #enable_zun: "no"
 
+##################
+# RabbitMQ options
+##################
+# Options passed to RabbitMQ server startup script via the
+# RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS environment var.
+# See Kolla Ansible docs RabbitMQ section for details.
+# These are appended to args already provided by Kolla Ansible
+# to configure IPv6 in RabbitMQ server.
+#rabbitmq_server_additional_erl_args: ""
+
 ##############
 # Ceph options
 ##############
diff --git a/releasenotes/notes/rabbitmq-server-additional-erl-args-passing-653fd619b41a7b0f.yaml b/releasenotes/notes/rabbitmq-server-additional-erl-args-passing-653fd619b41a7b0f.yaml
new file mode 100644
index 0000000000..7c6bdef01f
--- /dev/null
+++ b/releasenotes/notes/rabbitmq-server-additional-erl-args-passing-653fd619b41a7b0f.yaml
@@ -0,0 +1,7 @@
+---
+features:
+  - |
+    It is now possible to pass ``RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS``
+    to RabbitMQ server's Erlang VM via the newly introduced
+    ``rabbitmq_server_additional_erl_args`` variable.
+    See Kolla Ansible docs RabbitMQ section for details.