ironic: Add support for using uWSGI
Change-Id: I2b72712479a05a73b82d8e30235333db2c92ebfd Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
This commit is contained in:
@@ -8,6 +8,7 @@ ironic_services:
|
||||
volumes: "{{ ironic_api_default_volumes + ironic_api_extra_volumes }}"
|
||||
dimensions: "{{ ironic_api_dimensions }}"
|
||||
healthcheck: "{{ ironic_api_healthcheck }}"
|
||||
wsgi: "ironic.wsgi:application"
|
||||
haproxy:
|
||||
ironic_api:
|
||||
enabled: "{{ enable_ironic }}"
|
||||
@@ -411,3 +412,8 @@ ironic_database_enable_tls_internal: "{{ database_enable_tls_internal | bool }}"
|
||||
# Copy certificates
|
||||
###################
|
||||
ironic_copy_certs: "{{ kolla_copy_ca_into_containers | bool or ironic_enable_tls_backend | bool or ironic_database_enable_tls_internal | bool }}"
|
||||
|
||||
############
|
||||
# WSGI
|
||||
############
|
||||
ironic_wsgi_provider: "uwsgi"
|
||||
|
@@ -262,4 +262,24 @@
|
||||
dest: "{{ node_config_directory }}/ironic-api/ironic-api-wsgi.conf"
|
||||
mode: "0660"
|
||||
become: true
|
||||
when: service | service_enabled_and_mapped_to_host
|
||||
when:
|
||||
- service | service_enabled_and_mapped_to_host
|
||||
- ironic_wsgi_provider == "apache"
|
||||
|
||||
- name: "Configure uWSGI for ironic-api"
|
||||
include_role:
|
||||
name: service-uwsgi-config
|
||||
vars:
|
||||
project_services: "{{ ironic_services }}"
|
||||
service: "{{ ironic_services['ironic-api'] }}"
|
||||
service_name: "ironic-api"
|
||||
service_uwsgi_config_http_port: "{{ ironic_api_listen_port }}"
|
||||
service_uwsgi_config_log_file_chmod: "644"
|
||||
service_uwsgi_config_module: "{{ service.wsgi }}"
|
||||
service_uwsgi_config_tls_backend: "{{ ironic_enable_tls_backend | bool }}"
|
||||
service_uwsgi_config_tls_cert: "/etc/ironic/certs/ironic-cert.pem"
|
||||
service_uwsgi_config_tls_key: "/etc/ironic/certs/ironic-key.pem"
|
||||
service_uwsgi_config_uid: "ironic"
|
||||
when:
|
||||
- service | service_enabled_and_mapped_to_host
|
||||
- ironic_wsgi_provider == "uwsgi"
|
||||
|
@@ -1,20 +1,27 @@
|
||||
{% set apache_binary = 'apache2' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd' %}
|
||||
{% set apache_conf_dir = 'apache2/conf-enabled' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd/conf.d' %}
|
||||
{% set command = ('/usr/sbin/' + apache_binary + ' -DFOREGROUND') if ironic_wsgi_provider == 'apache' else 'uwsgi /etc/ironic/ironic-api-uwsgi.ini' %}
|
||||
{
|
||||
"command": "/usr/sbin/{{ apache_binary }} -DFOREGROUND",
|
||||
"command": "{{ command }}",
|
||||
"config_files": [
|
||||
{
|
||||
"source": "{{ container_config_directory }}/ironic.conf",
|
||||
"dest": "/etc/ironic/ironic.conf",
|
||||
"owner": "ironic",
|
||||
"perm": "0600"
|
||||
},
|
||||
}{% if ironic_wsgi_provider == "apache" %},
|
||||
{
|
||||
"source": "{{ container_config_directory }}/ironic-api-wsgi.conf",
|
||||
"dest": "/etc/{{ apache_conf_dir }}/ironic-api-wsgi.conf",
|
||||
"owner": "ironic",
|
||||
"perm": "0600"
|
||||
}{% if ironic_policy_file is defined %},
|
||||
}{% elif ironic_wsgi_provider == "uwsgi" %},
|
||||
{
|
||||
"source": "{{ container_config_directory }}/ironic-api-uwsgi.ini",
|
||||
"dest": "/etc/ironic/ironic-api-uwsgi.ini",
|
||||
"owner": "ironic",
|
||||
"perm": "0600"
|
||||
}{% endif %}{% if ironic_policy_file is defined %},
|
||||
{
|
||||
"source": "{{ container_config_directory }}/{{ ironic_policy_file }}",
|
||||
"dest": "/etc/ironic/{{ ironic_policy_file }}",
|
||||
|
@@ -4,7 +4,7 @@ auth_strategy = noauth
|
||||
{% endif %}
|
||||
debug = {{ ironic_logging_debug }}
|
||||
|
||||
log_dir = /var/log/kolla/ironic
|
||||
log_file = /var/log/kolla/ironic/{{ service_name }}
|
||||
|
||||
transport_url = {{ rpc_transport_url }}
|
||||
|
||||
|
@@ -11,5 +11,7 @@ features:
|
||||
- Variable
|
||||
* - Heat
|
||||
- heat_wsgi_provider
|
||||
* - Ironic
|
||||
- ironic_wsgi_provider
|
||||
* - Octavia
|
||||
- octavia_wsgi_provider
|
||||
|
Reference in New Issue
Block a user