From 5e1780b8098216fc645e2de353d716b744c4a1b6 Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Thu, 16 Jun 2022 13:52:27 +0200 Subject: [PATCH] Control amount of conductor workers As of today we didn't manage amount of magnum-conductors that equal to amount of CPU on host. So things can go off regarding CPU and memory consumption. For better control on resources we add variable to control conductor workers. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/846151 Change-Id: I3eedd74717b3b621b4e0b6ae4a8df4ee6f1eb739 --- defaults/main.yml | 4 ++++ .../notes/magnum_conductor_workers-3f7eafeb4429dd0b.yaml | 6 ++++++ templates/magnum.conf.j2 | 3 +++ 3 files changed, 13 insertions(+) create mode 100644 releasenotes/notes/magnum_conductor_workers-3f7eafeb4429dd0b.yaml diff --git a/defaults/main.yml b/defaults/main.yml index 5af82a2..0440139 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -225,3 +225,7 @@ magnum_wsgi_processes_max: 16 magnum_wsgi_processes: "{{ [[(ansible_facts['processor_vcpus']//ansible_facts['processor_threads_per_core'])|default(1), 1] | max * 2, magnum_wsgi_processes_max] | min }}" magnum_wsgi_threads: 1 magnum_api_uwsgi_bind_address: "{{ openstack_service_bind_address | default('0.0.0.0') }}" + +# conductor settings +magnum_conductor_workers_max: 16 +magnum_conductor_workers: "{{ [[(ansible_facts['processor_vcpus']//ansible_facts['processor_threads_per_core'])|default(1), 1] | max * 2, magnum_conductor_workers_max] | min }}" diff --git a/releasenotes/notes/magnum_conductor_workers-3f7eafeb4429dd0b.yaml b/releasenotes/notes/magnum_conductor_workers-3f7eafeb4429dd0b.yaml new file mode 100644 index 0000000..45833b9 --- /dev/null +++ b/releasenotes/notes/magnum_conductor_workers-3f7eafeb4429dd0b.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + Implemented variable ``magnum_conductor_workers`` that is designed to + controll amount of magnum-conductor workers spawned. By default it is + equal to number of CPU cores, but no more then 16 workers. diff --git a/templates/magnum.conf.j2 b/templates/magnum.conf.j2 index 0128bf6..72b960c 100644 --- a/templates/magnum.conf.j2 +++ b/templates/magnum.conf.j2 @@ -22,6 +22,9 @@ endpoint_type = internalURL region_name = {{ magnum_cinder_service_region }} endpoint_type = internalURL +[conductor] +workers = {{ magnum_conductor_workers }} + [database] connection = mysql+pymysql://{{ magnum_galera_user }}:{{ magnum_galera_password }}@{{ magnum_galera_address }}/{{ magnum_galera_database_name }}?charset=utf8{% if magnum_galera_use_ssl | bool %}&ssl_verify_cert=true{% if magnum_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ magnum_galera_ssl_ca_cert }}{% endif %}{% endif +%} max_overflow = {{ magnum_db_max_overflow }}