summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-11-12 18:11:51 +0000
committerGerrit Code Review <review@openstack.org>2012-11-12 18:11:51 +0000
commit8bb97c97b99539b7d8b03e5abeff648a81da7794 (patch)
tree8d6ada9dd68e3d9a974b4191d1789a13f81d60f6 /nova/tests
parente3dfde7148a1b842804ff6f74655dfce6785bab7 (diff)
parenta51d60f2ba557926f982d7f6c735ed12e5deb5e9 (diff)
Merge "Move host aggregate operations to VirtAPI"
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_xenapi.py27
1 files changed, 24 insertions, 3 deletions
diff --git a/nova/tests/test_xenapi.py b/nova/tests/test_xenapi.py
index 7e08c5099..b8add8c24 100644
--- a/nova/tests/test_xenapi.py
+++ b/nova/tests/test_xenapi.py
@@ -897,7 +897,7 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
self.assertRaises(xenapi_fake.Failure, conn.reboot, instance,
None, "SOFT")
- def test_maintenance_mode(self):
+ def _test_maintenance_mode(self, find_host, find_aggregate):
real_call_xenapi = self.conn._session.call_xenapi
instance = self._create_instance(spawn=True)
api_calls = {}
@@ -911,9 +911,19 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
return real_call_xenapi(method, *args)
self.stubs.Set(self.conn._session, 'call_xenapi', fake_call_xenapi)
- # Always find the 'bar' destination host
+ def fake_aggregate_get(context, host, key):
+ if find_aggregate:
+ return [{'fake': 'aggregate'}]
+ else:
+ return []
+ self.stubs.Set(self.conn.virtapi, 'aggregate_get_by_host',
+ fake_aggregate_get)
+
def fake_host_find(context, session, src, dst):
- return 'bar'
+ if find_host:
+ return 'bar'
+ else:
+ raise exception.NoValidHost("I saw this one coming...")
self.stubs.Set(host, '_host_find', fake_host_find)
result = self.conn.host_maintenance_mode('bar', 'on_maintenance')
@@ -928,6 +938,17 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
self.assertTrue(instance['vm_state'], vm_states.ACTIVE)
self.assertTrue(instance['task_state'], task_states.MIGRATING)
+ def test_maintenance_mode(self):
+ self._test_maintenance_mode(True, True)
+
+ def test_maintenance_mode_no_host(self):
+ self.assertRaises(exception.NoValidHost,
+ self._test_maintenance_mode, False, True)
+
+ def test_maintenance_mode_no_aggregate(self):
+ self.assertRaises(exception.NotFound,
+ self._test_maintenance_mode, True, False)
+
def _create_instance(self, instance_id=1, spawn=True):
"""Creates and spawns a test instance."""
instance_values = {