Remove scheduler RPC API version 1.x

Like with the compute RPC API, we're unlikely to still work well with
RPC client using older 1.x version because of DB schema changes.

In that case, we may as well remove 1.x support in Folsom and rip out
the potentially buggy backwards compat code. This should also make
backporting fixes from Grizzly easier.

Deployers following trunk can upgrade all their nodes to use the version
2.0 API before deploying this commit.

Change-Id: Iee099751bda9637da5e134357d28e89d5fba9895
This commit is contained in:
Mark McLoughlin
2012-08-29 11:18:04 +01:00
parent 48f91f9a49
commit f56f7ddd8c
3 changed files with 5 additions and 45 deletions

View File

@@ -65,11 +65,6 @@ class MultiScheduler(driver.Scheduler):
'volume': volume_driver,
'default': default_driver}
def schedule(self, context, topic, method, *_args, **_kwargs):
driver = self.drivers.get(topic, self.drivers['default'])
return driver.schedule(context, topic,
method, *_args, **_kwargs)
def schedule_run_instance(self, *args, **kwargs):
return self.drivers['compute'].schedule_run_instance(*args, **kwargs)

View File

@@ -46,13 +46,15 @@ FLAGS.register_opts(simple_scheduler_opts)
class SimpleScheduler(chance.ChanceScheduler):
"""Implements Naive Scheduler that tries to find least loaded host."""
def schedule_run_instance(self, context, request_spec, reservations,
*_args, **_kwargs):
def schedule_run_instance(self, context, request_spec, admin_password,
injected_files, requested_networks,
is_first_time, filter_properties):
deprecated.warn(_('SimpleScheduler now only covers volume scheduling '
'and is deprecated in Folsom. Non-volume functionality in '
'SimpleScheduler has been replaced by FilterScheduler'))
super(SimpleScheduler, self).schedule_run_instance(context,
request_spec, reservations, *_args, **_kwargs)
request_spec, admin_password, injected_files,
requested_networks, is_first_time, filter_properties)
def schedule_create_volume(self, context, volume_id, snapshot_id,
reservations):

View File

@@ -35,9 +35,6 @@ class FakeComputeScheduler(driver.Scheduler):
def schedule_theoretical(self, *args, **kwargs):
pass
def schedule(self, *args, **kwargs):
pass
class FakeVolumeScheduler(driver.Scheduler):
is_fake_volume = True
@@ -46,9 +43,6 @@ class FakeVolumeScheduler(driver.Scheduler):
super(FakeVolumeScheduler, self).__init__()
self.is_update_caps_called = False
def schedule(self, *args, **kwargs):
pass
class FakeDefaultScheduler(driver.Scheduler):
is_fake_default = True
@@ -57,9 +51,6 @@ class FakeDefaultScheduler(driver.Scheduler):
super(FakeDefaultScheduler, self).__init__()
self.is_update_caps_called = False
def schedule(self, *args, **kwargs):
pass
class MultiDriverTestCase(test_scheduler.SchedulerTestCase):
"""Test case for multi driver"""
@@ -84,31 +75,6 @@ class MultiDriverTestCase(test_scheduler.SchedulerTestCase):
self.assertTrue(mgr.drivers['volume'].is_fake_volume)
self.assertTrue(mgr.drivers['default'].is_fake_default)
def test_schedule_fallback_proxy(self):
mgr = self._manager
self.mox.StubOutWithMock(mgr.drivers['compute'], 'schedule')
self.mox.StubOutWithMock(mgr.drivers['volume'], 'schedule')
self.mox.StubOutWithMock(mgr.drivers['default'], 'schedule')
ctxt = 'fake_context'
method = 'fake_method'
fake_args = (1, 2, 3)
fake_kwargs = {'fake_kwarg1': 'fake_value1',
'fake_kwarg2': 'fake_value2'}
mgr.drivers['compute'].schedule(ctxt, 'compute', method,
*fake_args, **fake_kwargs)
mgr.drivers['volume'].schedule(ctxt, 'volume', method,
*fake_args, **fake_kwargs)
mgr.drivers['default'].schedule(ctxt, 'random_topic', method,
*fake_args, **fake_kwargs)
self.mox.ReplayAll()
mgr.schedule(ctxt, 'compute', method, *fake_args, **fake_kwargs)
mgr.schedule(ctxt, 'volume', method, *fake_args, **fake_kwargs)
mgr.schedule(ctxt, 'random_topic', method, *fake_args, **fake_kwargs)
def test_update_service_capabilities(self):
def fake_update_service_capabilities(self, service, host, caps):
self.is_update_caps_called = True
@@ -159,6 +125,3 @@ class SimpleSchedulerTestCase(MultiDriverTestCase):
self.assertTrue(mgr.drivers['compute'].is_fake_compute)
self.assertTrue(mgr.drivers['volume'] is not None)
self.assertTrue(mgr.drivers['default'].is_fake_default)
def test_proxy_calls(self):
pass