Add new parameter NovaSchedulerPlacementAggregateRequiredForTenants

Add new paramter NovaSchedulerPlacementAggregateRequiredForTenants
allows for configuring scheduler to enable tenant-isolation with
placement, which controls whether or not a tenant with no aggregate
affinity will be allowed to schedule to any available node.

Also included change [1] which fix the parameter name issue.
[1] I34005d28eae325197225918720da7aa0b8878510

Depends-On: https://review.opendev.org/#/c/731509/
Change-Id: Id61deee3ec2981b2caddd07b06bef0b701e40ac2
(cherry picked from commit 148185cada)
(cherry picked from commit f3aaeda76a)
This commit is contained in:
Rajesh Tailor 2020-03-24 15:12:40 +05:30
parent ba8d35f743
commit e92b21671f
2 changed files with 21 additions and 0 deletions

View File

@ -82,6 +82,15 @@ parameters:
hosts in tenant-isolated host aggregate and availability zones will
only be available to specific set of tenants.
type: boolean
NovaSchedulerPlacementAggregateRequiredForTenants:
default: false
description: >
This setting, when `NovaSchedulerLimitTenantsToPlacementAggregate` is true,
controls whether or not a tenant with no aggregate affinity will be allowed
to schedule to any available node.
If aggregates are used to limit some tenants but not all, then this should be
False. If all tenants should be confined via aggregate, then this should be True.
type: boolean
conditions:
nova_scheduler_workers_zero: {equals : [{get_param: NovaSchedulerWorkers}, 0]}
@ -126,6 +135,7 @@ outputs:
nova::scheduler::filter::scheduler_max_attempts: {get_param: NovaSchedulerMaxAttempts}
nova::scheduler::discover_hosts_in_cells_interval: {get_param: NovaSchedulerDiscoverHostsInCellsInterval}
nova::scheduler::limit_tenants_to_placement_aggregate: {get_param: NovaSchedulerLimitTenantsToPlacementAggregate}
nova::scheduler::placement_aggregate_required_for_tenants: {get_param: NovaSchedulerPlacementAggregateRequiredForTenants}
-
if:
- nova_scheduler_workers_zero

View File

@ -0,0 +1,11 @@
---
features:
- |
Add boolean parameter `NovaSchedulerPlacementAggregateRequiredForTenants`
which allows to set `scheduler/placement_aggregate_required_for_tenants`
parameter. It controls whether or not a tenant with no aggregate affinity
will be allowed to schedule to any available node.
If aggregates are used to limit some tenants but not all, then this should
be False. If all tenants should be confined via aggregate, then this
should be True.
Default value for NovaSchedulerPlacementAggregateRequiredForTenants is false.