Skip to content

Commit b458994

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "ironic: Add uWSGI support for prometheus-exporter"
2 parents 04f1276 + 8caabf5 commit b458994

File tree

3 files changed

+23
-10
lines changed

3 files changed

+23
-10
lines changed

ansible/roles/ironic/defaults/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ ironic_logging_debug: "{{ openstack_logging_debug }}"
262262
openstack_ironic_auth: "{{ openstack_auth }}"
263263

264264
ironic_api_workers: "{{ openstack_service_workers }}"
265+
ironic_prometheus_exporter_workers: "{{ openstack_service_workers }}"
265266

266267
#########
267268
# Ironic

ansible/roles/ironic/tasks/config.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,9 @@
165165
- "{{ node_config_directory }}/ironic/{{ inventory_hostname }}/ironic-prometheus-exporter-wsgi.conf"
166166
- "{{ node_config_directory }}/ironic/ironic-prometheus-exporter-wsgi.conf"
167167
- "ironic-prometheus-exporter-wsgi.conf.j2"
168-
when: service | service_enabled_and_mapped_to_host
168+
when:
169+
- service | service_enabled_and_mapped_to_host
170+
- ironic_wsgi_provider == "apache"
169171

170172
- name: Copying over existing Ironic policy file
171173
vars:
@@ -199,16 +201,19 @@
199201
name: service-uwsgi-config
200202
vars:
201203
project_services: "{{ ironic_services }}"
202-
service: "{{ ironic_services['ironic-api'] }}"
203-
service_name: "ironic-api"
204-
service_uwsgi_config_http_port: "{{ ironic_api_listen_port }}"
204+
service: "{{ ironic_services[item.name] }}"
205+
service_name: "{{ item.name }}"
206+
service_uwsgi_config_http_port: "{{ item.port }}"
205207
service_uwsgi_config_log_file_chmod: "644"
206208
service_uwsgi_config_module: "{{ service.wsgi }}"
207209
service_uwsgi_config_tls_backend: "{{ ironic_enable_tls_backend | bool }}"
208210
service_uwsgi_config_tls_cert: "/etc/ironic/certs/ironic-cert.pem"
209211
service_uwsgi_config_tls_key: "/etc/ironic/certs/ironic-key.pem"
210212
service_uwsgi_config_uid: "ironic"
211-
service_uwsgi_config_workers: "{{ ironic_api_workers }}"
213+
service_uwsgi_config_workers: "{{ item.workers }}"
212214
when:
213215
- service | service_enabled_and_mapped_to_host
214216
- ironic_wsgi_provider == "uwsgi"
217+
loop:
218+
- { name: "ironic-api", port: "{{ ironic_api_listen_port }}", workers: "{{ ironic_api_workers }}" }
219+
- { name: "ironic-prometheus-exporter", port: "{{ ironic_prometheus_exporter_port }}", workers: "{{ ironic_prometheus_exporter_workers }}" }

ansible/roles/ironic/templates/ironic-prometheus-exporter.json.j2

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,27 @@
11
{% set ironic_prometheus_exporter_cmd = 'apache2' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd' %}
22
{% set ironic_prometheus_exporter_dir = 'apache2/conf-enabled' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd/conf.d' %}
3+
{% set command = ('/usr/sbin/' + apache_binary + ' -DFOREGROUND') if ironic_wsgi_provider == 'apache' else 'uwsgi /etc/ironic/ironic-prometheus-exporter-uwsgi.ini' %}
34
{
4-
"command": "/usr/sbin/{{ ironic_prometheus_exporter_cmd }} -DFOREGROUND",
5+
"command": "{{ command }}",
56
"config_files": [
7+
{
8+
"source": "{{ container_config_directory }}/ironic.conf",
9+
"dest": "/etc/ironic/ironic.conf",
10+
"owner": "ironic",
11+
"perm": "0600"
12+
}{% if ironic_wsgi_provider == 'apache' %},
613
{
714
"source": "{{ container_config_directory }}/ironic-prometheus-exporter-wsgi.conf",
815
"dest": "/etc/{{ ironic_prometheus_exporter_dir }}/ironic-prometheus-exporter-wsgi.conf",
916
"owner": "ironic",
1017
"perm": "0600"
11-
},
18+
}{% elif ironic_wsgi_provider == 'uwsgi' %},
1219
{
13-
"source": "{{ container_config_directory }}/ironic.conf",
14-
"dest": "/etc/ironic/ironic.conf",
20+
"source": "{{ container_config_directory }}/ironic-prometheus-exporter-uwsgi.ini",
21+
"dest": "/etc/ironic/ironic-prometheus-exporter-uwsgi.ini",
1522
"owner": "ironic",
1623
"perm": "0600"
17-
}{% if kolla_copy_ca_into_containers | bool %},
24+
}{% endif %}{% if kolla_copy_ca_into_containers | bool %},
1825
{
1926
"source": "{{ container_config_directory }}/ca-certificates",
2027
"dest": "/var/lib/kolla/share/ca-certificates",

0 commit comments

Comments
 (0)