Expost cpu_weight_mulitiplier config parameter

Add support for configuring the 'cpu_weight_multiplier'
scheduler filter option to provide resource stack/spread
policy for CPU.

NOTE: The related nova changes are done in change:
I90ee8a2081c2a0465441a8d81d161f4887b4e1fb

Change-Id: Ife0e92aad7eaf31817e509e9253c52dd2fb1f16b
This commit is contained in:
Rajesh Tailor 2018-05-22 12:20:10 +05:30
parent ac9739911e
commit c0569b53a7
3 changed files with 16 additions and 0 deletions

View File

@ -56,6 +56,12 @@
# with more or less available RAM are weighed.
# Defaults to $::os_service_default
#
# [*cpu_weight_multiplier*]
# (optional) CPU weight multilier ratio. This options determines how hosts
# with more or less available CPU cores are weighed. Negative numbers mean
# to stack vs spread.
# Defaults to $::os_service_default
#
# [*disk_weight_multiplier*]
# (optional) Disk weight multiplier ratio. Multiplier used for weighing free
# disk space. Negative numbers mean to stack vs spread.
@ -114,6 +120,7 @@ class nova::scheduler::filter (
$periodic_task_interval = $::os_service_default,
$track_instance_changes = $::os_service_default,
$ram_weight_multiplier = $::os_service_default,
$cpu_weight_multiplier = $::os_service_default,
$disk_weight_multiplier = $::os_service_default,
$io_ops_weight_multiplier = $::os_service_default,
$soft_affinity_weight_multiplier = $::os_service_default,
@ -197,6 +204,8 @@ no effect. Baremetal scheduling now uses custom resource classes.')
value => $isolated_hosts_real;
'filter_scheduler/ram_weight_multiplier':
value => $ram_weight_multiplier;
'filter_scheduler/cpu_weight_multiplier':
value => $cpu_weight_multiplier;
'filter_scheduler/disk_weight_multiplier':
value => $disk_weight_multiplier;
'filter_scheduler/io_ops_weight_multiplier':

View File

@ -0,0 +1,6 @@
---
features:
- |
Add support for configuring ``cpu_weight_multiplier`` config
option, which can be used to spread or stack workfloads on
hosts based on their vCPU usage.

View File

@ -21,6 +21,7 @@ describe 'nova::scheduler::filter' do
it { is_expected.to contain_nova_config('filter_scheduler/enabled_filters').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('filter_scheduler/track_instance_changes').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('filter_scheduler/ram_weight_multiplier').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('filter_scheduler/cpu_weight_multiplier').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('filter_scheduler/disk_weight_multiplier').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('filter_scheduler/io_ops_weight_multiplier').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('filter_scheduler/soft_affinity_weight_multiplier').with_value('<SERVICE DEFAULT>') }