From f5497e16e9e299f6a05663d44925ad2e2c0c0631 Mon Sep 17 00:00:00 2001 From: Rajesh Tailor Date: Fri, 15 May 2020 11:59:42 +0530 Subject: [PATCH] Add new parameter NovaSchedulerQueryPlacementForAvailabilityZone Add new parameter NovaSchedulerQueryPlacementForAvailabilityZone that allows the scheduler to look up a host aggregate with metadata key of availability zone set to the value provided by incoming request, and request result from placement be limited to that aggregate. Conflicts: deployment/nova/nova-scheduler-container-puppet.yaml Resolved conflicts occured due to missing change Ic6ef33d9c02be7e87c30626930f9e3d44cb77875 Depends-On: https://review.opendev.org/#/c/731153/ Change-Id: I7aba7e37ff3b919d98cdc64fd4d4eb30da68b0ec (cherry picked from commit 8d968a213a329a3d19d50b3f56bf5ba149a69619) (cherry picked from commit 66e029cc33574ec1e197a01dc27e6997e6685e23) (cherry picked from commit 273d53278b6f7189b6fd3173b225400cad1b0e60) --- deployment/nova/nova-scheduler-container-puppet.yaml | 9 +++++++++ ...placement_for_availability_zone-ffd415710a9cb903.yaml | 9 +++++++++ 2 files changed, 18 insertions(+) create mode 100644 releasenotes/notes/nova_scheduler_query_placement_for_availability_zone-ffd415710a9cb903.yaml diff --git a/deployment/nova/nova-scheduler-container-puppet.yaml b/deployment/nova/nova-scheduler-container-puppet.yaml index dd9deaa7f5..6ecbc6539e 100644 --- a/deployment/nova/nova-scheduler-container-puppet.yaml +++ b/deployment/nova/nova-scheduler-container-puppet.yaml @@ -91,6 +91,14 @@ parameters: 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 + NovaSchedulerQueryPlacementForAvailabilityZone: + default: false + description: > + This setting allows the scheduler to look up a host aggregate with metadata + key of availability zone set to the value provided by incoming request, and + request result from placement be limited to that aggregate. + type: boolean + conditions: nova_scheduler_workers_zero: {equals : [{get_param: NovaSchedulerWorkers}, 0]} @@ -136,6 +144,7 @@ outputs: 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} + nova::scheduler::query_placement_for_availability_zone: {get_param: NovaSchedulerQueryPlacementForAvailabilityZone} - if: - nova_scheduler_workers_zero diff --git a/releasenotes/notes/nova_scheduler_query_placement_for_availability_zone-ffd415710a9cb903.yaml b/releasenotes/notes/nova_scheduler_query_placement_for_availability_zone-ffd415710a9cb903.yaml new file mode 100644 index 0000000000..67a464ba83 --- /dev/null +++ b/releasenotes/notes/nova_scheduler_query_placement_for_availability_zone-ffd415710a9cb903.yaml @@ -0,0 +1,9 @@ +--- +features: + - | + Add boolean parameter `NovaSchedulerQueryPlacementForAvailabilityZone` + that sets `scheduler/query_placement_for_availability_zone` parameter. + It allows the scheduler to look up a host aggregate with metadata key + of availability zone set to the value provided by incoming request, and + request result from placement be limited to that aggregate. + Default value for NovaSchedulerQueryPlacementForAvailabilityZone is false.