summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorArmando Migliaccio <amigliaccio@internap.com>2012-05-17 01:54:53 +0100
committerArmando Migliaccio <amigliaccio@internap.com>2012-05-18 16:07:44 +0100
commit3ae69ebcc5febd79c6cfdb8e37ce34a2fe660655 (patch)
tree2338a2b35e9a98f043adb0274b40935978284d3c /nova/tests
parentb4a64da192b10f770646668252ae0a72694f2dd9 (diff)
Fix Multi_Scheduler to process host capabilities
To fix bug #1000403, make sure that each driver held by the Multi Scheduler gets called during update_service_capabilities. Change-Id: Iee8141f1a6dcfa24101640626d209d2d65776339
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/scheduler/test_multi_scheduler.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/nova/tests/scheduler/test_multi_scheduler.py b/nova/tests/scheduler/test_multi_scheduler.py
index 3d7220c2d..4faf94443 100644
--- a/nova/tests/scheduler/test_multi_scheduler.py
+++ b/nova/tests/scheduler/test_multi_scheduler.py
@@ -28,6 +28,10 @@ from nova.tests.scheduler import test_scheduler
class FakeComputeScheduler(driver.Scheduler):
is_fake_compute = True
+ def __init__(self):
+ super(FakeComputeScheduler, self).__init__()
+ self.is_update_caps_called = False
+
def schedule_theoretical(self, *args, **kwargs):
pass
@@ -38,6 +42,10 @@ class FakeComputeScheduler(driver.Scheduler):
class FakeVolumeScheduler(driver.Scheduler):
is_fake_volume = True
+ def __init__(self):
+ super(FakeVolumeScheduler, self).__init__()
+ self.is_update_caps_called = False
+
def schedule_create_volume(self, *args, **kwargs):
pass
@@ -103,3 +111,17 @@ class MultiDriverTestCase(test_scheduler.SchedulerTestCase):
self.mox.ReplayAll()
mgr.schedule(ctxt, 'compute', method, *fake_args, **fake_kwargs)
mgr.schedule(ctxt, 'volume', 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
+
+ mgr = self._manager
+ self.stubs.Set(driver.Scheduler,
+ 'update_service_capabilities',
+ fake_update_service_capabilities)
+ self.assertFalse(mgr.drivers['compute'].is_update_caps_called)
+ self.assertFalse(mgr.drivers['volume'].is_update_caps_called)
+ mgr.update_service_capabilities('foo_svc', 'foo_host', 'foo_caps')
+ self.assertTrue(mgr.drivers['compute'].is_update_caps_called)
+ self.assertTrue(mgr.drivers['volume'].is_update_caps_called)