Merge "Accept any scheduler driver entrypoint" into stable/ocata
This commit is contained in:
commit
ba8ecd9070
|
@ -57,27 +57,32 @@ uses. The options values are chosen from the entry points under the namespace
|
|||
"""),
|
||||
cfg.StrOpt("driver",
|
||||
default="filter_scheduler",
|
||||
choices=("filter_scheduler", "caching_scheduler",
|
||||
"chance_scheduler", "fake_scheduler"),
|
||||
deprecated_name="scheduler_driver",
|
||||
deprecated_group="DEFAULT",
|
||||
help="""
|
||||
The class of the driver used by the scheduler.
|
||||
The class of the driver used by the scheduler. This should be chosen from one
|
||||
of the entrypoints under the namespace 'nova.scheduler.driver' of file
|
||||
'setup.cfg'. If nothing is specified in this option, the 'filter_scheduler' is
|
||||
used.
|
||||
|
||||
The options are chosen from the entry points under the namespace
|
||||
'nova.scheduler.driver' in 'setup.cfg'.
|
||||
Other options are:
|
||||
|
||||
* 'caching_scheduler' which aggressively caches the system state for better
|
||||
individual scheduler performance at the risk of more retries when running
|
||||
multiple schedulers.
|
||||
* 'chance_scheduler' which simply picks a host at random.
|
||||
* 'fake_scheduler' which is used for testing.
|
||||
|
||||
Possible values:
|
||||
|
||||
* A string, where the string corresponds to the class name of a scheduler
|
||||
driver. There are a number of options available:
|
||||
** 'caching_scheduler', which aggressively caches the system state for better
|
||||
individual scheduler performance at the risk of more retries when running
|
||||
multiple schedulers
|
||||
** 'chance_scheduler', which simply picks a host at random
|
||||
** 'fake_scheduler', which is used for testing
|
||||
** A custom scheduler driver. In this case, you will be responsible for
|
||||
creating and maintaining the entry point in your 'setup.cfg' file
|
||||
* Any of the drivers included in Nova:
|
||||
** filter_scheduler
|
||||
** caching_scheduler
|
||||
** chance_scheduler
|
||||
** fake_scheduler
|
||||
* You may also set this to the entry point name of a custom scheduler driver,
|
||||
but you will be responsible for creating and maintaining it in your setup.cfg
|
||||
file.
|
||||
"""),
|
||||
cfg.IntOpt("periodic_task_interval",
|
||||
default=60,
|
||||
|
|
|
@ -18,7 +18,6 @@ Tests For Scheduler
|
|||
"""
|
||||
|
||||
import mock
|
||||
import testtools
|
||||
|
||||
from nova import context
|
||||
from nova import objects
|
||||
|
@ -69,8 +68,10 @@ class SchedulerManagerInitTestCase(test.NoDBTestCase):
|
|||
def test_init_nonexist_schedulerdriver(self,
|
||||
mock_init_agg,
|
||||
mock_init_inst):
|
||||
with testtools.ExpectedException(ValueError):
|
||||
self.flags(driver='nonexist_scheduler', group='scheduler')
|
||||
self.flags(driver='nonexist_scheduler', group='scheduler')
|
||||
# The entry point has to be defined in setup.cfg and nova-scheduler has
|
||||
# to be deployed again before using a custom value.
|
||||
self.assertRaises(RuntimeError, self.manager_cls)
|
||||
|
||||
|
||||
class SchedulerManagerTestCase(test.NoDBTestCase):
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
fixes:
|
||||
- Correctly allow the use of a custom scheduler driver by using the name of
|
||||
the custom driver entry point in the ``[scheduler]/driver`` config option.
|
||||
You must also update the entry point in ``setup.cfg``.
|
Loading…
Reference in New Issue