# Copyright (c) 2010 OpenStack Foundation # Copyright 2010 United States Government as represented by the # Administrator of the National Aeronautics and Space Administration. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """ Chance and Simple Scheduler are DEPRECATED. Chance and Simple scheduler implementation have been deprecated, as their functionality can be implemented using the FilterScheduler, here's how: If one would like to have scheduler randomly picks available back-end (like ChanceScheduler did), use FilterScheduler with following combination of filters and weighers. scheduler_driver = cinder.scheduler.filter_scheduler.FilterScheduler scheduler_default_filters = ['AvailabilityZoneFilter', 'CapacityFilter', 'CapabilitiesFilter'] scheduler_default_weighers = 'ChanceWeigher' If one prefers the scheduler to pick up the back-end has most available space that scheduler can see (like SimpleScheduler did), use following combination of filters and weighers with FilterScheduler. scheduler_driver = cinder.scheduler.filter_scheduler.FilterScheduler scheduler_default_filters = ['AvailabilityZoneFilter', 'CapacityFilter', 'CapabilitiesFilter'] scheduler_default_weighers = 'AllocatedCapacityWeigher' allocated_capacity_weight_multiplier = -1.0 Setting/leaving configure option 'scheduler_driver=cinder.scheduler.chance.ChanceScheduler' or 'scheduler_driver=cinder.scheduler.simple.SimpleScheduler' in cinder.conf works exactly the same as described above since scheduler manager has been updated to do the trick internally/transparently for users. With that, FilterScheduler behaves mostly the same as Chance/SimpleScheduler, with additional benefits of supporting volume types, volume encryption, QoS. """ from oslo.config import cfg simple_scheduler_opts = [ cfg.IntOpt("max_gigabytes", default=10000, help="This configure option has been deprecated along with " "the SimpleScheduler. New scheduler is able to gather " "capacity information for each host, thus setting the " "maximum number of volume gigabytes for host is no " "longer needed. It's safe to remove this configure " "from cinder.conf."), ] CONF = cfg.CONF CONF.register_opts(simple_scheduler_opts)