From 670c8e10d8721ac836c7da88e683e90767860f9c Mon Sep 17 00:00:00 2001 From: Michael Polenchuk Date: Fri, 21 Oct 2016 12:46:10 +0300 Subject: Rework processorcount limits to os_workers JIRA: FUEL-212 Change-Id: I1c5b8fe123406f1a96c5432d91a9ee5806c7cf62 Signed-off-by: Michael Polenchuk --- ...ework-processorcount-limits-to-os_workers.patch | 423 +++++++++++++++++++++ 1 file changed, 423 insertions(+) create mode 100644 build/patch-repos/build/repos/fuel-library/0003-Rework-processorcount-limits-to-os_workers.patch diff --git a/build/patch-repos/build/repos/fuel-library/0003-Rework-processorcount-limits-to-os_workers.patch b/build/patch-repos/build/repos/fuel-library/0003-Rework-processorcount-limits-to-os_workers.patch new file mode 100644 index 000000000..3bf607183 --- /dev/null +++ b/build/patch-repos/build/repos/fuel-library/0003-Rework-processorcount-limits-to-os_workers.patch @@ -0,0 +1,423 @@ +From e2b9485cbcf9e91cde0db025229b279af91d2a77 Mon Sep 17 00:00:00 2001 +From: Bogdan Dobrelya +Date: Fri, 30 Sep 2016 12:03:34 +0200 +Subject: [PATCH] Rework processorcount limits to os_workers + +* reduce workers_max default limits of a 16 to the $::os_workers, which is limited by [2, 8] interval. +* reduce workers/pool size/overflow limited by F($::processorcount) to F($::os_workers) +* change number of keystone threads to 1 + +Closes-bug: #1629238 +Closes-Bug: #1628534 + +Change-Id: I5cc4d70b902eeaa1c9cf42911606eba13dd84aa2 +Signed-off-by: Bogdan Dobrelya +--- + deployment/puppet/openstack/manifests/cinder.pp | 2 +- + .../manifests/ceilometer/controller.pp | 2 +- + .../openstack_tasks/manifests/glance/glance.pp | 2 +- + .../openstack_tasks/manifests/horizon/horizon.pp | 2 +- + .../manifests/ironic/ironic_compute.pp | 4 ++-- + .../openstack_tasks/manifests/keystone/keystone.pp | 4 ++-- + .../manifests/openstack_cinder/openstack_cinder.pp | 6 +++--- + .../openstack_controller/openstack_controller.pp | 6 +++--- + .../manifests/openstack_network/agents/metadata.pp | 2 +- + .../manifests/openstack_network/server_config.pp | 2 +- + .../openstack_tasks/manifests/roles/cinder.pp | 4 ++-- + .../openstack_tasks/manifests/sahara/sahara.pp | 4 ++-- + .../openstack_tasks/manifests/swift/parts/proxy.pp | 4 ++-- + .../manifests/swift/proxy_storage.pp | 2 +- + .../puppet/osnailyfacter/lib/facter/os_workers.rb | 20 ++++++++++++++++++++ + .../puppet/osnailyfacter/manifests/apache_mpm.pp | 2 +- + .../osnailyfacter/manifests/globals/globals.pp | 4 ++-- + .../spec/classes/osnailyfacter_atop_spec.rb | 2 ++ + .../noop/spec/hosts/ironic/ironic-compute_spec.rb | 6 +++--- + tests/noop/spec/hosts/keystone/keystone_spec.rb | 2 ++ + .../openstack-controller_spec.rb | 6 +++--- + tests/noop/spec/hosts/sahara/sahara_spec.rb | 6 +++--- + 22 files changed, 59 insertions(+), 35 deletions(-) + create mode 100644 deployment/puppet/osnailyfacter/lib/facter/os_workers.rb + +diff --git a/deployment/puppet/openstack/manifests/cinder.pp b/deployment/puppet/openstack/manifests/cinder.pp +index 072252e..3cdf077 100644 +--- a/deployment/puppet/openstack/manifests/cinder.pp ++++ b/deployment/puppet/openstack/manifests/cinder.pp +@@ -44,7 +44,7 @@ class openstack::cinder( + $keystone_user = 'cinder', + $region = 'RegionOne', + $notification_driver = undef, +- $service_workers = $::processorcount, ++ $service_workers = $::os_workers, + $vmware_host_ip = '10.10.10.10', + $vmware_host_username = 'administrator@vsphere.local', + $vmware_host_password = 'password', +diff --git a/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp b/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp +index 2c63ff0..d0ce24d 100644 +--- a/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp ++++ b/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp +@@ -37,7 +37,7 @@ class openstack_tasks::ceilometer::controller { + $service_endpoint = hiera('service_endpoint', $management_vip) + $ha_mode = pick($ceilometer_hash['ha_mode'], true) + $ssl_hash = hiera_hash('use_ssl', {}) +- $workers_max = hiera('workers_max', 16) ++ $workers_max = hiera('workers_max', $::os_workers) + $service_workers = pick($ceilometer_hash['workers'], + min(max($::processorcount, 2), $workers_max)) + +diff --git a/deployment/puppet/openstack_tasks/manifests/glance/glance.pp b/deployment/puppet/openstack_tasks/manifests/glance/glance.pp +index ab7cc13..99153a0 100644 +--- a/deployment/puppet/openstack_tasks/manifests/glance/glance.pp ++++ b/deployment/puppet/openstack_tasks/manifests/glance/glance.pp +@@ -22,7 +22,7 @@ class openstack_tasks::glance::glance { + $max_overflow = hiera('max_overflow') + $ceilometer_hash = hiera_hash('ceilometer', {}) + $region = hiera('region','RegionOne') +- $workers_max = hiera('workers_max', 16) ++ $workers_max = hiera('workers_max', $::os_workers) + $service_workers = pick($glance_hash['glance_workers'], + min(max($::processorcount, 2), $workers_max)) + $ironic_hash = hiera_hash('ironic', {}) +diff --git a/deployment/puppet/openstack_tasks/manifests/horizon/horizon.pp b/deployment/puppet/openstack_tasks/manifests/horizon/horizon.pp +index ca1ef45..a52106f 100644 +--- a/deployment/puppet/openstack_tasks/manifests/horizon/horizon.pp ++++ b/deployment/puppet/openstack_tasks/manifests/horizon/horizon.pp +@@ -119,7 +119,7 @@ class openstack_tasks::horizon::horizon { + $wsgi_processes = 2 + $wsgi_threads = 9 + } else { +- $wsgi_processes = $::processorcount ++ $wsgi_processes = $::os_workers + $wsgi_threads = 15 + } + +diff --git a/deployment/puppet/openstack_tasks/manifests/ironic/ironic_compute.pp b/deployment/puppet/openstack_tasks/manifests/ironic/ironic_compute.pp +index 940c7a3..322e703 100644 +--- a/deployment/puppet/openstack_tasks/manifests/ironic/ironic_compute.pp ++++ b/deployment/puppet/openstack_tasks/manifests/ironic/ironic_compute.pp +@@ -35,8 +35,8 @@ class openstack_tasks::ironic::ironic_compute { + $db_name = pick($nova_hash['db_name'], 'nova') + $db_password = pick($nova_hash['db_password'], 'nova') + +- $max_pool_size = hiera('max_pool_size', min($::processorcount * 5 + 0, 30 + 0)) +- $max_overflow = hiera('max_overflow', min($::processorcount * 5 + 0, 60 + 0)) ++ $max_pool_size = hiera('max_pool_size', min($::os_workers * 5 + 0, 30 + 0)) ++ $max_overflow = hiera('max_overflow', min($::os_workers * 5 + 0, 60 + 0)) + $idle_timeout = hiera('idle_timeout', '3600') + $max_retries = hiera('max_retries', '-1') + +diff --git a/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp b/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp +index 3162287..8146548 100644 +--- a/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp ++++ b/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp +@@ -30,7 +30,7 @@ class openstack_tasks::keystone::keystone { + $syslog_log_facility = hiera('syslog_log_facility_keystone') + $rabbit_hash = hiera_hash('rabbit', {}) + $neutron_user_password = hiera('neutron_user_password', false) +- $workers_max = hiera('workers_max', 16) ++ $workers_max = hiera('workers_max', $::os_workers) + $service_workers = pick($keystone_hash['workers'], + min(max($::processorcount, 2), $workers_max)) + $default_log_levels = hiera_hash('default_log_levels') +@@ -151,7 +151,7 @@ class openstack_tasks::keystone::keystone { + + class { '::keystone::wsgi::apache': + priority => '05', +- threads => 3, ++ threads => 1, + workers => min($::processorcount, 6), + ssl => $ssl, + vhost_custom_fragment => $vhost_limit_request_field_size, +diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp b/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp +index a298e70..cc4c2b3 100644 +--- a/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp ++++ b/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp +@@ -12,7 +12,7 @@ class openstack_tasks::openstack_cinder::openstack_cinder { + $sahara_hash = hiera_hash('sahara', {}) + $rabbit_hash = hiera_hash('rabbit', {}) + $service_endpoint = hiera('service_endpoint') +- $workers_max = hiera('workers_max', 16) ++ $workers_max = hiera('workers_max', $::os_workers) + $service_workers = pick($cinder_hash['workers'], min(max($::processorcount, 2), $workers_max)) + $cinder_user_password = $cinder_hash[user_password] + $keystone_user = pick($cinder_hash['user'], 'cinder') +@@ -98,8 +98,8 @@ class openstack_tasks::openstack_cinder::openstack_cinder { + } + + # SQLAlchemy backend configuration +- $max_pool_size = min($::processorcount * 5 + 0, 30 + 0) +- $max_overflow = min($::processorcount * 5 + 0, 60 + 0) ++ $max_pool_size = min($::os_workers * 5 + 0, 30 + 0) ++ $max_overflow = min($::os_workers * 5 + 0, 60 + 0) + $max_retries = '-1' + $idle_timeout = '3600' + +diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp b/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp +index f8915c1..dbc7a9e 100644 +--- a/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp ++++ b/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp +@@ -56,7 +56,7 @@ class openstack_tasks::openstack_controller::openstack_controller { + $keystone_user = pick($nova_hash['user'], 'nova') + $keystone_tenant = pick($nova_hash['tenant'], 'services') + $region = hiera('region', 'RegionOne') +- $workers_max = hiera('workers_max', 16) ++ $workers_max = hiera('workers_max', $::os_workers) + $service_workers = pick($nova_hash['workers'], + min(max($::processorcount, 2), $workers_max)) + $compute_nodes = get_nodes_hash_by_roles($network_metadata, ['compute']) +@@ -127,8 +127,8 @@ class openstack_tasks::openstack_controller::openstack_controller { + }) + + # SQLAlchemy backend configuration +- $max_pool_size = hiera('max_pool_size', min($::processorcount * 5 + 0, 30 + 0)) +- $max_overflow = hiera('max_overflow', min($::processorcount * 5 + 0, 60 + 0)) ++ $max_pool_size = hiera('max_pool_size', min($::os_workers * 5 + 0, 30 + 0)) ++ $max_overflow = hiera('max_overflow', min($::os_workers * 5 + 0, 60 + 0)) + $idle_timeout = hiera('idle_timeout', '3600') + $max_retries = hiera('max_retries', '-1') + +diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_network/agents/metadata.pp b/deployment/puppet/openstack_tasks/manifests/openstack_network/agents/metadata.pp +index 98acddb..9efcb5a 100644 +--- a/deployment/puppet/openstack_tasks/manifests/openstack_network/agents/metadata.pp ++++ b/deployment/puppet/openstack_tasks/manifests/openstack_network/agents/metadata.pp +@@ -10,7 +10,7 @@ class openstack_tasks::openstack_network::agents::metadata { + $neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { }) + $neutron_config = hiera_hash('neutron_config') + $dvr = pick($neutron_advanced_config['neutron_dvr'], false) +- $workers_max = hiera('workers_max', 16) ++ $workers_max = hiera('workers_max', $::os_workers) + + if $compute { + $metadata_workers = pick($neutron_config['workers'], +diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_network/server_config.pp b/deployment/puppet/openstack_tasks/manifests/openstack_network/server_config.pp +index 414eedf..03d03a8 100644 +--- a/deployment/puppet/openstack_tasks/manifests/openstack_network/server_config.pp ++++ b/deployment/puppet/openstack_tasks/manifests/openstack_network/server_config.pp +@@ -86,7 +86,7 @@ class openstack_tasks::openstack_network::server_config { + $nova_admin_auth_url = "${admin_auth_protocol}://${admin_auth_endpoint}:35357/" + $nova_url = "${nova_internal_protocol}://${nova_internal_endpoint}:8774/v2" + +- $workers_max = hiera('workers_max', 16) ++ $workers_max = hiera('workers_max', $::os_workers) + $service_workers = pick($neutron_config['workers'], min(max($::processorcount, 1), $workers_max)) + + $neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { }) +diff --git a/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp b/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp +index f2d6c72..c41dae6 100644 +--- a/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp ++++ b/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp +@@ -86,8 +86,8 @@ class openstack_tasks::roles::cinder { + } + + # SQLAlchemy backend configuration +- $max_pool_size = min($::processorcount * 5 + 0, 30 + 0) +- $max_overflow = min($::processorcount * 5 + 0, 60 + 0) ++ $max_pool_size = min($::os_workers * 5 + 0, 30 + 0) ++ $max_overflow = min($::os_workers * 5 + 0, 60 + 0) + $max_retries = '-1' + $idle_timeout = '3600' + +diff --git a/deployment/puppet/openstack_tasks/manifests/sahara/sahara.pp b/deployment/puppet/openstack_tasks/manifests/sahara/sahara.pp +index f6d50c6..30278ee 100644 +--- a/deployment/puppet/openstack_tasks/manifests/sahara/sahara.pp ++++ b/deployment/puppet/openstack_tasks/manifests/sahara/sahara.pp +@@ -52,8 +52,8 @@ class openstack_tasks::sahara::sahara { + $sahara_user = pick($sahara_hash['user'], 'sahara') + $sahara_password = pick($sahara_hash['user_password']) + $tenant = pick($sahara_hash['tenant'], 'services') +- $max_pool_size = min($::processorcount * 5 + 0, 30 + 0) +- $max_overflow = min($::processorcount * 5 + 0, 60 + 0) ++ $max_pool_size = min($::os_workers * 5 + 0, 30 + 0) ++ $max_overflow = min($::os_workers * 5 + 0, 60 + 0) + $max_retries = '-1' + $idle_timeout = '3600' + +diff --git a/deployment/puppet/openstack_tasks/manifests/swift/parts/proxy.pp b/deployment/puppet/openstack_tasks/manifests/swift/parts/proxy.pp +index eb06244..52c2b3a 100644 +--- a/deployment/puppet/openstack_tasks/manifests/swift/parts/proxy.pp ++++ b/deployment/puppet/openstack_tasks/manifests/swift/parts/proxy.pp +@@ -26,7 +26,7 @@ class openstack_tasks::swift::parts::proxy ( + 'account_quotas', + 'slo', + 'proxy-server'], +- $proxy_workers = $::processorcount, ++ $proxy_workers = $::os_workers, + $proxy_port = '8080', + $proxy_allow_account_management = true, + $proxy_account_autocreate = true, +@@ -225,4 +225,4 @@ class openstack_tasks::swift::parts::proxy ( + anchor { 'openstack_tasks_proxy_end' :} + + } +-} +\ No newline at end of file ++} +diff --git a/deployment/puppet/openstack_tasks/manifests/swift/proxy_storage.pp b/deployment/puppet/openstack_tasks/manifests/swift/proxy_storage.pp +index 66fcd21..4608b67 100644 +--- a/deployment/puppet/openstack_tasks/manifests/swift/proxy_storage.pp ++++ b/deployment/puppet/openstack_tasks/manifests/swift/proxy_storage.pp +@@ -30,7 +30,7 @@ class openstack_tasks::swift::proxy_storage { + $keystone_user = pick($swift_hash['user'], 'swift') + $keystone_password = pick($swift_hash['user_password'], 'passsword') + $keystone_tenant = pick($swift_hash['tenant'], 'services') +- $workers_max = hiera('workers_max', 16) ++ $workers_max = hiera('workers_max', $::os_workers) + $service_workers = pick($swift_hash['workers'], min(max($::processorcount, 2), $workers_max)) + $ssl_hash = hiera_hash('use_ssl', {}) + $rabbit_hash = hiera_hash('rabbit') +diff --git a/deployment/puppet/osnailyfacter/lib/facter/os_workers.rb b/deployment/puppet/osnailyfacter/lib/facter/os_workers.rb +new file mode 100644 +index 0000000..404fb90 +--- /dev/null ++++ b/deployment/puppet/osnailyfacter/lib/facter/os_workers.rb +@@ -0,0 +1,20 @@ ++# ++# We've found that using $::processorcount for workers/threads can lead to ++# unexpected memory or process counts for people deploying on baremetal or ++# if they have large number of cpus. This fact allows us to tweak the formula ++# used to determine number of workers in a single place but use it across all ++# modules. ++# ++# The value for os_workers is max between '(<# processors> / 4)' and '2' with ++# a cap of 8. ++# ++# This fact can be overloaded by an external fact from /etc/factor/facts.d if ++# a user would like to provide their own default value. ++# ++Facter.add(:os_workers) do ++ has_weight 100 ++ setcode do ++ processors = Facter.value('processorcount') ++ [ [ (processors.to_i / 4), 2 ].max, 8 ].min ++ end ++end +diff --git a/deployment/puppet/osnailyfacter/manifests/apache_mpm.pp b/deployment/puppet/osnailyfacter/manifests/apache_mpm.pp +index 9d0d4d5..9652064 100644 +--- a/deployment/puppet/osnailyfacter/manifests/apache_mpm.pp ++++ b/deployment/puppet/osnailyfacter/manifests/apache_mpm.pp +@@ -11,7 +11,7 @@ class osnailyfacter::apache_mpm { + if $::processorcount <= 2 { + $startservers = 2 + } else { +- $startservers = $::processorcount ++ $startservers = $::os_workers + } + + $maxrequestsperchild = 0 +diff --git a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp +index 854d297..89a55ff 100644 +--- a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp ++++ b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp +@@ -330,8 +330,8 @@ class osnailyfacter::globals::globals { + + # MySQL and SQLAlchemy backend configuration + $custom_mysql_setup_class = hiera('custom_mysql_setup_class', 'galera') +- $max_pool_size = hiera('max_pool_size', min($::processorcount * 5 + 0, 30 + 0)) +- $max_overflow = hiera('max_overflow', min($::processorcount * 5 + 0, 60 + 0)) ++ $max_pool_size = hiera('max_pool_size', min($::os_workers * 5 + 0, 30 + 0)) ++ $max_overflow = hiera('max_overflow', min($::os_workers * 5 + 0, 60 + 0)) + $max_retries = hiera('max_retries', '-1') + $idle_timeout = hiera('idle_timeout','3600') + $nova_db_password = $nova_hash['db_password'] +diff --git a/deployment/puppet/osnailyfacter/spec/classes/osnailyfacter_atop_spec.rb b/deployment/puppet/osnailyfacter/spec/classes/osnailyfacter_atop_spec.rb +index ed57325..1d27e87 100644 +--- a/deployment/puppet/osnailyfacter/spec/classes/osnailyfacter_atop_spec.rb ++++ b/deployment/puppet/osnailyfacter/spec/classes/osnailyfacter_atop_spec.rb +@@ -73,6 +73,7 @@ describe 'osnailyfacter::atop' do + :osfamily => 'Debian', + :operatingsystem => 'Debian', + :processorcount => 2, ++ :os_workers => 2, + :memorysize_mb => 4096, + } + end +@@ -86,6 +87,7 @@ describe 'osnailyfacter::atop' do + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :processorcount => 2, ++ :os_workers => 2, + :memorysize_mb => 4096, + } + end +diff --git a/tests/noop/spec/hosts/ironic/ironic-compute_spec.rb b/tests/noop/spec/hosts/ironic/ironic-compute_spec.rb +index 4712298..f7c7512 100644 +--- a/tests/noop/spec/hosts/ironic/ironic-compute_spec.rb ++++ b/tests/noop/spec/hosts/ironic/ironic-compute_spec.rb +@@ -122,11 +122,11 @@ describe manifest do + else + extra_params = '?charset=utf8' + end +- facts[:processorcount] = 10 +- max_overflow = Noop.hiera 'max_overflow', [facts[:processorcount] * 5 + 0, 60 + 0].min ++ facts[:os_workers] = 8 ++ max_overflow = Noop.hiera 'max_overflow', [facts[:os_workers] * 5 + 0, 60 + 0].min + idle_timeout = Noop.hiera 'idle_timeout', '3600' + max_retries = Noop.hiera 'max_retries', '-1' +- max_pool_size = Noop.hiera 'max_pool_size', [facts[:processorcount] * 5 + 0, 30 + 0].min ++ max_pool_size = Noop.hiera 'max_pool_size', [facts[:os_workers] * 5 + 0, 30 + 0].min + + should contain_class('nova').with( + :database_connection => "mysql://#{nova_db_user}:#{nova_db_password}@#{database_vip}/#{nova_db_name}#{extra_params}", +diff --git a/tests/noop/spec/hosts/keystone/keystone_spec.rb b/tests/noop/spec/hosts/keystone/keystone_spec.rb +index b29e691..c258104 100644 +--- a/tests/noop/spec/hosts/keystone/keystone_spec.rb ++++ b/tests/noop/spec/hosts/keystone/keystone_spec.rb +@@ -220,6 +220,7 @@ describe manifest do + + it 'should declare keystone::wsgi::apache class with 6 processes and 3 threads on 48 CPU system' do + facts[:processorcount] = 48 ++ facts[:os_workers] = 8 + should contain_class('keystone::wsgi::apache').with( + 'threads' => '3', + 'workers' => '6' +@@ -228,6 +229,7 @@ describe manifest do + + it 'should declare keystone::wsgi::apache class with 1 process and 3 threads on 1 CPU system' do + facts[:processorcount] = 1 ++ facts[:os_workers] = 2 + should contain_class('keystone::wsgi::apache').with( + 'threads' => '3', + 'workers' => '1' +diff --git a/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb b/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb +index f5f273b..efd2acb 100644 +--- a/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb ++++ b/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb +@@ -208,9 +208,9 @@ describe manifest do + end + + it 'should configure nova with the basics' do +- facts[:processorcount] = 10 +- max_pool_size = Noop.hiera 'max_pool_size', [facts[:processorcount] * 5 + 0, 30 + 0].min +- max_overflow = Noop.hiera 'max_overflow', [facts[:processorcount] * 5 + 0, 60 + 0].min ++ facts[:os_workers] = 10 ++ max_pool_size = Noop.hiera 'max_pool_size', [facts[:os_workers] * 5 + 0, 30 + 0].min ++ max_overflow = Noop.hiera 'max_overflow', [facts[:os_workers] * 5 + 0, 60 + 0].min + idle_timeout = Noop.hiera 'idle_timeout', '3600' + max_retries = Noop.hiera 'max_retries', '-1' + +diff --git a/tests/noop/spec/hosts/sahara/sahara_spec.rb b/tests/noop/spec/hosts/sahara/sahara_spec.rb +index 2d15c23..2d07680 100644 +--- a/tests/noop/spec/hosts/sahara/sahara_spec.rb ++++ b/tests/noop/spec/hosts/sahara/sahara_spec.rb +@@ -91,7 +91,7 @@ describe manifest do + enable = Noop.hiera_structure('sahara/enabled') + context 'if sahara is enabled', :if => enable do + it 'should declare sahara class correctly' do +- facts[:processorcount] = 10 ++ facts[:os_workers] = 8 + sahara_plugins = %w(ambari cdh mapr spark vanilla) + sahara_user = Noop.hiera_structure('sahara/user', 'sahara') + sahara_password = Noop.hiera_structure('sahara/user_password') +@@ -101,8 +101,8 @@ describe manifest do + db_name = Noop.hiera_structure('sahara/db_name', 'sahara') + db_password = Noop.hiera_structure('sahara/db_password') + db_host = Noop.hiera_structure('sahara/db_host', database_vip) +- max_pool_size =[facts[:processorcount] * 5 + 0, 30 + 0].min +- max_overflow = [facts[:processorcount] * 5 + 0, 60 + 0].min ++ max_pool_size =[facts[:os_workers] * 5 + 0, 30 + 0].min ++ max_overflow = [facts[:os_workers] * 5 + 0, 60 + 0].min + max_retries = '-1' + idle_timeout = '3600' + read_timeout = '60' +-- +1.7.9.5 + -- cgit 1.2.3-korg