Merge "Support enable/disable rabbitmq prometheus plugins"
This commit is contained in:
commit
93ececffae
|
@ -434,6 +434,7 @@ outward_rabbitmq_port: "5674"
|
||||||
outward_rabbitmq_management_port: "15674"
|
outward_rabbitmq_management_port: "15674"
|
||||||
outward_rabbitmq_cluster_port: "25674"
|
outward_rabbitmq_cluster_port: "25674"
|
||||||
outward_rabbitmq_epmd_port: "4371"
|
outward_rabbitmq_epmd_port: "4371"
|
||||||
|
outward_rabbitmq_prometheus_port: "15694"
|
||||||
|
|
||||||
ovsdb_port: "6640"
|
ovsdb_port: "6640"
|
||||||
|
|
||||||
|
@ -448,7 +449,7 @@ prometheus_node_exporter_port: "9100"
|
||||||
prometheus_mysqld_exporter_port: "9104"
|
prometheus_mysqld_exporter_port: "9104"
|
||||||
prometheus_haproxy_exporter_port: "9101"
|
prometheus_haproxy_exporter_port: "9101"
|
||||||
prometheus_memcached_exporter_port: "9150"
|
prometheus_memcached_exporter_port: "9150"
|
||||||
prometheus_rabbitmq_exporter_port: "15692"
|
prometheus_rabbitmq_exporter_port: "{{ rabbitmq_prometheus_port }}"
|
||||||
# Default cadvisor port of 8080 already in use
|
# Default cadvisor port of 8080 already in use
|
||||||
prometheus_cadvisor_port: "18080"
|
prometheus_cadvisor_port: "18080"
|
||||||
prometheus_fluentd_integration_port: "24231"
|
prometheus_fluentd_integration_port: "24231"
|
||||||
|
@ -470,6 +471,7 @@ rabbitmq_port: "{{ '5671' if rabbitmq_enable_tls | bool else '5672' }}"
|
||||||
rabbitmq_management_port: "15672"
|
rabbitmq_management_port: "15672"
|
||||||
rabbitmq_cluster_port: "25672"
|
rabbitmq_cluster_port: "25672"
|
||||||
rabbitmq_epmd_port: "4369"
|
rabbitmq_epmd_port: "4369"
|
||||||
|
rabbitmq_prometheus_port: "15692"
|
||||||
|
|
||||||
redis_port: "6379"
|
redis_port: "6379"
|
||||||
redis_sentinel_port: "26379"
|
redis_sentinel_port: "26379"
|
||||||
|
@ -795,6 +797,14 @@ outward_rabbitmq_user: "openstack"
|
||||||
rabbitmq_enable_tls: "no"
|
rabbitmq_enable_tls: "no"
|
||||||
# CA certificate bundle in RabbitMQ container.
|
# CA certificate bundle in RabbitMQ container.
|
||||||
rabbitmq_cacert: "/etc/ssl/certs/{{ 'ca-certificates.crt' if kolla_base_distro in ['debian', 'ubuntu'] else 'ca-bundle.trust.crt' }}"
|
rabbitmq_cacert: "/etc/ssl/certs/{{ 'ca-certificates.crt' if kolla_base_distro in ['debian', 'ubuntu'] else 'ca-bundle.trust.crt' }}"
|
||||||
|
rabbitmq_enable_prometheus_plugin: "{{ enable_prometheus }}"
|
||||||
|
rabbitmq_plugins:
|
||||||
|
- name: "rabbitmq_management"
|
||||||
|
enabled: True
|
||||||
|
- name: "rabbitmq_prometheus"
|
||||||
|
enabled: "{{ rabbitmq_enable_prometheus_plugin | bool }}"
|
||||||
|
|
||||||
|
rabbitmq_enabled_plugins: "{{ rabbitmq_plugins | selectattr('enabled', 'equalto', true) | list }}"
|
||||||
|
|
||||||
####################
|
####################
|
||||||
# Qdrouterd options
|
# Qdrouterd options
|
||||||
|
|
|
@ -97,5 +97,23 @@
|
||||||
notify:
|
notify:
|
||||||
- Restart rabbitmq container
|
- Restart rabbitmq container
|
||||||
|
|
||||||
|
- name: Copying over enabled_plugins
|
||||||
|
become: true
|
||||||
|
vars:
|
||||||
|
service: "{{ rabbitmq_services['rabbitmq'] }}"
|
||||||
|
template:
|
||||||
|
src: "{{ item }}"
|
||||||
|
dest: "{{ node_config_directory }}/{{ project_name }}/enabled_plugins"
|
||||||
|
mode: "0660"
|
||||||
|
with_first_found:
|
||||||
|
- "{{ node_custom_config }}/rabbitmq/{{ inventory_hostname }}/enabled_plugins"
|
||||||
|
- "{{ node_custom_config }}/rabbitmq/enabled_plugins"
|
||||||
|
- "enabled_plugins.j2"
|
||||||
|
when:
|
||||||
|
- inventory_hostname in groups[service.group]
|
||||||
|
- service.enabled | bool
|
||||||
|
notify:
|
||||||
|
- Restart rabbitmq container
|
||||||
|
|
||||||
- include_tasks: copy-certs.yml
|
- include_tasks: copy-certs.yml
|
||||||
when: rabbitmq_enable_tls | bool
|
when: rabbitmq_enable_tls | bool
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
[{{ rabbitmq_enabled_plugins | map(attribute='name') | join(', ') }}].
|
|
@ -25,3 +25,8 @@ ssl_options.keyfile = /etc/rabbitmq/certs/{{ project_name }}-key.pem
|
||||||
ssl_options.{{ key }} = {{ value }}
|
ssl_options.{{ key }} = {{ value }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if 'rabbitmq_prometheus' in rabbitmq_enabled_plugins | map(attribute='name') %}
|
||||||
|
prometheus.tcp.ip = {{ api_interface_address }}
|
||||||
|
prometheus.tcp.port = {{ role_rabbitmq_prometheus_port }}
|
||||||
|
{% endif %}
|
||||||
|
|
|
@ -24,6 +24,12 @@
|
||||||
"dest": "/etc/rabbitmq/definitions.json",
|
"dest": "/etc/rabbitmq/definitions.json",
|
||||||
"owner": "rabbitmq",
|
"owner": "rabbitmq",
|
||||||
"perm": "0600"
|
"perm": "0600"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "{{ container_config_directory }}/enabled_plugins",
|
||||||
|
"dest": "/etc/rabbitmq/enabled_plugins",
|
||||||
|
"owner": "rabbitmq",
|
||||||
|
"perm": "0600"
|
||||||
}{% if rabbitmq_enable_tls | bool %},
|
}{% if rabbitmq_enable_tls | bool %},
|
||||||
{
|
{
|
||||||
"source": "{{ container_config_directory }}/{{ project_name }}-cert.pem",
|
"source": "{{ container_config_directory }}/{{ project_name }}-cert.pem",
|
||||||
|
|
|
@ -481,6 +481,7 @@
|
||||||
role_rabbitmq_monitoring_user: '{{ rabbitmq_monitoring_user }}',
|
role_rabbitmq_monitoring_user: '{{ rabbitmq_monitoring_user }}',
|
||||||
role_rabbitmq_password: '{{ rabbitmq_password }}',
|
role_rabbitmq_password: '{{ rabbitmq_password }}',
|
||||||
role_rabbitmq_port: '{{ rabbitmq_port }}',
|
role_rabbitmq_port: '{{ rabbitmq_port }}',
|
||||||
|
role_rabbitmq_prometheus_port: '{{ rabbitmq_prometheus_port }}',
|
||||||
role_rabbitmq_user: '{{ rabbitmq_user }}',
|
role_rabbitmq_user: '{{ rabbitmq_user }}',
|
||||||
when: enable_rabbitmq | bool }
|
when: enable_rabbitmq | bool }
|
||||||
|
|
||||||
|
@ -500,6 +501,7 @@
|
||||||
role_rabbitmq_management_port: '{{ outward_rabbitmq_management_port }}',
|
role_rabbitmq_management_port: '{{ outward_rabbitmq_management_port }}',
|
||||||
role_rabbitmq_password: '{{ outward_rabbitmq_password }}',
|
role_rabbitmq_password: '{{ outward_rabbitmq_password }}',
|
||||||
role_rabbitmq_port: '{{ outward_rabbitmq_port }}',
|
role_rabbitmq_port: '{{ outward_rabbitmq_port }}',
|
||||||
|
role_rabbitmq_prometheus_port: '{{ outward_rabbitmq_prometheus_port }}',
|
||||||
role_rabbitmq_user: '{{ outward_rabbitmq_user }}',
|
role_rabbitmq_user: '{{ outward_rabbitmq_user }}',
|
||||||
when: enable_outward_rabbitmq | bool }
|
when: enable_outward_rabbitmq | bool }
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Fixed the deployment failure of outward_rabbitmq by resolving port
|
||||||
|
conflicts by customizing RabbitMQ's ``prometheus.tcp.port``.
|
||||||
|
`LP #1885106 <https://bugs.launchpad.net/kolla-ansible/+bug/1885106>`__
|
||||||
|
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
RabbitMQ's Prometheus plugin is no longer enabled by default
|
||||||
|
if Prometheus is not deployed. If external Prometheus is used,
|
||||||
|
you need to turn on ``rabbitmq_enable_prometheus_plugin``
|
||||||
|
to get old behaviour.
|
Loading…
Reference in New Issue