From 3e8db91a1e789f0c1d9952d1ba3b4006c31a8c9d Mon Sep 17 00:00:00 2001 From: Michal Arbet Date: Fri, 8 Oct 2021 15:43:02 +0200 Subject: [PATCH] Add api_workers for each service to defaults Render {{ openstack_service_workers }} for workers of each openstack service is not enough. There are several services which has to have more workers because there are more requests sent to them. This patch is just adding default value for workers for each service and sets {{ openstack_service_workers }} as default, so value can be overrided in hostvars per server. Nothing changed for normal user. Change-Id: Ifa5863f8ec865bbf8e39c9b2add42c92abe40616 --- ansible/roles/aodh/defaults/main.yml | 1 + ansible/roles/aodh/templates/wsgi-aodh.conf.j2 | 2 +- ansible/roles/barbican/defaults/main.yml | 1 + ansible/roles/barbican/templates/barbican-api.ini.j2 | 2 +- ansible/roles/cinder/defaults/main.yml | 1 + ansible/roles/cinder/templates/cinder-wsgi.conf.j2 | 2 +- ansible/roles/cloudkitty/defaults/main.yml | 2 ++ .../roles/cloudkitty/templates/cloudkitty.conf.j2 | 2 +- .../cloudkitty/templates/wsgi-cloudkitty.conf.j2 | 2 +- ansible/roles/designate/defaults/main.yml | 6 ++++++ ansible/roles/designate/templates/designate.conf.j2 | 12 ++++++------ ansible/roles/freezer/defaults/main.yml | 1 + .../roles/freezer/templates/wsgi-freezer-api.conf.j2 | 2 +- ansible/roles/glance/defaults/main.yml | 2 ++ ansible/roles/glance/templates/glance-api.conf.j2 | 2 +- ansible/roles/gnocchi/defaults/main.yml | 2 ++ ansible/roles/gnocchi/templates/wsgi-gnocchi.conf.j2 | 2 +- ansible/roles/heat/defaults/main.yml | 3 +++ ansible/roles/heat/templates/heat.conf.j2 | 2 +- .../roles/heat/templates/wsgi-heat-api-cfn.conf.j2 | 2 +- ansible/roles/heat/templates/wsgi-heat-api.conf.j2 | 2 +- ansible/roles/ironic/defaults/main.yml | 1 + .../roles/ironic/templates/ironic-api-wsgi.conf.j2 | 2 +- ansible/roles/keystone/defaults/main.yml | 1 + .../roles/keystone/templates/wsgi-keystone.conf.j2 | 4 ++-- ansible/roles/magnum/defaults/main.yml | 2 ++ ansible/roles/magnum/templates/magnum.conf.j2 | 7 ++++++- ansible/roles/manila/defaults/main.yml | 1 + ansible/roles/manila/templates/manila.conf.j2 | 2 +- ansible/roles/masakari/defaults/main.yml | 1 + .../roles/masakari/templates/wsgi-masakari.conf.j2 | 2 +- ansible/roles/mistral/defaults/main.yml | 2 ++ ansible/roles/mistral/templates/mistral.conf.j2 | 2 +- ansible/roles/monasca/defaults/main.yml | 2 ++ .../monasca/templates/monasca-api/wsgi-api.conf.j2 | 2 +- ansible/roles/murano/defaults/main.yml | 3 +++ ansible/roles/murano/templates/murano.conf.j2 | 4 ++-- ansible/roles/neutron/defaults/main.yml | 3 +++ ansible/roles/neutron/templates/neutron.conf.j2 | 4 ++-- ansible/roles/nova-cell/defaults/main.yml | 2 ++ ansible/roles/nova-cell/templates/nova.conf.j2 | 2 +- ansible/roles/nova/defaults/main.yml | 5 +++++ ansible/roles/nova/templates/nova-api-wsgi.conf.j2 | 4 ++-- ansible/roles/nova/templates/nova.conf.j2 | 4 ++-- ansible/roles/octavia/defaults/main.yml | 4 ++++ ansible/roles/octavia/templates/octavia-wsgi.conf.j2 | 2 +- ansible/roles/octavia/templates/octavia.conf.j2 | 4 ++-- ansible/roles/placement/defaults/main.yml | 1 + .../placement/templates/placement-api-wsgi.conf.j2 | 2 +- ansible/roles/sahara/defaults/main.yml | 1 + ansible/roles/sahara/templates/sahara.conf.j2 | 2 +- ansible/roles/senlin/defaults/main.yml | 4 ++++ ansible/roles/senlin/templates/senlin.conf.j2 | 8 ++++---- ansible/roles/solum/defaults/main.yml | 1 + ansible/roles/solum/templates/solum.conf.j2 | 2 +- ansible/roles/swift/defaults/main.yml | 5 +++++ ansible/roles/swift/templates/account.conf.j2 | 2 +- ansible/roles/swift/templates/container.conf.j2 | 2 +- ansible/roles/swift/templates/object.conf.j2 | 2 +- ansible/roles/swift/templates/proxy-server.conf.j2 | 2 +- ansible/roles/tacker/defaults/main.yml | 2 ++ ansible/roles/tacker/templates/tacker.conf.j2 | 2 +- ansible/roles/trove/defaults/main.yml | 1 + ansible/roles/trove/templates/trove.conf.j2 | 2 +- ansible/roles/vitrage/defaults/main.yml | 2 ++ ansible/roles/vitrage/templates/wsgi-vitrage.conf.j2 | 2 +- ansible/roles/watcher/defaults/main.yml | 1 + ansible/roles/watcher/templates/watcher.conf.j2 | 2 +- ansible/roles/zun/defaults/main.yml | 1 + ansible/roles/zun/templates/wsgi-zun.conf.j2 | 2 +- 70 files changed, 123 insertions(+), 53 deletions(-) diff --git a/ansible/roles/aodh/defaults/main.yml b/ansible/roles/aodh/defaults/main.yml index aa35e37d9f..d0c8190901 100644 --- a/ansible/roles/aodh/defaults/main.yml +++ b/ansible/roles/aodh/defaults/main.yml @@ -196,6 +196,7 @@ aodh_keystone_user: "aodh" openstack_aodh_auth: "{{ openstack_auth }}" +aodh_api_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/aodh/templates/wsgi-aodh.conf.j2 b/ansible/roles/aodh/templates/wsgi-aodh.conf.j2 index 49aece190f..a1f61a0d0b 100644 --- a/ansible/roles/aodh/templates/wsgi-aodh.conf.j2 +++ b/ansible/roles/aodh/templates/wsgi-aodh.conf.j2 @@ -32,7 +32,7 @@ LogLevel info LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" logformat CustomLog "{{ aodh_log_dir }}/aodh_wsgi_access.log" logformat WSGIApplicationGroup %{GLOBAL} - WSGIDaemonProcess aodh group=aodh processes={{ openstack_service_workers }} threads=1 user=aodh + WSGIDaemonProcess aodh group=aodh processes={{ aodh_api_workers }} threads=1 user=aodh WSGIProcessGroup aodh WSGIScriptAlias / "{{ binary_path }}/aodh-api" diff --git a/ansible/roles/barbican/defaults/main.yml b/ansible/roles/barbican/defaults/main.yml index 13876f8e04..22671658f4 100644 --- a/ansible/roles/barbican/defaults/main.yml +++ b/ansible/roles/barbican/defaults/main.yml @@ -147,6 +147,7 @@ barbican_audit_role: "audit" openstack_barbican_auth: "{{ openstack_auth }}" +barbican_api_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/barbican/templates/barbican-api.ini.j2 b/ansible/roles/barbican/templates/barbican-api.ini.j2 index d0dfbbd37e..e3a88e2790 100644 --- a/ansible/roles/barbican/templates/barbican-api.ini.j2 +++ b/ansible/roles/barbican/templates/barbican-api.ini.j2 @@ -4,7 +4,7 @@ https-socket = {{ api_interface_address | put_address_in_context('url') }}:{{ ba {% else %} http-socket = {{ api_interface_address | put_address_in_context('url') }}:{{ barbican_api_listen_port }} {% endif %} -processes = {{ openstack_service_workers }} +processes = {{ barbican_api_workers }} lazy = true vacuum = true no-default-app = true diff --git a/ansible/roles/cinder/defaults/main.yml b/ansible/roles/cinder/defaults/main.yml index fa29ffb46c..c992d0b68c 100644 --- a/ansible/roles/cinder/defaults/main.yml +++ b/ansible/roles/cinder/defaults/main.yml @@ -207,6 +207,7 @@ openstack_cinder_auth: "{{ openstack_auth }}" # allow room for slowness. cinder_rpc_version_startup_delay: 30 +cinder_api_workers: "{{ openstack_service_workers }}" #################### # Cinder diff --git a/ansible/roles/cinder/templates/cinder-wsgi.conf.j2 b/ansible/roles/cinder/templates/cinder-wsgi.conf.j2 index 5ca975c208..deb4447e73 100644 --- a/ansible/roles/cinder/templates/cinder-wsgi.conf.j2 +++ b/ansible/roles/cinder/templates/cinder-wsgi.conf.j2 @@ -18,7 +18,7 @@ LogLevel info {% endif %} - WSGIDaemonProcess cinder-api processes={{ openstack_service_workers }} threads=1 user=cinder group=cinder display-name=cinder-api + WSGIDaemonProcess cinder-api processes={{ cinder_api_workers }} threads=1 user=cinder group=cinder display-name=cinder-api WSGIProcessGroup cinder-api WSGIScriptAlias / /var/www/cgi-bin/cinder/cinder-wsgi WSGIApplicationGroup %{GLOBAL} diff --git a/ansible/roles/cloudkitty/defaults/main.yml b/ansible/roles/cloudkitty/defaults/main.yml index e828edf9d8..631b3ce64f 100644 --- a/ansible/roles/cloudkitty/defaults/main.yml +++ b/ansible/roles/cloudkitty/defaults/main.yml @@ -108,6 +108,8 @@ cloudkitty_keystone_user: "cloudkitty" openstack_cloudkitty_auth: "{{ openstack_auth }}" +cloudkitty_api_workers: "{{ openstack_service_workers }}" +cloudkitty_processor_workers: "{{ openstack_service_workers }}" #################### # Cloudkitty diff --git a/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 b/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 index cb04b3b814..59c625c46f 100644 --- a/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 +++ b/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 @@ -90,7 +90,7 @@ port = {{ cloudkitty_api_port }} [orchestrator] coordination_url = mysql://{{ cloudkitty_database_user }}:{{ cloudkitty_database_password }}@{{ cloudkitty_database_address }}/{{ cloudkitty_database_name }} -max_workers = {{ openstack_service_workers }} +max_workers = {{ cloudkitty_processor_workers }} [storage] backend = {{ cloudkitty_storage_backend }} diff --git a/ansible/roles/cloudkitty/templates/wsgi-cloudkitty.conf.j2 b/ansible/roles/cloudkitty/templates/wsgi-cloudkitty.conf.j2 index 2ebbf8ca61..38a3150050 100644 --- a/ansible/roles/cloudkitty/templates/wsgi-cloudkitty.conf.j2 +++ b/ansible/roles/cloudkitty/templates/wsgi-cloudkitty.conf.j2 @@ -23,7 +23,7 @@ LogLevel info LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" logformat CustomLog "{{ cloudkitty_log_dir }}/cloudkitty-api-access.log" logformat WSGIApplicationGroup %{GLOBAL} - WSGIDaemonProcess cloudkitty group=cloudkitty processes={{ openstack_service_workers }} threads=1 user=cloudkitty + WSGIDaemonProcess cloudkitty group=cloudkitty processes={{ cloudkitty_api_workers }} threads=1 user=cloudkitty WSGIProcessGroup cloudkitty WSGIScriptAlias / "{{ binary_path }}/cloudkitty-api" diff --git a/ansible/roles/designate/defaults/main.yml b/ansible/roles/designate/defaults/main.yml index da9b647c22..a0d651242b 100644 --- a/ansible/roles/designate/defaults/main.yml +++ b/ansible/roles/designate/defaults/main.yml @@ -270,6 +270,12 @@ designate_logging_debug: "{{ openstack_logging_debug }}" openstack_designate_auth: "{{ openstack_auth }}" +designate_api_workers: "{{ openstack_service_workers }}" +designate_worker_workers: "{{ openstack_service_workers }}" +designate_producer_workers: "{{ openstack_service_workers }}" +designate_central_workers: "{{ openstack_service_workers }}" +designate_sink_workers: "{{ openstack_service_workers }}" +designate_mdns_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/designate/templates/designate.conf.j2 b/ansible/roles/designate/templates/designate.conf.j2 index 50e4dc31ca..368a5280cc 100644 --- a/ansible/roles/designate/templates/designate.conf.j2 +++ b/ansible/roles/designate/templates/designate.conf.j2 @@ -8,12 +8,12 @@ transport_url = {{ rpc_transport_url }} [service:central] default_pool_id = {{ designate_pool_id }} -workers = {{ openstack_service_workers }} +workers = {{ designate_central_workers }} [service:api] listen = {{ api_interface_address | put_address_in_context('url') }}:{{ designate_api_listen_port }} api_base_uri = {{ designate_internal_endpoint }} -workers = {{ openstack_service_workers }} +workers = {{ designate_api_workers }} enable_api_admin = True enable_host_header = True enabled_extensions_admin = quotas, reports @@ -40,14 +40,14 @@ memcached_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_addres {% if service_name == 'designate-mdns' %} [service:mdns] listen = {{ 'dns' | kolla_address | put_address_in_context('url') }}:{{ designate_mdns_port }} -workers = {{ openstack_service_workers }} +workers = {{ designate_mdns_workers }} {% endif %} [service:worker] -workers = {{ openstack_service_workers }} +workers = {{ designate_worker_workers }} [service:producer] -workers = {{ openstack_service_workers }} +workers = {{ designate_producer_workers }} threads = 1000 enabled_tasks = None @@ -62,7 +62,7 @@ idle_timeout = 3600 {% if service_name == 'designate-sink' and designate_enable_notifications_sink | bool %} [service:sink] enabled_notification_handlers = nova_fixed, neutron_floatingip -workers = {{ openstack_service_workers }} +workers = {{ designate_sink_workers }} [handler:nova_fixed] #NOTE: zone_id must be manually filled an ID from openstack zone list diff --git a/ansible/roles/freezer/defaults/main.yml b/ansible/roles/freezer/defaults/main.yml index 51d9ea6460..24c5bdd90d 100644 --- a/ansible/roles/freezer/defaults/main.yml +++ b/ansible/roles/freezer/defaults/main.yml @@ -85,6 +85,7 @@ freezer_keystone_user: "freezer" openstack_freezer_auth: "{{ openstack_auth }}" +freezer_api_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/freezer/templates/wsgi-freezer-api.conf.j2 b/ansible/roles/freezer/templates/wsgi-freezer-api.conf.j2 index a4662d7d7e..4cb1db2fa4 100644 --- a/ansible/roles/freezer/templates/wsgi-freezer-api.conf.j2 +++ b/ansible/roles/freezer/templates/wsgi-freezer-api.conf.j2 @@ -18,7 +18,7 @@ LogLevel info {% endif %} - WSGIDaemonProcess freezer-api processes={{ openstack_service_workers }} threads=1 user=freezer display-name=freezer-api + WSGIDaemonProcess freezer-api processes={{ freezer_api_workers }} threads=1 user=freezer display-name=freezer-api WSGIProcessGroup freezer-api WSGIApplicationGroup %{GLOBAL} WSGIScriptAlias / {{ python_path }}/freezer_api/cmd/wsgi.py diff --git a/ansible/roles/glance/defaults/main.yml b/ansible/roles/glance/defaults/main.yml index 694b98ed2b..7b6b5ccfd2 100644 --- a/ansible/roles/glance/defaults/main.yml +++ b/ansible/roles/glance/defaults/main.yml @@ -209,6 +209,8 @@ glance_logging_debug: "{{ openstack_logging_debug }}" openstack_glance_auth: "{{ openstack_auth }}" +glance_api_workers: "{{ openstack_service_workers }}" + ################### # Kolla ################### diff --git a/ansible/roles/glance/templates/glance-api.conf.j2 b/ansible/roles/glance/templates/glance-api.conf.j2 index f49b5a8b55..2fcbaf963b 100644 --- a/ansible/roles/glance/templates/glance-api.conf.j2 +++ b/ansible/roles/glance/templates/glance-api.conf.j2 @@ -11,7 +11,7 @@ bind_host = 127.0.0.1 bind_host = {{ api_interface_address }} {% endif %} bind_port = {{ glance_api_listen_port }} -workers = {{ openstack_service_workers }} +workers = {{ glance_api_workers }} {% if glance_store_backends %} enabled_backends = {% for key in glance_store_backends %}{{ key.name }}:{{ key.type }}{% if not loop.last %}, {% endif %}{% endfor %} diff --git a/ansible/roles/gnocchi/defaults/main.yml b/ansible/roles/gnocchi/defaults/main.yml index 64d2fdc5f3..41576b6f74 100644 --- a/ansible/roles/gnocchi/defaults/main.yml +++ b/ansible/roles/gnocchi/defaults/main.yml @@ -152,6 +152,8 @@ gnocchi_keystone_user: "gnocchi" openstack_gnocchi_auth: "{{ openstack_auth }}" +gnocchi_api_workers: "{{ openstack_service_workers }}" + #################### # Keystone #################### diff --git a/ansible/roles/gnocchi/templates/wsgi-gnocchi.conf.j2 b/ansible/roles/gnocchi/templates/wsgi-gnocchi.conf.j2 index 9c1021f47f..f3309bfef0 100644 --- a/ansible/roles/gnocchi/templates/wsgi-gnocchi.conf.j2 +++ b/ansible/roles/gnocchi/templates/wsgi-gnocchi.conf.j2 @@ -23,7 +23,7 @@ LogLevel info LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" logformat CustomLog "{{ gnocchi_log_dir }}/gnocchi-api-access.log" logformat WSGIApplicationGroup %{GLOBAL} - WSGIDaemonProcess gnocchi group=gnocchi processes={{ openstack_service_workers }} threads=1 user=gnocchi + WSGIDaemonProcess gnocchi group=gnocchi processes={{ gnocchi_api_workers }} threads=1 user=gnocchi WSGIProcessGroup gnocchi WSGIScriptAlias / "{{ wsgi_path }}/gnocchi-api" diff --git a/ansible/roles/heat/defaults/main.yml b/ansible/roles/heat/defaults/main.yml index 3379137859..e0f685517e 100644 --- a/ansible/roles/heat/defaults/main.yml +++ b/ansible/roles/heat/defaults/main.yml @@ -166,6 +166,9 @@ heat_stack_owner_role: "heat_stack_owner" openstack_heat_auth: "{{ openstack_auth }}" +heat_api_cfn_workers: "{{ openstack_service_workers }}" +heat_api_workers: "{{ openstack_service_workers }}" +heat_engine_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/heat/templates/heat.conf.j2 b/ansible/roles/heat/templates/heat.conf.j2 index 88e0076c08..54c9c6e689 100644 --- a/ansible/roles/heat/templates/heat.conf.j2 +++ b/ansible/roles/heat/templates/heat.conf.j2 @@ -13,7 +13,7 @@ stack_domain_admin_password = {{ heat_domain_admin_password }} stack_user_domain_name = heat_user_domain {% if service_name == 'heat-engine' %} -num_engine_workers = {{ openstack_service_workers }} +num_engine_workers = {{ heat_engine_workers }} {% endif %} transport_url = {{ rpc_transport_url }} diff --git a/ansible/roles/heat/templates/wsgi-heat-api-cfn.conf.j2 b/ansible/roles/heat/templates/wsgi-heat-api-cfn.conf.j2 index 742d986347..8459acf809 100644 --- a/ansible/roles/heat/templates/wsgi-heat-api-cfn.conf.j2 +++ b/ansible/roles/heat/templates/wsgi-heat-api-cfn.conf.j2 @@ -29,7 +29,7 @@ CustomLog "{{ heat_log_dir }}/apache-cfn-access.log" common - WSGIDaemonProcess heat-api-cfn processes={{ openstack_service_workers }} threads=1 user=heat group=heat display-name=heat-api-cfn + WSGIDaemonProcess heat-api-cfn processes={{ heat_api_cfn_workers }} threads=1 user=heat group=heat display-name=heat-api-cfn WSGIProcessGroup heat-api-cfn WSGIScriptAlias / {{ binary_path }}/heat-wsgi-api-cfn WSGIApplicationGroup %{GLOBAL} diff --git a/ansible/roles/heat/templates/wsgi-heat-api.conf.j2 b/ansible/roles/heat/templates/wsgi-heat-api.conf.j2 index 4874314db0..8500ee895e 100644 --- a/ansible/roles/heat/templates/wsgi-heat-api.conf.j2 +++ b/ansible/roles/heat/templates/wsgi-heat-api.conf.j2 @@ -29,7 +29,7 @@ CustomLog "{{ heat_log_dir }}/apache-access.log" common - WSGIDaemonProcess heat-api processes={{ openstack_service_workers }} threads=1 user=heat group=heat display-name=heat-api + WSGIDaemonProcess heat-api processes={{ heat_api_workers }} threads=1 user=heat group=heat display-name=heat-api WSGIProcessGroup heat-api WSGIScriptAlias / {{ binary_path }}/heat-wsgi-api WSGIApplicationGroup %{GLOBAL} diff --git a/ansible/roles/ironic/defaults/main.yml b/ansible/roles/ironic/defaults/main.yml index c391ed358f..a8530d7d9f 100644 --- a/ansible/roles/ironic/defaults/main.yml +++ b/ansible/roles/ironic/defaults/main.yml @@ -246,6 +246,7 @@ openstack_ironic_auth: "{{ openstack_auth }}" openstack_ironic_inspector_auth: "{{ openstack_auth }}" +ironic_api_workers: "{{ openstack_service_workers }}" ######### # Ironic diff --git a/ansible/roles/ironic/templates/ironic-api-wsgi.conf.j2 b/ansible/roles/ironic/templates/ironic-api-wsgi.conf.j2 index 7b05325182..40b0546c8b 100644 --- a/ansible/roles/ironic/templates/ironic-api-wsgi.conf.j2 +++ b/ansible/roles/ironic/templates/ironic-api-wsgi.conf.j2 @@ -32,7 +32,7 @@ LogLevel info {% endif %} - WSGIDaemonProcess ironic-api processes={{ openstack_service_workers }} threads=1 user=ironic group=ironic display-name=ironic-api + WSGIDaemonProcess ironic-api processes={{ ironic_api_workers }} threads=1 user=ironic group=ironic display-name=ironic-api WSGIProcessGroup ironic-api WSGIScriptAlias / {{ wsgi_directory }}/ironic-api-wsgi WSGIApplicationGroup %{GLOBAL} diff --git a/ansible/roles/keystone/defaults/main.yml b/ansible/roles/keystone/defaults/main.yml index d07c9a594e..78f2b38b48 100644 --- a/ansible/roles/keystone/defaults/main.yml +++ b/ansible/roles/keystone/defaults/main.yml @@ -153,6 +153,7 @@ keystone_logging_debug: "{{ openstack_logging_debug }}" openstack_keystone_auth: "{{ openstack_auth }}" +keystone_api_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/keystone/templates/wsgi-keystone.conf.j2 b/ansible/roles/keystone/templates/wsgi-keystone.conf.j2 index d2a31abd7d..bdb096167c 100644 --- a/ansible/roles/keystone/templates/wsgi-keystone.conf.j2 +++ b/ansible/roles/keystone/templates/wsgi-keystone.conf.j2 @@ -39,7 +39,7 @@ LogLevel info - WSGIDaemonProcess keystone-public processes={{ openstack_service_workers }} threads=1 user=keystone group=keystone display-name=keystone-public + WSGIDaemonProcess keystone-public processes={{ keystone_api_workers }} threads=1 user=keystone group=keystone display-name=keystone-public WSGIProcessGroup keystone-public WSGIScriptAlias / {{ binary_path }}/keystone-wsgi-public WSGIApplicationGroup %{GLOBAL} @@ -112,7 +112,7 @@ LogLevel info # NOTE(yoctozepto): Admin port settings are kept only for upgrade compatibility. # TODO(yoctozepto): Remove after Zed. - WSGIDaemonProcess keystone-admin processes={{ openstack_service_workers }} threads=1 user=keystone group=keystone display-name=keystone-admin + WSGIDaemonProcess keystone-admin processes={{ keystone_api_workers }} threads=1 user=keystone group=keystone display-name=keystone-admin WSGIProcessGroup keystone-admin WSGIScriptAlias / {{ binary_path }}/keystone-wsgi-admin WSGIApplicationGroup %{GLOBAL} diff --git a/ansible/roles/magnum/defaults/main.yml b/ansible/roles/magnum/defaults/main.yml index 7e373e79bb..f97a410dfc 100644 --- a/ansible/roles/magnum/defaults/main.yml +++ b/ansible/roles/magnum/defaults/main.yml @@ -125,6 +125,8 @@ magnum_trustee_domain: "magnum" openstack_magnum_auth: "{{ openstack_auth }}" +magnum_api_workers: "{{ openstack_service_workers }}" +magnum_conductor_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/magnum/templates/magnum.conf.j2 b/ansible/roles/magnum/templates/magnum.conf.j2 index 86d1b17959..e0a2e0a9cd 100644 --- a/ansible/roles/magnum/templates/magnum.conf.j2 +++ b/ansible/roles/magnum/templates/magnum.conf.j2 @@ -11,7 +11,12 @@ transport_url = {{ rpc_transport_url }} [api] port = {{ magnum_api_port }} host = {{ api_interface_address }} -workers = {{ openstack_service_workers }} +workers = {{ magnum_api_workers }} +{% endif %} + +{% if service_name == 'magnum-conductor' %} +[conductor] +workers = {{ magnum_conductor_workers }} {% endif %} [database] diff --git a/ansible/roles/manila/defaults/main.yml b/ansible/roles/manila/defaults/main.yml index 19f815d6bb..da3a765297 100644 --- a/ansible/roles/manila/defaults/main.yml +++ b/ansible/roles/manila/defaults/main.yml @@ -188,6 +188,7 @@ manila_service_instance_password: "manila" openstack_manila_auth: "{{ openstack_auth }}" +manila_api_workers: "{{ openstack_service_workers }}" #################### # Manila diff --git a/ansible/roles/manila/templates/manila.conf.j2 b/ansible/roles/manila/templates/manila.conf.j2 index 22940e9110..0151d2b5e4 100644 --- a/ansible/roles/manila/templates/manila.conf.j2 +++ b/ansible/roles/manila/templates/manila.conf.j2 @@ -8,7 +8,7 @@ my_ip = {{ api_interface_address }} osapi_share_listen = {{ api_interface_address }} osapi_share_listen_port = {{ manila_api_port }} -osapi_share_workers = {{ openstack_service_workers }} +osapi_share_workers = {{ manila_api_workers }} rootwrap_config = /etc/manila/rootwrap.conf api_paste_config = /etc/manila/api-paste.ini diff --git a/ansible/roles/masakari/defaults/main.yml b/ansible/roles/masakari/defaults/main.yml index f3f40c376d..12b27b9c8b 100644 --- a/ansible/roles/masakari/defaults/main.yml +++ b/ansible/roles/masakari/defaults/main.yml @@ -119,6 +119,7 @@ masakari_keystone_user: "masakari" openstack_masakari_auth: "{{ openstack_auth }}" +masakari_api_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/masakari/templates/wsgi-masakari.conf.j2 b/ansible/roles/masakari/templates/wsgi-masakari.conf.j2 index bf015d66c6..1891dcde81 100644 --- a/ansible/roles/masakari/templates/wsgi-masakari.conf.j2 +++ b/ansible/roles/masakari/templates/wsgi-masakari.conf.j2 @@ -31,7 +31,7 @@ LogLevel info LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" logformat CustomLog "{{ masakari_log_dir }}/masakari_wsgi_access.log" logformat WSGIApplicationGroup %{GLOBAL} - WSGIDaemonProcess masakari group=masakari processes={{ openstack_service_workers }} threads=1 user=masakari + WSGIDaemonProcess masakari group=masakari processes={{ masakari_api_workers }} threads=1 user=masakari WSGIProcessGroup masakari WSGIScriptAlias / "{{ binary_path }}/masakari-wsgi" diff --git a/ansible/roles/mistral/defaults/main.yml b/ansible/roles/mistral/defaults/main.yml index 0538ddf637..225a645c3f 100644 --- a/ansible/roles/mistral/defaults/main.yml +++ b/ansible/roles/mistral/defaults/main.yml @@ -176,6 +176,8 @@ mistral_keystone_user: "mistral" openstack_mistral_auth: "{{ openstack_auth }}" +mistral_api_workers: "{{ openstack_service_workers }}" + #################### # Kolla #################### diff --git a/ansible/roles/mistral/templates/mistral.conf.j2 b/ansible/roles/mistral/templates/mistral.conf.j2 index 50df4d9c26..45d39e38e6 100644 --- a/ansible/roles/mistral/templates/mistral.conf.j2 +++ b/ansible/roles/mistral/templates/mistral.conf.j2 @@ -20,7 +20,7 @@ transport_url = {{ rpc_transport_url }} [api] host = {{ api_interface_address }} port = {{ mistral_api_port }} -api_workers = {{ openstack_service_workers }} +api_workers = {{ mistral_api_workers }} {% elif service_name == 'mistral-engine' %} [engine] host = {{ api_interface_address }} diff --git a/ansible/roles/monasca/defaults/main.yml b/ansible/roles/monasca/defaults/main.yml index 7902044f6b..cfea924bfb 100644 --- a/ansible/roles/monasca/defaults/main.yml +++ b/ansible/roles/monasca/defaults/main.yml @@ -316,6 +316,8 @@ monasca_api_public_endpoint: "{{ monasca_api_public_base_endpoint }}/v2.0" monasca_logging_debug: "{{ openstack_logging_debug }}" +monasca_api_workers: "{{ openstack_service_workers }}" + #################### # Keystone #################### diff --git a/ansible/roles/monasca/templates/monasca-api/wsgi-api.conf.j2 b/ansible/roles/monasca/templates/monasca-api/wsgi-api.conf.j2 index 848b39ab5b..3848610f45 100644 --- a/ansible/roles/monasca/templates/monasca-api/wsgi-api.conf.j2 +++ b/ansible/roles/monasca/templates/monasca-api/wsgi-api.conf.j2 @@ -22,7 +22,7 @@ LogLevel info LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" logformat CustomLog "{{ monasca_log_dir }}/monasca-api-access.log" logformat WSGIApplicationGroup %{GLOBAL} - WSGIDaemonProcess monasca-api group=monasca processes={{ openstack_service_workers }} threads=1 user=monasca + WSGIDaemonProcess monasca-api group=monasca processes={{ monasca_api_workers }} threads=1 user=monasca WSGIProcessGroup monasca-api WSGIScriptAlias / {{ wsgi_path }}/wsgi.py WSGIPassAuthorization On diff --git a/ansible/roles/murano/defaults/main.yml b/ansible/roles/murano/defaults/main.yml index aed194f0b4..014b674de9 100644 --- a/ansible/roles/murano/defaults/main.yml +++ b/ansible/roles/murano/defaults/main.yml @@ -80,6 +80,9 @@ openstack_murano_auth: "{{ openstack_auth }}" murano_agent_timeout: 3600 +murano_engine_workers: "{{ openstack_service_workers }}" +murano_api_workers: "{{ openstack_service_workers }}" + #################### # Kolla #################### diff --git a/ansible/roles/murano/templates/murano.conf.j2 b/ansible/roles/murano/templates/murano.conf.j2 index 1545690630..fa4797e776 100644 --- a/ansible/roles/murano/templates/murano.conf.j2 +++ b/ansible/roles/murano/templates/murano.conf.j2 @@ -11,7 +11,7 @@ bind_port = {{ murano_api_port }} transport_url = {{ rpc_transport_url }} [engine] -engine_workers = {{ openstack_service_workers }} +engine_workers = {{ murano_engine_workers }} agent_timeout = {{ murano_agent_timeout }} [database] @@ -50,7 +50,7 @@ cafile = {{ openstack_cacert }} [murano] url = {{ murano_internal_endpoint }} -api_workers = {{ openstack_service_workers }} +api_workers = {{ murano_api_workers }} [oslo_messaging_notifications] transport_url = {{ notify_transport_url }} diff --git a/ansible/roles/neutron/defaults/main.yml b/ansible/roles/neutron/defaults/main.yml index 832b577197..961ff558b0 100644 --- a/ansible/roles/neutron/defaults/main.yml +++ b/ansible/roles/neutron/defaults/main.yml @@ -572,6 +572,9 @@ neutron_l3_agent_host_ipv6_neigh_gc_thresh1: "{{ neutron_l3_agent_host_ipv4_neig neutron_l3_agent_host_ipv6_neigh_gc_thresh2: "{{ neutron_l3_agent_host_ipv4_neigh_gc_thresh2 }}" neutron_l3_agent_host_ipv6_neigh_gc_thresh3: "{{ neutron_l3_agent_host_ipv4_neigh_gc_thresh3 }}" +neutron_api_workers: "{{ openstack_service_workers }}" +neutron_metadata_workers: "{{ openstack_service_workers }}" + #################### # Subprojects #################### diff --git a/ansible/roles/neutron/templates/neutron.conf.j2 b/ansible/roles/neutron/templates/neutron.conf.j2 index edc7a3e3c5..62bd1711cb 100644 --- a/ansible/roles/neutron/templates/neutron.conf.j2 +++ b/ansible/roles/neutron/templates/neutron.conf.j2 @@ -17,8 +17,8 @@ bind_port = {{ neutron_server_listen_port }} api_paste_config = /etc/neutron/api-paste.ini -api_workers = {{ openstack_service_workers }} -metadata_workers = {{ openstack_service_workers }} +api_workers = {{ neutron_api_workers }} +metadata_workers = {{ neutron_metadata_workers }} rpc_workers = {{ openstack_service_rpc_workers }} rpc_state_report_workers = {{ openstack_service_rpc_workers }} diff --git a/ansible/roles/nova-cell/defaults/main.yml b/ansible/roles/nova-cell/defaults/main.yml index 4cbe04422d..9d01abc08a 100644 --- a/ansible/roles/nova-cell/defaults/main.yml +++ b/ansible/roles/nova-cell/defaults/main.yml @@ -493,6 +493,8 @@ nova_cell_conductor_has_api_database: "yes" # register itself. nova_compute_registration_fatal: false +nova_cell_conductor_workers: "{{ openstack_service_workers }}" + #################### # Notification #################### diff --git a/ansible/roles/nova-cell/templates/nova.conf.j2 b/ansible/roles/nova-cell/templates/nova.conf.j2 index 67547b1f26..114480def4 100644 --- a/ansible/roles/nova-cell/templates/nova.conf.j2 +++ b/ansible/roles/nova-cell/templates/nova.conf.j2 @@ -37,7 +37,7 @@ compute_monitors=nova.compute.monitors.cpu.virt_driver transport_url = {{ nova_cell_rpc_transport_url }} [conductor] -workers = {{ openstack_service_workers }} +workers = {{ nova_cell_conductor_workers }} {% if nova_console == 'novnc' %} [vnc] diff --git a/ansible/roles/nova/defaults/main.yml b/ansible/roles/nova/defaults/main.yml index edb5aece53..d7ee9f8e92 100644 --- a/ansible/roles/nova/defaults/main.yml +++ b/ansible/roles/nova/defaults/main.yml @@ -188,6 +188,11 @@ nova_services_require_policy_json: nova_enable_external_metadata: "no" +nova_api_workers: "{{ openstack_service_workers }}" +nova_superconductor_workers: "{{ openstack_service_workers }}" +nova_metadata_api_workers: "{{ openstack_service_workers }}" +nova_scheduler_workers: "{{ openstack_service_workers }}" + #################### # Keystone #################### diff --git a/ansible/roles/nova/templates/nova-api-wsgi.conf.j2 b/ansible/roles/nova/templates/nova-api-wsgi.conf.j2 index ad5d69a5d6..f75d7ca83e 100644 --- a/ansible/roles/nova/templates/nova-api-wsgi.conf.j2 +++ b/ansible/roles/nova/templates/nova-api-wsgi.conf.j2 @@ -33,7 +33,7 @@ LogLevel info {% endif %} - WSGIDaemonProcess nova-api processes={{ openstack_service_workers }} threads=1 user=nova group=nova display-name=nova-api + WSGIDaemonProcess nova-api processes={{ nova_api_workers }} threads=1 user=nova group=nova display-name=nova-api WSGIProcessGroup nova-api WSGIScriptAlias / {{ wsgi_directory }}/nova-api-wsgi WSGIApplicationGroup %{GLOBAL} @@ -52,7 +52,7 @@ LogLevel info - WSGIDaemonProcess nova-metadata processes={{ openstack_service_workers }} threads=1 user=nova group=nova display-name=nova-metadata-api + WSGIDaemonProcess nova-metadata processes={{ nova_metadata_api_workers }} threads=1 user=nova group=nova display-name=nova-metadata-api WSGIProcessGroup nova-metadata WSGIScriptAlias / {{ wsgi_directory }}/nova-metadata-wsgi WSGIApplicationGroup %{GLOBAL} diff --git a/ansible/roles/nova/templates/nova.conf.j2 b/ansible/roles/nova/templates/nova.conf.j2 index fe50ba6888..50f169ab08 100644 --- a/ansible/roles/nova/templates/nova.conf.j2 +++ b/ansible/roles/nova/templates/nova.conf.j2 @@ -47,7 +47,7 @@ vendordata_jsonfile_path = /etc/nova/vendordata.json # Super conductor [conductor] -workers = {{ openstack_service_workers }} +workers = {{ nova_superconductor_workers }} [oslo_middleware] enable_proxy_headers_parsing = True @@ -167,7 +167,7 @@ max_attempts = 10 # periodic run must be disabled to avoid random failures (where both try to map) # -1 is default and means periodic discovery is disabled discover_hosts_in_cells_interval = -1 -workers = {{ openstack_service_workers }} +workers = {{ nova_scheduler_workers }} [placement] auth_type = password diff --git a/ansible/roles/octavia/defaults/main.yml b/ansible/roles/octavia/defaults/main.yml index 8af04ec28e..a07f281939 100644 --- a/ansible/roles/octavia/defaults/main.yml +++ b/ansible/roles/octavia/defaults/main.yml @@ -207,6 +207,10 @@ octavia_service_auth_project: "service" openstack_octavia_auth: "{{ openstack_auth }}" +octavia_api_workers: "{{ openstack_service_workers }}" +octavia_healthmanager_health_workers: "{{ openstack_service_workers }}" +octavia_healthmanager_stats_workers: "{{ openstack_service_workers }}" + #################### # Keystone #################### diff --git a/ansible/roles/octavia/templates/octavia-wsgi.conf.j2 b/ansible/roles/octavia/templates/octavia-wsgi.conf.j2 index 4cbb56fc99..b5e5d1dba8 100644 --- a/ansible/roles/octavia/templates/octavia-wsgi.conf.j2 +++ b/ansible/roles/octavia/templates/octavia-wsgi.conf.j2 @@ -19,7 +19,7 @@ LogLevel info {% endif %} - WSGIDaemonProcess octavia-api processes={{ openstack_service_workers }} threads=1 user=octavia group=octavia display-name=octavia-api + WSGIDaemonProcess octavia-api processes={{ octavia_api_workers }} threads=1 user=octavia group=octavia display-name=octavia-api WSGIProcessGroup octavia-api WSGIScriptAlias / {{ wsgi_directory }}/octavia-wsgi WSGIApplicationGroup %{GLOBAL} diff --git a/ansible/roles/octavia/templates/octavia.conf.j2 b/ansible/roles/octavia/templates/octavia.conf.j2 index c548963357..5a23a0f563 100644 --- a/ansible/roles/octavia/templates/octavia.conf.j2 +++ b/ansible/roles/octavia/templates/octavia.conf.j2 @@ -80,8 +80,8 @@ bind_ip = {{ octavia_network_interface_address }} heartbeat_key = insecure controller_ip_port_list = {% for host in groups['octavia-health-manager'] %}{{ 'octavia_network' | kolla_address(host) | put_address_in_context('url') }}:{{ octavia_health_manager_port }}{% if not loop.last %},{% endif %}{% endfor %} -stats_update_threads = {{ openstack_service_workers }} -health_update_threads = {{ openstack_service_workers }} +stats_update_threads = {{ octavia_healthmanager_stats_workers }} +health_update_threads = {{ octavia_healthmanager_health_workers }} [controller_worker] amp_ssh_key_name = {{ octavia_amp_ssh_key_name }} diff --git a/ansible/roles/placement/defaults/main.yml b/ansible/roles/placement/defaults/main.yml index 081d9e5ee2..ce5fa02f8c 100644 --- a/ansible/roles/placement/defaults/main.yml +++ b/ansible/roles/placement/defaults/main.yml @@ -74,6 +74,7 @@ placement_logging_debug: "{{ openstack_logging_debug }}" openstack_placement_auth: "{{ openstack_auth }}" +placement_api_workers: "{{ openstack_service_workers }}" #################### # Notification diff --git a/ansible/roles/placement/templates/placement-api-wsgi.conf.j2 b/ansible/roles/placement/templates/placement-api-wsgi.conf.j2 index 8fe8be01e2..37fece7bb1 100644 --- a/ansible/roles/placement/templates/placement-api-wsgi.conf.j2 +++ b/ansible/roles/placement/templates/placement-api-wsgi.conf.j2 @@ -20,7 +20,7 @@ LogLevel info {% endif %} - WSGIDaemonProcess placement-api processes={{ openstack_service_workers }} threads=1 user=placement group=placement display-name=placement-api + WSGIDaemonProcess placement-api processes={{ placement_api_workers }} threads=1 user=placement group=placement display-name=placement-api WSGIProcessGroup placement-api WSGIScriptAlias / {{ wsgi_directory }}/placement-api WSGIApplicationGroup %{GLOBAL} diff --git a/ansible/roles/sahara/defaults/main.yml b/ansible/roles/sahara/defaults/main.yml index 54b3b7ab62..1fce34fbda 100644 --- a/ansible/roles/sahara/defaults/main.yml +++ b/ansible/roles/sahara/defaults/main.yml @@ -112,6 +112,7 @@ sahara_keystone_user: "sahara" openstack_sahara_auth: "{{ openstack_auth }}" +sahara_api_workers: "{{ openstack_service_workers }}" #################### ## Kolla diff --git a/ansible/roles/sahara/templates/sahara.conf.j2 b/ansible/roles/sahara/templates/sahara.conf.j2 index fe34315b4f..2fc1edd5ec 100644 --- a/ansible/roles/sahara/templates/sahara.conf.j2 +++ b/ansible/roles/sahara/templates/sahara.conf.j2 @@ -5,7 +5,7 @@ port = {{ sahara_api_port }} host = {{ api_interface_address }} transport_url = {{ rpc_transport_url }} -api_workers = {{ openstack_service_workers }} +api_workers = {{ sahara_api_workers }} use_floating_ips = False use_namespaces = True use_rootwrap = True diff --git a/ansible/roles/senlin/defaults/main.yml b/ansible/roles/senlin/defaults/main.yml index d01c16f017..ef9ea38f57 100644 --- a/ansible/roles/senlin/defaults/main.yml +++ b/ansible/roles/senlin/defaults/main.yml @@ -175,6 +175,10 @@ senlin_keystone_user: "senlin" openstack_senlin_auth: "{{ openstack_auth }}" +senlin_api_workers: "{{ openstack_service_workers }}" +senlin_conductor_workers: "{{ openstack_service_workers }}" +senlin_engine_workers: "{{ openstack_service_workers }}" +senlin_health_manager_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/senlin/templates/senlin.conf.j2 b/ansible/roles/senlin/templates/senlin.conf.j2 index d320dd685d..1a4259d09c 100644 --- a/ansible/roles/senlin/templates/senlin.conf.j2 +++ b/ansible/roles/senlin/templates/senlin.conf.j2 @@ -9,7 +9,7 @@ transport_url = {{ rpc_transport_url }} [senlin_api] bind_host = {{ api_interface_address }} bind_port = {{ senlin_api_listen_port }} -workers = {{ openstack_service_workers }} +workers = {{ senlin_api_workers }} {% endif %} [authentication] @@ -22,7 +22,7 @@ service_project_domain = default {% if service_name == 'senlin-conductor' %} [conductor] -workers = {{ openstack_service_workers }} +workers = {{ senlin_conductor_workers }} {% endif %} [database] @@ -33,12 +33,12 @@ max_retries = -1 {% if service_name == 'senlin-engine' %} [engine] -workers = {{ openstack_service_workers }} +workers = {{ senlin_engine_workers }} {% endif %} {% if service_name == 'senlin-health-manager' %} [health_manager] -workers = {{ openstack_service_workers }} +workers = {{ senlin_health_manager_workers }} {% endif %} [keystone_authtoken] diff --git a/ansible/roles/solum/defaults/main.yml b/ansible/roles/solum/defaults/main.yml index 0832b5f9e8..0de5e410ea 100644 --- a/ansible/roles/solum/defaults/main.yml +++ b/ansible/roles/solum/defaults/main.yml @@ -190,6 +190,7 @@ solum_keystone_user: "solum" openstack_solum_auth: "{{ openstack_auth }}" +solum_api_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/solum/templates/solum.conf.j2 b/ansible/roles/solum/templates/solum.conf.j2 index 2023e73459..a62dc6fde7 100644 --- a/ansible/roles/solum/templates/solum.conf.j2 +++ b/ansible/roles/solum/templates/solum.conf.j2 @@ -11,7 +11,7 @@ bind_port = {{ solum_application_deployment_port }} [api] image_format = vm port = {{ solum_application_deployment_port }} -workers = {{ openstack_service_workers }} +workers = {{ solum_api_workers }} {% if service_name == 'solum-api' %} host = {{ api_interface_address }} {% endif %} diff --git a/ansible/roles/swift/defaults/main.yml b/ansible/roles/swift/defaults/main.yml index 82180e164d..c1e64c8bdc 100644 --- a/ansible/roles/swift/defaults/main.yml +++ b/ansible/roles/swift/defaults/main.yml @@ -73,6 +73,11 @@ swift_enable_rolling_upgrade: "yes" swift_extra_ring_files: [] +swift_account_workers: "{{ openstack_service_workers }}" +swift_container_workers: "{{ openstack_service_workers }}" +swift_object_workers: "{{ openstack_service_workers }}" +swift_proxy_server_workers: "{{ openstack_service_workers }}" + #################### # Keystone #################### diff --git a/ansible/roles/swift/templates/account.conf.j2 b/ansible/roles/swift/templates/account.conf.j2 index 3ec7d4371b..e12891c3c4 100644 --- a/ansible/roles/swift/templates/account.conf.j2 +++ b/ansible/roles/swift/templates/account.conf.j2 @@ -9,7 +9,7 @@ log_udp_port = {{ syslog_udp_port }} log_name = {{ service_name }} log_facility = {{ syslog_swift_facility }} log_level = {{ swift_log_level }} -workers = {{ openstack_service_workers }} +workers = {{ swift_account_workers }} [pipeline:main] pipeline = {% if enable_swift_recon %}recon {% endif %}account-server diff --git a/ansible/roles/swift/templates/container.conf.j2 b/ansible/roles/swift/templates/container.conf.j2 index f0761c09f4..1c6a95b7e0 100644 --- a/ansible/roles/swift/templates/container.conf.j2 +++ b/ansible/roles/swift/templates/container.conf.j2 @@ -9,7 +9,7 @@ log_udp_port = {{ syslog_udp_port }} log_name = {{ service_name }} log_facility = {{ syslog_swift_facility }} log_level = {{ swift_log_level }} -workers = {{ openstack_service_workers }} +workers = {{ swift_container_workers }} [pipeline:main] pipeline = {% if enable_swift_recon %}recon {% endif %}container-server diff --git a/ansible/roles/swift/templates/object.conf.j2 b/ansible/roles/swift/templates/object.conf.j2 index ff889ebe26..0c26734b67 100644 --- a/ansible/roles/swift/templates/object.conf.j2 +++ b/ansible/roles/swift/templates/object.conf.j2 @@ -10,7 +10,7 @@ log_udp_port = {{ syslog_udp_port }} log_name = {{ service_name }} log_facility = {{ syslog_swift_facility }} log_level = {{ swift_log_level }} -workers = {{ openstack_service_workers }} +workers = {{ swift_object_workers }} [pipeline:main] {% if service_name == 'swift-object-expirer' %} diff --git a/ansible/roles/swift/templates/proxy-server.conf.j2 b/ansible/roles/swift/templates/proxy-server.conf.j2 index 734299f628..c2544cd0fa 100644 --- a/ansible/roles/swift/templates/proxy-server.conf.j2 +++ b/ansible/roles/swift/templates/proxy-server.conf.j2 @@ -7,7 +7,7 @@ log_udp_port = {{ syslog_udp_port }} log_name = {{ service_name }} log_facility = {{ syslog_swift_facility }} log_level = {{ swift_log_level }} -workers = {{ openstack_service_workers }} +workers = {{ swift_proxy_server_workers }} [pipeline:main] pipeline = catch_errors gatekeeper healthcheck cache container_sync bulk tempurl ratelimit authtoken {% if enable_swift_s3api | bool %}s3api s3token {% endif %}keystoneauth container_quotas account_quotas slo dlo {% if enable_ceilometer | bool %}ceilometer {% endif %}proxy-server diff --git a/ansible/roles/tacker/defaults/main.yml b/ansible/roles/tacker/defaults/main.yml index 312db079f0..1a8642509f 100644 --- a/ansible/roles/tacker/defaults/main.yml +++ b/ansible/roles/tacker/defaults/main.yml @@ -122,6 +122,8 @@ tacker_keystone_user: "tacker" openstack_tacker_auth: "{{ openstack_auth }}" +tacker_api_workers: "{{ openstack_service_workers }}" + ################### # Kolla #################### diff --git a/ansible/roles/tacker/templates/tacker.conf.j2 b/ansible/roles/tacker/templates/tacker.conf.j2 index 54ee902a2c..c5fff78155 100644 --- a/ansible/roles/tacker/templates/tacker.conf.j2 +++ b/ansible/roles/tacker/templates/tacker.conf.j2 @@ -6,7 +6,7 @@ transport_url = {{ rpc_transport_url }} bind_host = {{ api_interface_address }} bind_port = {{ tacker_server_port }} -api_workers = {{ openstack_service_workers }} +api_workers = {{ tacker_api_workers }} service_plugins = nfvo,vnfm [nfvo] diff --git a/ansible/roles/trove/defaults/main.yml b/ansible/roles/trove/defaults/main.yml index 78e39c7da5..84bcb08834 100644 --- a/ansible/roles/trove/defaults/main.yml +++ b/ansible/roles/trove/defaults/main.yml @@ -144,6 +144,7 @@ trove_keystone_user: "trove" openstack_trove_auth: "{{ openstack_auth }}" +trove_api_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/trove/templates/trove.conf.j2 b/ansible/roles/trove/templates/trove.conf.j2 index cd878394aa..993fe7984c 100644 --- a/ansible/roles/trove/templates/trove.conf.j2 +++ b/ansible/roles/trove/templates/trove.conf.j2 @@ -7,7 +7,7 @@ host = {{ api_interface_address }} bind_port = {{ trove_api_port }} bind_host = {{ api_interface_address }} -trove_api_workers = {{ openstack_service_workers }} +trove_api_workers = {{ trove_api_workers }} auth_strategy = keystone transport_url = {{ rpc_transport_url }} diff --git a/ansible/roles/vitrage/defaults/main.yml b/ansible/roles/vitrage/defaults/main.yml index beb3938f11..95f4ae5806 100644 --- a/ansible/roles/vitrage/defaults/main.yml +++ b/ansible/roles/vitrage/defaults/main.yml @@ -203,6 +203,8 @@ vitrage_keystone_user: "vitrage" openstack_vitrage_auth: "{{ openstack_auth }}" +vitrage_api_workers: "{{ openstack_service_workers }}" + ##################### # Datasources ##################### diff --git a/ansible/roles/vitrage/templates/wsgi-vitrage.conf.j2 b/ansible/roles/vitrage/templates/wsgi-vitrage.conf.j2 index 9a843e8aaf..9b54e8b012 100644 --- a/ansible/roles/vitrage/templates/wsgi-vitrage.conf.j2 +++ b/ansible/roles/vitrage/templates/wsgi-vitrage.conf.j2 @@ -34,7 +34,7 @@ LogLevel info ServerSignature Off CustomLog "{{ vitrage_log_dir }}/vitrage_wsgi_access.log" combined WSGIApplicationGroup %{GLOBAL} - WSGIDaemonProcess vitrage group=vitrage processes={{ openstack_service_workers }} threads=1 user=vitrage + WSGIDaemonProcess vitrage group=vitrage processes={{ vitrage_api_workers }} threads=1 user=vitrage WSGIProcessGroup vitrage WSGIScriptAlias / "/var/www/cgi-bin/vitrage/app.wsgi" {% if enable_vitrage_prometheus_datasource | bool %} diff --git a/ansible/roles/watcher/defaults/main.yml b/ansible/roles/watcher/defaults/main.yml index 0b9fed7aa6..957047a9aa 100644 --- a/ansible/roles/watcher/defaults/main.yml +++ b/ansible/roles/watcher/defaults/main.yml @@ -141,6 +141,7 @@ watcher_keystone_user: "watcher" openstack_watcher_auth: "{{ openstack_auth }}" +watcher_api_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/watcher/templates/watcher.conf.j2 b/ansible/roles/watcher/templates/watcher.conf.j2 index 99737d5b5e..c1c6213b9b 100644 --- a/ansible/roles/watcher/templates/watcher.conf.j2 +++ b/ansible/roles/watcher/templates/watcher.conf.j2 @@ -9,7 +9,7 @@ transport_url = {{ rpc_transport_url }} [api] host = {{ api_interface_address }} port = {{ watcher_api_port }} -workers = {{ openstack_service_workers }} +workers = {{ watcher_api_workers }} {% endif %} [database] diff --git a/ansible/roles/zun/defaults/main.yml b/ansible/roles/zun/defaults/main.yml index 09ca763246..684ea86e74 100644 --- a/ansible/roles/zun/defaults/main.yml +++ b/ansible/roles/zun/defaults/main.yml @@ -194,6 +194,7 @@ zun_keystone_user: "zun" openstack_zun_auth: "{{ openstack_auth }}" +zun_api_workers: "{{ openstack_service_workers }}" #################### # Kolla diff --git a/ansible/roles/zun/templates/wsgi-zun.conf.j2 b/ansible/roles/zun/templates/wsgi-zun.conf.j2 index 9e09779b6e..725b95597f 100644 --- a/ansible/roles/zun/templates/wsgi-zun.conf.j2 +++ b/ansible/roles/zun/templates/wsgi-zun.conf.j2 @@ -35,7 +35,7 @@ LogLevel info LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" logformat CustomLog "{{ zun_log_dir }}/zun_api_wsgi_access.log" logformat WSGIApplicationGroup %{GLOBAL} - WSGIDaemonProcess zun group=zun processes={{ openstack_service_workers }} threads=1 user=zun + WSGIDaemonProcess zun group=zun processes={{ zun_api_workers }} threads=1 user=zun WSGIProcessGroup zun WSGIScriptAlias / "/var/www/cgi-bin/zun/app.wsgi"