summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Santa Barbara <justin@fathomdb.com>2011-03-24 04:02:31 -0700
committerJustin Santa Barbara <justin@fathomdb.com>2011-03-24 04:02:31 -0700
commitbebc9504bb34934147705512413267d1ae4af170 (patch)
tree159fa2dc3fd0b2226091679fa4dbbfde2951b3fa
parentd49219f8b6dd626b868b99bee8a22c4ac5495af1 (diff)
Fake out network service as well, otherwise we can't terminate the instance in test_servers now that we've started a compute service
-rw-r--r--nova/tests/integrated/integrated_helpers.py17
-rw-r--r--nova/tests/integrated/test_login.py1
-rw-r--r--nova/tests/integrated/test_servers.py7
-rw-r--r--nova/tests/integrated/test_volumes.py11
-rw-r--r--nova/virt/fake.py8
5 files changed, 32 insertions, 12 deletions
diff --git a/nova/tests/integrated/integrated_helpers.py b/nova/tests/integrated/integrated_helpers.py
index b520cc5d3..3b7caecd6 100644
--- a/nova/tests/integrated/integrated_helpers.py
+++ b/nova/tests/integrated/integrated_helpers.py
@@ -128,6 +128,7 @@ class IntegratedUnitTestContext(object):
self._start_compute_service()
self._start_volume_service()
self._start_scheduler_service()
+ self._start_network_service()
# WSGI shutdown broken :-(
# bug731668
@@ -140,6 +141,12 @@ class IntegratedUnitTestContext(object):
self.services.append(compute_service)
return compute_service
+ def _start_network_service(self):
+ network_service = service.Service.create(binary='nova-network')
+ network_service.start()
+ self.services.append(network_service)
+ return network_service
+
def _start_volume_service(self):
volume_service = service.Service.create(binary='nova-volume')
volume_service.start()
@@ -236,7 +243,8 @@ class _IntegratedTestBase(test.TestCase):
def setUp(self):
super(_IntegratedTestBase, self).setUp()
- self._setup_flags()
+ f = self._get_flags()
+ self.flags(**f)
context = IntegratedUnitTestContext.startup()
self.user = context.test_user
@@ -246,9 +254,12 @@ class _IntegratedTestBase(test.TestCase):
IntegratedUnitTestContext.shutdown()
super(_IntegratedTestBase, self).tearDown()
- def _setup_flags(self):
+ def _get_flags(self):
"""An opportunity to setup flags, before the services are started"""
- pass
+ f = {}
+ #f['network_driver'] = 'nova.network.fake.FakeNetworkDriver'
+ f['fake_network'] = True
+ return f
def _build_minimal_create_server_request(self):
server = {}
diff --git a/nova/tests/integrated/test_login.py b/nova/tests/integrated/test_login.py
index cc3d555d0..d6e067c29 100644
--- a/nova/tests/integrated/test_login.py
+++ b/nova/tests/integrated/test_login.py
@@ -18,7 +18,6 @@
import unittest
from nova import flags
-from nova import test
from nova.log import logging
from nova.tests.integrated import integrated_helpers
from nova.tests.integrated.api import client
diff --git a/nova/tests/integrated/test_servers.py b/nova/tests/integrated/test_servers.py
index 2b5d3324a..ed6522c38 100644
--- a/nova/tests/integrated/test_servers.py
+++ b/nova/tests/integrated/test_servers.py
@@ -19,7 +19,6 @@ import time
import unittest
from nova import flags
-from nova import test
from nova.log import logging
from nova.tests.integrated import integrated_helpers
from nova.tests.integrated.api import client
@@ -32,8 +31,10 @@ FLAGS.verbose = True
class ServersTest(integrated_helpers._IntegratedTestBase):
- def _setup_flags(self):
- self.flags(image_service='nova.image.fake.MockImageService')
+ def _get_flags(self):
+ f = super(ServersTest, self)._get_flags()
+ f['image_service'] = 'nova.image.fake.MockImageService'
+ return f
def test_get_servers(self):
"""Simple check that listing servers works."""
diff --git a/nova/tests/integrated/test_volumes.py b/nova/tests/integrated/test_volumes.py
index aa90301a5..701e9fe3c 100644
--- a/nova/tests/integrated/test_volumes.py
+++ b/nova/tests/integrated/test_volumes.py
@@ -19,7 +19,6 @@ import unittest
import time
from nova import flags
-from nova import test
from nova.log import logging
from nova.tests.integrated import integrated_helpers
from nova.tests.integrated.api import client
@@ -37,10 +36,12 @@ class VolumesTest(integrated_helpers._IntegratedTestBase):
super(VolumesTest, self).setUp()
driver.LoggingVolumeDriver.clear_logs()
- def _setup_flags(self):
- self.flags(image_service='nova.image.fake.MockImageService',
- volume_driver='nova.volume.driver.LoggingVolumeDriver')
- self.flags(use_local_volumes=False) # Avoids calling local_path
+ def _get_flags(self):
+ f = super(VolumesTest, self)._get_flags()
+ f['use_local_volumes'] = False # Avoids calling local_path
+ f['image_service'] = 'nova.image.fake.MockImageService'
+ f['volume_driver'] = 'nova.volume.driver.LoggingVolumeDriver'
+ return f
def test_get_volumes(self):
"""Simple check that listing volumes works"""
diff --git a/nova/virt/fake.py b/nova/virt/fake.py
index 3a06284a1..505ce0959 100644
--- a/nova/virt/fake.py
+++ b/nova/virt/fake.py
@@ -26,9 +26,13 @@ semantics of real hypervisor connections.
"""
from nova import exception
+from nova import log as logging
from nova.compute import power_state
+LOG = logging.getLogger('nova.compute.disk')
+
+
def get_connection(_):
# The read_only parameter is ignored.
return FakeConnection.instance()
@@ -244,6 +248,10 @@ class FakeConnection(object):
The work will be done asynchronously. This function returns a
task that allows the caller to detect when it is complete.
"""
+ key = instance.name
+ if not key in self.instances:
+ LOG.warning("Key '%s' not in instances '%s'" %
+ (key, self.instances))
del self.instances[instance.name]
def attach_volume(self, instance_name, device_path, mountpoint):