Re-enable uWSGI as default for Neutron
Neutron team has reportedly addressed issues with uWSGI for the service including OVN within [1]. Solution requires deployment of 2 new services while one should be running whenever WSGI is used, where second is needed specifically for OVN scenario. neutron-ovn-maintenance-worker is conditionally enabled to avoid systemd service deployment for non-OVN scenarios, as we do not support switching neutron_plugin_type back and force at the moment. [1] https://bugs.launchpad.net/neutron/+bug/1912359 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/935664 Change-Id: I9340d1dc94a6aa1a962bdc10b97439aa1fdc8658
This commit is contained in:
parent
96fb295bbc
commit
48a935d7c8
@ -183,18 +183,19 @@ _neutron_rootwrap_conf_overrides:
|
|||||||
neutron_rootwrap_conf_overrides: {}
|
neutron_rootwrap_conf_overrides: {}
|
||||||
|
|
||||||
neutron_api_uwsgi_ini_overrides: {}
|
neutron_api_uwsgi_ini_overrides: {}
|
||||||
neutron_server_init_overrides: {}
|
neutron_periodic_workers_init_overrides: {}
|
||||||
neutron_rpc_server_init_overrides: {}
|
neutron_rpc_server_init_overrides: {}
|
||||||
|
neutron_server_init_overrides: {}
|
||||||
neutron_sriov_nic_agent_ini_overrides: {}
|
neutron_sriov_nic_agent_ini_overrides: {}
|
||||||
neutron_sriov_nic_agent_init_overrides: {}
|
neutron_sriov_nic_agent_init_overrides: {}
|
||||||
|
neutron_ovn_maintenance_init_overrides: {}
|
||||||
neutron_ovn_metadata_agent_ini_overrides: {}
|
neutron_ovn_metadata_agent_ini_overrides: {}
|
||||||
neutron_ovn_metadata_agent_init_overrides: {}
|
neutron_ovn_metadata_agent_init_overrides: {}
|
||||||
|
|
||||||
###
|
###
|
||||||
### UWSGI
|
### UWSGI
|
||||||
###
|
###
|
||||||
# NOTE(noonedeadpunk): uWSGI is still not fully supported. See: https://bugs.launchpad.net/neutron/+bug/1912359
|
neutron_use_uwsgi: True
|
||||||
neutron_use_uwsgi: False
|
|
||||||
neutron_wsgi_processes_max: 16
|
neutron_wsgi_processes_max: 16
|
||||||
neutron_wsgi_processes: "{{ [[ansible_facts['processor_vcpus'] | default(1), 1] | max * 2, neutron_wsgi_processes_max] | min }}"
|
neutron_wsgi_processes: "{{ [[ansible_facts['processor_vcpus'] | default(1), 1] | max * 2, neutron_wsgi_processes_max] | min }}"
|
||||||
neutron_wsgi_threads: 1
|
neutron_wsgi_threads: 1
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
uWSGI has been re-enabled by default for Neutron one more time. With that
|
||||||
|
new services are introduced which should ensure adequate functionality of
|
||||||
|
Neutron when uWSGI is being used.
|
||||||
|
|
||||||
|
- ``neutron-periodic-workers`` service is enabled for all drivers when
|
||||||
|
WSGI is being used. It runs along with previously existing
|
||||||
|
``neutron-rpc-server``
|
||||||
|
|
||||||
|
- ``neutron-ovn-maintenance-worker`` service is added only if `ml2.ovn`
|
||||||
|
is being used as ``neutron_plugin_type``. The service will be enabled
|
||||||
|
and running only when WSGI is used for Neutron ``neutron_use_uwsgi`` is
|
||||||
|
set to `True`
|
||||||
|
|
||||||
|
- |
|
||||||
|
If you are using Ubuntu 22.04 Jammy Jellyfish and ``install_method: distro``
|
||||||
|
please make sure to disable ``neutron_use_uwsgi`` as required binaries for
|
||||||
|
this mode to work are missing from packages for this distro.
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Issues with uWSGI mode for Neutron has been addressed and uWSGI be used
|
||||||
|
for the service.
|
@ -513,6 +513,31 @@ neutron_services:
|
|||||||
{% if ('ml2.genericswitch' in neutron_plugin_types) -%}
|
{% if ('ml2.genericswitch' in neutron_plugin_types) -%}
|
||||||
--config-file {{ neutron_conf_dir }}/{{ neutron_plugins['ml2.genericswitch'].plugin_ini }}
|
--config-file {{ neutron_conf_dir }}/{{ neutron_plugins['ml2.genericswitch'].plugin_ini }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
neutron-periodic-workers:
|
||||||
|
group: neutron_server
|
||||||
|
service_name: neutron-periodic-workers
|
||||||
|
service_en: True
|
||||||
|
enabled: "{{ neutron_use_uwsgi }}"
|
||||||
|
state: "{{ neutron_use_uwsgi | ternary('started', 'stopped') }}"
|
||||||
|
init_config_overrides: "{{ neutron_periodic_workers_init_overrides | combine(neutron_server_init_overrides) }}"
|
||||||
|
start_order: 2
|
||||||
|
execstarts: >-
|
||||||
|
{{ neutron_bin }}/neutron-periodic-workers --config-file {{ neutron_conf_dir }}/neutron.conf
|
||||||
|
--config-file {{ neutron_conf_dir }}/{{ neutron_plugins[neutron_plugin_type].plugin_ini }}
|
||||||
|
{% if ('ml2.genericswitch' in neutron_plugin_types) -%}
|
||||||
|
--config-file {{ neutron_conf_dir }}/{{ neutron_plugins['ml2.genericswitch'].plugin_ini }}
|
||||||
|
{% endif %}
|
||||||
|
neutron-ovn-maintenance-worker:
|
||||||
|
group: neutron_server
|
||||||
|
service_name: neutron-ovn-maintenance-worker
|
||||||
|
service_en: "{{ neutron_plugin_type == 'ml2.ovn' }}"
|
||||||
|
enabled: "{{ neutron_use_uwsgi and neutron_plugin_type == 'ml2.ovn' }}"
|
||||||
|
state: "{{ (neutron_use_uwsgi and neutron_plugin_type == 'ml2.ovn') | ternary('started', 'stopped') }}"
|
||||||
|
init_config_overrides: "{{ neutron_ovn_maintenance_init_overrides | combine(neutron_server_init_overrides) }}"
|
||||||
|
start_order: 2
|
||||||
|
execstarts: >-
|
||||||
|
{{ neutron_bin }}/neutron-ovn-maintenance-worker --config-file {{ neutron_conf_dir }}/neutron.conf
|
||||||
|
--config-file {{ neutron_conf_dir }}/{{ neutron_plugins[neutron_plugin_type].plugin_ini }}
|
||||||
neutron-sriov-nic-agent:
|
neutron-sriov-nic-agent:
|
||||||
group: neutron_sriov_nic_agent
|
group: neutron_sriov_nic_agent
|
||||||
service_name: neutron-sriov-nic-agent
|
service_name: neutron-sriov-nic-agent
|
||||||
|
Loading…
x
Reference in New Issue
Block a user