From 1ad70e7899ec4c4196393dc733f640ff501e5a13 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Thu, 7 Dec 2017 22:22:44 -0500 Subject: [PATCH] Add NovaSchedulerMaxAttempts parameter Needed by the Undercloud installer. Defaults to 3 to match what we do in puppet-tripleo today for the Overcloud. Change-Id: Ib4ea5af26c39e466d0f4b7506a65f020620f2120 --- environments/undercloud.yaml | 1 + puppet/services/nova-scheduler.yaml | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/environments/undercloud.yaml b/environments/undercloud.yaml index d35a57d1a6..e03aaf0c80 100644 --- a/environments/undercloud.yaml +++ b/environments/undercloud.yaml @@ -15,6 +15,7 @@ parameter_defaults: NeutronDnsDomain: '' NovaSchedulerAvailableFilters: 'tripleo_common.filters.list.tripleo_filters' NovaSchedulerDefaultFilters: ['RetryFilter', 'TripleOCapabilitiesFilter', 'ComputeCapabilitiesFilter', 'AvailabilityZoneFilter', 'RamFilter', 'DiskFilter', 'ComputeFilter', 'ImagePropertiesFilter', 'ServerGroupAntiAffinityFilter', 'ServerGroupAffinityFilter'] + NovaSchedulerMaxAttempts: 30 NeutronDhcpAgentsPerNetwork: 2 HeatConvergenceEngine: false HeatMaxResourcesPerStack: -1 diff --git a/puppet/services/nova-scheduler.yaml b/puppet/services/nova-scheduler.yaml index 84b486ebb4..4a5cbe7656 100644 --- a/puppet/services/nova-scheduler.yaml +++ b/puppet/services/nova-scheduler.yaml @@ -41,6 +41,14 @@ parameters: An array of filters used by Nova to filter a node.These filters will be applied in the order they are listed, so place your most restrictive filters first to make the filtering process more efficient. + NovaSchedulerMaxAttempts: + type: number + default: 3 + description: > + Maximum number of attempts the scheduler will make when deploying the + instance. You should keep it greater or equal to the number of bare + metal nodes you expect to deploy at once to work around potential race + conditions when scheduling. MonitoringSubscriptionNovaScheduler: default: 'overcloud-nova-scheduler' type: string @@ -84,6 +92,7 @@ outputs: - nova::ram_allocation_ratio: '1.0' nova::scheduler::filter::scheduler_available_filters: {get_param: NovaSchedulerAvailableFilters} nova::scheduler::filter::scheduler_default_filters: {get_param: NovaSchedulerDefaultFilters} + nova::scheduler::filter::scheduler_max_attempts: {get_param: NovaSchedulerMaxAttempts} nova::scheduler::discover_hosts_in_cells_interval: {get_param: NovaSchedulerDiscoverHostsInCellsInterval} step_config: | include tripleo::profile::base::nova::scheduler