Merge "Add parameter `query_placement_for_routed_network_aggregates`"
This commit is contained in:
commit
31226b57da
|
@ -74,6 +74,11 @@
|
||||||
# aggregate.
|
# aggregate.
|
||||||
# Defaults to $::os_service_default
|
# Defaults to $::os_service_default
|
||||||
#
|
#
|
||||||
|
# [*query_placement_for_routed_network_aggregates*]
|
||||||
|
# (Optional) This setting allows to enable the scheduler to filter
|
||||||
|
# compute hosts affined to routed network segment aggregates.
|
||||||
|
# Defaults to $::os_service_default
|
||||||
|
#
|
||||||
# DEPRECATED PARAMETERS
|
# DEPRECATED PARAMETERS
|
||||||
#
|
#
|
||||||
# [*scheduler_driver*]
|
# [*scheduler_driver*]
|
||||||
|
@ -94,6 +99,7 @@ class nova::scheduler(
|
||||||
$max_placement_results = $::os_service_default,
|
$max_placement_results = $::os_service_default,
|
||||||
$enable_isolated_aggregate_filtering = $::os_service_default,
|
$enable_isolated_aggregate_filtering = $::os_service_default,
|
||||||
$query_placement_for_availability_zone = $::os_service_default,
|
$query_placement_for_availability_zone = $::os_service_default,
|
||||||
|
$query_placement_for_routed_network_aggregates = $::os_service_default,
|
||||||
# DEPRECATED PARAMETERS
|
# DEPRECATED PARAMETERS
|
||||||
$scheduler_driver = undef,
|
$scheduler_driver = undef,
|
||||||
) {
|
) {
|
||||||
|
@ -127,6 +133,7 @@ class nova::scheduler(
|
||||||
'scheduler/max_placement_results': value => $max_placement_results;
|
'scheduler/max_placement_results': value => $max_placement_results;
|
||||||
'scheduler/enable_isolated_aggregate_filtering': value => $enable_isolated_aggregate_filtering;
|
'scheduler/enable_isolated_aggregate_filtering': value => $enable_isolated_aggregate_filtering;
|
||||||
'scheduler/query_placement_for_availability_zone': value => $query_placement_for_availability_zone;
|
'scheduler/query_placement_for_availability_zone': value => $query_placement_for_availability_zone;
|
||||||
|
'scheduler/query_placement_for_routed_network_aggregates': value => $query_placement_for_routed_network_aggregates;
|
||||||
}
|
}
|
||||||
|
|
||||||
if $scheduler_driver != undef {
|
if $scheduler_driver != undef {
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Add parameter `query_placement_for_routed_network_aggregates` that allows
|
||||||
|
the scheduler to verify if the requested networks or the port are
|
||||||
|
related to Neutron `routed networks` _ with some specific segments to use.
|
||||||
|
In this case, the routed networks prefilter will require the related
|
||||||
|
aggregates to be reported in Placement, so only hosts within the asked
|
||||||
|
aggregates would be accepted.
|
||||||
|
In order to support this behaviour, operators need to set the
|
||||||
|
``[scheduler]/query_placement_for_routed_network_aggregates`` configuration
|
||||||
|
option which defaults to ``False``.
|
||||||
|
|
||||||
|
.. _`routed networks`: https://docs.openstack.org/neutron/latest/admin/config-routed-networks.html
|
|
@ -28,6 +28,7 @@ describe 'nova::scheduler' do
|
||||||
it { is_expected.to contain_nova_config('scheduler/max_placement_results').with_value('<SERVICE DEFAULT>') }
|
it { is_expected.to contain_nova_config('scheduler/max_placement_results').with_value('<SERVICE DEFAULT>') }
|
||||||
it { is_expected.to contain_nova_config('scheduler/enable_isolated_aggregate_filtering').with_value('<SERVICE DEFAULT>') }
|
it { is_expected.to contain_nova_config('scheduler/enable_isolated_aggregate_filtering').with_value('<SERVICE DEFAULT>') }
|
||||||
it { is_expected.to contain_nova_config('scheduler/query_placement_for_availability_zone').with_value('<SERVICE DEFAULT>') }
|
it { is_expected.to contain_nova_config('scheduler/query_placement_for_availability_zone').with_value('<SERVICE DEFAULT>') }
|
||||||
|
it { is_expected.to contain_nova_config('scheduler/query_placement_for_routed_network_aggregates').with_value('<SERVICE DEFAULT>') }
|
||||||
|
|
||||||
it { is_expected.to contain_class('nova::availability_zone') }
|
it { is_expected.to contain_class('nova::availability_zone') }
|
||||||
|
|
||||||
|
@ -138,6 +139,14 @@ describe 'nova::scheduler' do
|
||||||
it { is_expected.to contain_nova_config('scheduler/query_placement_for_availability_zone').with_value(true) }
|
it { is_expected.to contain_nova_config('scheduler/query_placement_for_availability_zone').with_value(true) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with query_placement_for_routed_network_aggregates' do
|
||||||
|
let :params do
|
||||||
|
{ :query_placement_for_routed_network_aggregates => true }
|
||||||
|
end
|
||||||
|
|
||||||
|
it { is_expected.to contain_nova_config('scheduler/query_placement_for_routed_network_aggregates').with_value(true) }
|
||||||
|
end
|
||||||
|
|
||||||
context 'with default database parameters' do
|
context 'with default database parameters' do
|
||||||
let :pre_condition do
|
let :pre_condition do
|
||||||
"include nova::db"
|
"include nova::db"
|
||||||
|
|
Loading…
Reference in New Issue