From f56f7ddd8cc0fa08f695b2a12cfd8f580b31e711 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Wed, 29 Aug 2012 11:18:04 +0100 Subject: [PATCH] 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 --- nova/scheduler/multi.py | 5 --- nova/scheduler/simple.py | 8 +++-- nova/tests/scheduler/test_multi_scheduler.py | 37 -------------------- 3 files changed, 5 insertions(+), 45 deletions(-) diff --git a/nova/scheduler/multi.py b/nova/scheduler/multi.py index 253c2fc3..c589d627 100644 --- a/nova/scheduler/multi.py +++ b/nova/scheduler/multi.py @@ -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) diff --git a/nova/scheduler/simple.py b/nova/scheduler/simple.py index 273bb2cf..78578dbd 100644 --- a/nova/scheduler/simple.py +++ b/nova/scheduler/simple.py @@ -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): diff --git a/nova/tests/scheduler/test_multi_scheduler.py b/nova/tests/scheduler/test_multi_scheduler.py index 8220fa60..04ab6767 100644 --- a/nova/tests/scheduler/test_multi_scheduler.py +++ b/nova/tests/scheduler/test_multi_scheduler.py @@ -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