summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2016-05-23 10:45:13 -0400
committerTim Rozet <trozet@redhat.com>2016-05-23 10:52:09 -0400
commitbe03cde24377105b340bbd2d5acae84617ffb7c6 (patch)
tree42e7846127366f250ce1498329fd0e9f3382eaee
parent7879a52a6d429fb33abf3b76ee8bb5a826a96286 (diff)
Limits engine workers for virtual deployments
Heat uses sub-process forking for increasing number of workers to handle tasks. This patch limits number of workers in undercloud and overcloud for virtual deployments to help battle resource contention. Change-Id: I70edff708b7dcaf114b285046af3138a67167150 Signed-off-by: Tim Rozet <trozet@redhat.com>
-rwxr-xr-xbuild/undercloud.sh1
-rw-r--r--build/virtual-environment.yaml17
-rwxr-xr-xci/deploy.sh7
3 files changed, 25 insertions, 0 deletions
diff --git a/build/undercloud.sh b/build/undercloud.sh
index 65462ec8..ed4f2b34 100755
--- a/build/undercloud.sh
+++ b/build/undercloud.sh
@@ -67,6 +67,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--run-command "yum update -y openwsman*" \
--run-command "cp /usr/share/instack-undercloud/undercloud.conf.sample /home/stack/undercloud.conf && chown stack:stack /home/stack/undercloud.conf" \
--upload ../opnfv-environment.yaml:/home/stack/ \
+ --upload ../virtual-environment.yaml:/home/stack/ \
-a undercloud.qcow2
popd > /dev/null
diff --git a/build/virtual-environment.yaml b/build/virtual-environment.yaml
new file mode 100644
index 00000000..6f1d0517
--- /dev/null
+++ b/build/virtual-environment.yaml
@@ -0,0 +1,17 @@
+parameter_defaults:
+ controllerExtraConfig:
+ # In releases before Mitaka, HeatWorkers doesn't modify
+ # num_engine_workers, so handle via heat::config
+ heat::config::heat_config:
+ DEFAULT/num_engine_workers:
+ value: 1
+ heat::api_cloudwatch::enabled: false
+ heat::api_cfn::enabled: false
+ HeatWorkers: 1
+ CeilometerWorkers: 1
+ CinderWorkers: 1
+ GlanceWorkers: 1
+ KeystoneWorkers: 1
+ NeutronWorkers: 1
+ NovaWorkers: 1
+ SwiftWorkers: 1
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 5cde7992..9cdd8297 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -739,6 +739,11 @@ sleep 30
sudo systemctl restart openstack-glance-api
sudo systemctl restart openstack-nova-conductor
sudo systemctl restart openstack-nova-compute
+
+sudo sed -i '/num_engine_workers/c\num_engine_workers = 2' /etc/heat/heat.conf
+sudo sed -i '/#workers\s=/c\workers = 2' /etc/heat/heat.conf
+sudo systemctl restart openstack-heat-engine
+sudo systemctl restart openstack-heat-api
EOI
# WORKAROUND: must restart the above services to fix sync problem with nova compute manager
# TODO: revisit and file a bug if necessary. This should eventually be removed
@@ -834,6 +839,8 @@ function undercloud_prep_overcloud_deploy {
if [[ ! "$virtual" == "TRUE" ]]; then
DEPLOY_OPTIONS+=" --control-flavor control --compute-flavor compute"
+ else
+ DEPLOY_OPTIONS+=" -e virtual-environment.yaml"
fi
DEPLOY_OPTIONS+=" -e opnfv-environment.yaml"