Add parameter for `scheduler/query_placement_for_image_type_support`

Add paramerer `query_placement_for_image_type_support` that controls
whether to add ask placement only for compute hosts that support the
``disk_format`` of the image used in the request.

Change-Id: I6d895a4789f44380565e3d2e3461d0bbb501c86b
This commit is contained in:
Piotr Kopec 2019-06-05 12:41:20 +02:00
parent 3e7cd134f8
commit 440fe0d318
3 changed files with 32 additions and 9 deletions

View File

@ -29,13 +29,20 @@
# attempt to discover new hosts that have been added to cells.
# Defaults to $::os_service_default
#
# [*query_placement_for_image_type_support*]
# (optional) This setting causes the scheduler to ask placement only for
# compute hosts that support the ``disk_format`` of the image used in the
# request.
# Defaults to $::os_service_default
#
class nova::scheduler(
$enabled = true,
$manage_service = true,
$ensure_package = 'present',
$workers = $::os_workers,
$scheduler_driver = 'filter_scheduler',
$discover_hosts_in_cells_interval = $::os_service_default,
$enabled = true,
$manage_service = true,
$ensure_package = 'present',
$workers = $::os_workers,
$scheduler_driver = 'filter_scheduler',
$discover_hosts_in_cells_interval = $::os_service_default,
$query_placement_for_image_type_support = $::os_service_default,
) {
include ::nova::deps
@ -52,9 +59,10 @@ class nova::scheduler(
}
nova_config {
'scheduler/workers': value => $workers;
'scheduler/driver': value => $scheduler_driver;
'scheduler/discover_hosts_in_cells_interval': value => $discover_hosts_in_cells_interval;
'scheduler/workers': value => $workers;
'scheduler/driver': value => $scheduler_driver;
'scheduler/discover_hosts_in_cells_interval': value => $discover_hosts_in_cells_interval;
'scheduler/query_placement_for_image_type_support': value => $query_placement_for_image_type_support;
}
}

View File

@ -0,0 +1,6 @@
---
features:
- |
Add parmeter `query_placement_for_image_type_support` that causes the
scheduler to ask placement only for compute hosts that support the
`disk_format` of the image used in the request.

View File

@ -22,6 +22,7 @@ describe 'nova::scheduler' do
it { is_expected.to contain_nova_config('scheduler/workers').with_value(4) }
it { is_expected.to contain_nova_config('scheduler/driver').with_value('filter_scheduler') }
it { is_expected.to contain_nova_config('scheduler/discover_hosts_in_cells_interval').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('scheduler/query_placement_for_image_type_support').with_value('<SERVICE DEFAULT>') }
context 'with manage_service as false' do
let :params do
@ -66,6 +67,14 @@ describe 'nova::scheduler' do
it { is_expected.to contain_nova_config('scheduler/discover_hosts_in_cells_interval').with_value(15) }
end
context 'with query_placement_for_image_type_support' do
let :params do
{ :query_placement_for_image_type_support => true }
end
it { is_expected.to contain_nova_config('scheduler/query_placement_for_image_type_support').with_value(true) }
end
context 'with default database parameters' do
let :pre_condition do
"include nova"