Add some tunable parameters for nova-scheduler

Since placement service was introduced, there have been several
conditions where instances are not well distributed among multiple
compute nodes. For example with the default configurations if a user
creates multiple instances concurrently, these instances might be
packed into a single compute node because placement returns the same
results until any instance is actually launched at compute nodes.

This change introdices two tunable parameters about nova-scheduler
so that we can implement better distribution of nova instances in some
usecases.

Change-Id: Id488db4bd60b1c35704e24a0a85d61853bfd7038
This commit is contained in:
Takashi Kajinami 2021-01-18 21:01:02 +09:00
parent 0dbcbd18ad
commit 915bf046ee
2 changed files with 20 additions and 0 deletions

View File

@ -118,6 +118,16 @@ parameters:
aggregates to be reported in placement, so only hosts within the asked
aggregates would be accepted.
type: boolean
NovaSchedulerHostSubsetSize:
default: 1
description: >
Size of subset of best hosts selected by scheduler.
type: number
NovaSchedulerShuffleBestSameWeighedHosts:
default: false
description: >
Enable spreading the instances between hosts with the same best weight.
type: boolean
# DEPRECATED: the following options are deprecated and are currently maintained
# for backwards compatibility. They will be removed in future release.
NovaSchedulerDefaultFilters:
@ -206,6 +216,8 @@ outputs:
- {get_param: NovaSchedulerDefaultFilters}
- {get_param: NovaSchedulerEnabledFilters}
nova::scheduler::filter::scheduler_max_attempts: {get_param: NovaSchedulerMaxAttempts}
nova::scheduler::filter::scheduler_host_subset_size: {get_param: NovaSchedulerHostSubsetSize}
nova::scheduler::filter::shuffle_best_same_weighed_hosts: {get_param: NovaSchedulerShuffleBestSameWeighedHosts}
nova::scheduler::discover_hosts_in_cells_interval: {get_param: NovaSchedulerDiscoverHostsInCellsInterval}
nova::scheduler::query_placement_for_image_type_support: {get_param: NovaSchedulerQueryImageType}
nova::scheduler::limit_tenants_to_placement_aggregate: {get_param: NovaSchedulerLimitTenantsToPlacementAggregate}

View File

@ -0,0 +1,8 @@
---
features:
- |
Add the following parameters to tune the behavior of nova-scheduler to
achieve better distribution of instances.
- ``NovaSchedulerHostSubsetSize``
- ``NovaSchedulerShuffleBestSameWeighedHosts``