summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorDan Smith <danms@us.ibm.com>2013-01-11 09:57:49 -0800
committerDan Smith <danms@us.ibm.com>2013-01-12 09:55:48 -0500
commit3a59dcfa70f7bed55de595bff325f738d463bf4c (patch)
tree359fc3c071333f6333374eb273ad14793b78b77d /nova/tests
parentacbf4ea118bd65fe73d5c31275990bf4992e80f7 (diff)
Move migration_create() to conductor
This makes conductor able to create migrations and changes the uses of migration_create() from compute/resource_tracker.py to point at conductor. Related to blueprint no-db-compute Change-Id: Icd2288906fb03105b7a71f790353ae6d3dbaae62
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/compute/test_resource_tracker.py20
-rw-r--r--nova/tests/conductor/test_conductor.py26
2 files changed, 39 insertions, 7 deletions
diff --git a/nova/tests/compute/test_resource_tracker.py b/nova/tests/compute/test_resource_tracker.py
index f5d523ec1..3bfd51461 100644
--- a/nova/tests/compute/test_resource_tracker.py
+++ b/nova/tests/compute/test_resource_tracker.py
@@ -24,6 +24,7 @@ from nova.compute import task_states
from nova.compute import vm_states
from nova import context
from nova import db
+from nova.openstack.common import cfg
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova import test
@@ -35,6 +36,7 @@ LOG = logging.getLogger(__name__)
FAKE_VIRT_MEMORY_MB = 5
FAKE_VIRT_LOCAL_GB = 6
FAKE_VIRT_VCPUS = 1
+CONF = cfg.CONF
class UnsupportedVirtDriver(driver.ComputeDriver):
@@ -97,14 +99,21 @@ class BaseTestCase(test.TestCase):
self.context = context.get_admin_context()
+ self.flags(use_local=True, group='conductor')
+ self.conductor = self.start_service('conductor',
+ manager=CONF.conductor.manager)
+
self._instances = {}
self._instance_types = {}
- self.stubs.Set(db, 'instance_get_all_by_host_and_node',
+ self.stubs.Set(self.conductor.db,
+ 'instance_get_all_by_host_and_node',
self._fake_instance_get_all_by_host_and_node)
- self.stubs.Set(db, 'instance_update_and_get_original',
+ self.stubs.Set(self.conductor.db,
+ 'instance_update_and_get_original',
self._fake_instance_update_and_get_original)
- self.stubs.Set(db, 'instance_type_get', self._fake_instance_type_get)
+ self.stubs.Set(self.conductor.db,
+ 'instance_type_get', self._fake_instance_type_get)
self.host = 'fakehost'
@@ -622,7 +631,8 @@ class ResizeClaimTestCase(BaseTrackerTestCase):
def setUp(self):
super(ResizeClaimTestCase, self).setUp()
- self.stubs.Set(db, 'migration_create', self._fake_migration_create)
+ self.stubs.Set(self.conductor.db,
+ 'migration_create', self._fake_migration_create)
self.instance = self._fake_instance()
self.instance_type = self._fake_instance_type_create()
@@ -645,7 +655,7 @@ class ResizeClaimTestCase(BaseTrackerTestCase):
if values:
migration.update(values)
- self._migrations[instance_uuid] = migration
+ self._migrations[migration['instance_uuid']] = migration
return migration
def test_claim(self):
diff --git a/nova/tests/conductor/test_conductor.py b/nova/tests/conductor/test_conductor.py
index e3ef6072a..46fadf4f0 100644
--- a/nova/tests/conductor/test_conductor.py
+++ b/nova/tests/conductor/test_conductor.py
@@ -35,14 +35,21 @@ from nova import test
FAKE_IMAGE_REF = 'fake-image-ref'
+class FakeContext(context.RequestContext):
+ def elevated(self):
+ """Return a consistent elevated context so we can detect it."""
+ if not hasattr(self, '_elevated'):
+ self._elevated = super(FakeContext, self).elevated()
+ return self._elevated
+
+
class _BaseTestCase(object):
def setUp(self):
super(_BaseTestCase, self).setUp()
self.db = None
self.user_id = 'fake'
self.project_id = 'fake'
- self.context = context.RequestContext(self.user_id,
- self.project_id)
+ self.context = FakeContext(self.user_id, self.project_id)
def stub_out_client_exceptions(self):
def passthru(exceptions, func, *args, **kwargs):
@@ -123,6 +130,21 @@ class _BaseTestCase(object):
'fake-window',
'fake-host')
+ def test_migration_create(self):
+ inst = {'uuid': 'fake-uuid',
+ 'host': 'fake-host',
+ 'node': 'fake-node'}
+ self.mox.StubOutWithMock(db, 'migration_create')
+ db.migration_create(self.context.elevated(),
+ {'instance_uuid': inst['uuid'],
+ 'source_compute': inst['host'],
+ 'source_node': inst['node'],
+ 'fake-key': 'fake-value'}).AndReturn('result')
+ self.mox.ReplayAll()
+ result = self.conductor.migration_create(self.context, inst,
+ {'fake-key': 'fake-value'})
+ self.assertEqual(result, 'result')
+
def test_migration_update(self):
migration = db.migration_create(self.context.elevated(),
{'instance_uuid': 'fake-uuid',