From 0513c950fba3071a36661325969c1b2831a85d47 Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Fri, 18 Sep 2015 14:29:46 +0100 Subject: [PATCH] Adjust default Keystone httpd processes and threads This patch sets the Apache threads and processes for Keystone to match the recommendations based on performance testing done by the Keystone core team. This resolves an issue where the cryptography library will not allow multiple threads to register the osrandom engine. To compensate for the reduction in threads, the number of processes has been increased. Both the values remain tunable to suit a deployers needs. Change-Id: I1e94a91642b904b865ddf56983239838ed9a15e6 Closes-Bug: #1497283 --- playbooks/roles/os_keystone/defaults/main.yml | 4 ++-- scripts/gate-check-commit.sh | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/playbooks/roles/os_keystone/defaults/main.yml b/playbooks/roles/os_keystone/defaults/main.yml index 43fb874d33..c2ae5574a6 100644 --- a/playbooks/roles/os_keystone/defaults/main.yml +++ b/playbooks/roles/os_keystone/defaults/main.yml @@ -131,8 +131,8 @@ keystone_service_adminurl: "{{ keystone_service_adminurl_v3 }}" keystone_apache_log_level: info keystone_apache_servertokens: "Prod" keystone_apache_serversignature: "Off" -keystone_wsgi_threads: "{{ ansible_processor_vcpus | default(2) // 2 }}" -keystone_wsgi_processes: "{{ ansible_processor_vcpus | default(1) }}" +keystone_wsgi_threads: 1 +keystone_wsgi_processes: "{{ ansible_processor_vcpus | default (1) * 2 }}" # set keystone_ssl to true to enable SSL configuration on the keystone containers keystone_ssl: false diff --git a/scripts/gate-check-commit.sh b/scripts/gate-check-commit.sh index 67d40de013..59ed7477f0 100755 --- a/scripts/gate-check-commit.sh +++ b/scripts/gate-check-commit.sh @@ -91,6 +91,10 @@ echo "lxc_net_address: 10.255.255.1" | tee -a /etc/openstack_deploy/user_variabl echo "lxc_net_netmask: 255.255.255.0" | tee -a /etc/openstack_deploy/user_variables.yml echo "lxc_net_dhcp_range: 10.255.255.2,10.255.255.253" | tee -a /etc/openstack_deploy/user_variables.yml +# Limit the number of processes used by Keystone +# The defaults cause tempest failures in OpenStack CI due to resource constraints +echo "keystone_wsgi_processes: 4" | tee -a /etc/openstack_deploy/user_variables.yml + # Disable the python output buffering so that jenkins gets the output properly export PYTHONUNBUFFERED=1