summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-08-21 16:49:22 +0000
committerGerrit Code Review <review@openstack.org>2012-08-21 16:49:22 +0000
commit96e72e7295909cbe2ddb835283f68168cef883c1 (patch)
treedeca06fb5ba6bda001145cb2687e14b157e4c51c
parent4e864a5f95621b3e62ebde0b6414dc21be10e9ba (diff)
parent3313cffde85a9f02d56f57b401c2aec5b91d6df8 (diff)
downloadnova-96e72e7295909cbe2ddb835283f68168cef883c1.tar.gz
nova-96e72e7295909cbe2ddb835283f68168cef883c1.tar.xz
nova-96e72e7295909cbe2ddb835283f68168cef883c1.zip
Merge "Remove stub_network flag"
-rw-r--r--etc/nova/nova.conf.sample3
-rw-r--r--nova/compute/manager.py16
-rw-r--r--nova/flags.py3
-rw-r--r--nova/tests/api/ec2/test_cinder_cloud.py6
-rw-r--r--nova/tests/api/ec2/test_cloud.py6
-rw-r--r--nova/tests/api/ec2/test_ec2_validate.py6
-rw-r--r--nova/tests/compute/test_compute.py9
-rw-r--r--nova/tests/compute/test_compute_utils.py3
-rw-r--r--nova/tests/fake_network.py30
-rw-r--r--nova/tests/integrated/test_servers.py20
-rw-r--r--nova/tests/test_notifications.py3
-rw-r--r--nova/tests/test_volume_utils.py4
12 files changed, 66 insertions, 43 deletions
diff --git a/etc/nova/nova.conf.sample b/etc/nova/nova.conf.sample
index 5fba9a816..32f33e557 100644
--- a/etc/nova/nova.conf.sample
+++ b/etc/nova/nova.conf.sample
@@ -312,9 +312,6 @@
#### (BoolOpt) Allow destination machine to match source for resize. Useful
#### when testing in single-host environments.
-# stub_network=false
-#### (BoolOpt) Stub network related code
-
# reclaim_instance_interval=0
#### (IntOpt) Interval in seconds for reclaiming deleted instances
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index e45c3333d..1991beb0f 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -422,11 +422,7 @@ class ComputeManager(manager.SchedulerDependentManager):
return self.driver.refresh_provider_fw_rules(**kwargs)
def _get_instance_nw_info(self, context, instance):
- """Get a list of dictionaries of network data of an instance.
- Returns an empty list if stub_network flag is set."""
- if FLAGS.stub_network:
- return network_model.NetworkInfo()
-
+ """Get a list of dictionaries of network data of an instance."""
# get the network info from network
network_info = self.network_api.get_instance_nw_info(context,
instance)
@@ -734,10 +730,6 @@ class ComputeManager(manager.SchedulerDependentManager):
def _allocate_network(self, context, instance, requested_networks):
"""Allocate networks for an instance and return the network info"""
- if FLAGS.stub_network:
- LOG.debug(_('Skipping network allocation for instance'),
- instance=instance)
- return network_model.NetworkInfo()
self._instance_update(context, instance['uuid'],
vm_state=vm_states.BUILDING,
task_state=task_states.NETWORKING)
@@ -804,10 +796,8 @@ class ComputeManager(manager.SchedulerDependentManager):
extra_usage_info=extra_usage_info, host=self.host)
def _deallocate_network(self, context, instance):
- if not FLAGS.stub_network:
- LOG.debug(_('Deallocating network for instance'),
- instance=instance)
- self.network_api.deallocate_for_instance(context, instance)
+ LOG.debug(_('Deallocating network for instance'), instance=instance)
+ self.network_api.deallocate_for_instance(context, instance)
def _get_instance_volume_bdms(self, context, instance_uuid):
bdms = self.db.block_device_mapping_get_all_by_instance(context,
diff --git a/nova/flags.py b/nova/flags.py
index fd2fcc955..316e35e0d 100644
--- a/nova/flags.py
+++ b/nova/flags.py
@@ -370,9 +370,6 @@ global_opts = [
default=False,
help='Allow destination machine to match source for resize. '
'Useful when testing in single-host environments.'),
- cfg.BoolOpt('stub_network',
- default=False,
- help='Stub network related code'),
cfg.IntOpt('reclaim_instance_interval',
default=0,
help='Interval in seconds for reclaiming deleted instances'),
diff --git a/nova/tests/api/ec2/test_cinder_cloud.py b/nova/tests/api/ec2/test_cinder_cloud.py
index ed05b7a94..9fc75416d 100644
--- a/nova/tests/api/ec2/test_cinder_cloud.py
+++ b/nova/tests/api/ec2/test_cinder_cloud.py
@@ -32,6 +32,7 @@ from nova import flags
from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova import test
+from nova.tests import fake_network
from nova.tests.image import fake
from nova import volume
@@ -85,8 +86,7 @@ class CinderCloudTestCase(test.TestCase):
vol_tmpdir = tempfile.mkdtemp()
self.flags(compute_driver='nova.virt.fake.FakeDriver',
volume_api_class='nova.tests.fake_volume.API',
- volumes_dir=vol_tmpdir,
- stub_network=True)
+ volumes_dir=vol_tmpdir)
def fake_show(meh, context, id):
return {'id': id,
@@ -111,6 +111,8 @@ class CinderCloudTestCase(test.TestCase):
pass
self.stubs.Set(compute_utils, 'notify_about_instance_usage', dumb)
+ fake_network.set_stub_network_methods(self.stubs)
+
# set up our cloud
self.cloud = cloud.CloudController()
self.flags(compute_scheduler_driver='nova.scheduler.'
diff --git a/nova/tests/api/ec2/test_cloud.py b/nova/tests/api/ec2/test_cloud.py
index b2d552f84..af78d823b 100644
--- a/nova/tests/api/ec2/test_cloud.py
+++ b/nova/tests/api/ec2/test_cloud.py
@@ -42,6 +42,7 @@ from nova.network import api as network_api
from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova import test
+from nova.tests import fake_network
from nova.tests.image import fake
from nova import utils
from nova.virt import fake as fake_virt
@@ -95,8 +96,7 @@ class CloudTestCase(test.TestCase):
super(CloudTestCase, self).setUp()
vol_tmpdir = tempfile.mkdtemp()
self.flags(compute_driver='nova.virt.fake.FakeDriver',
- volumes_dir=vol_tmpdir,
- stub_network=True)
+ volumes_dir=vol_tmpdir)
def fake_show(meh, context, id):
return {'id': id,
@@ -121,6 +121,8 @@ class CloudTestCase(test.TestCase):
pass
self.stubs.Set(compute_utils, 'notify_about_instance_usage', dumb)
+ fake_network.set_stub_network_methods(self.stubs)
+
# set up our cloud
self.cloud = cloud.CloudController()
self.flags(compute_scheduler_driver='nova.scheduler.'
diff --git a/nova/tests/api/ec2/test_ec2_validate.py b/nova/tests/api/ec2/test_ec2_validate.py
index f193f1a3c..9a14a7d7c 100644
--- a/nova/tests/api/ec2/test_ec2_validate.py
+++ b/nova/tests/api/ec2/test_ec2_validate.py
@@ -25,6 +25,7 @@ from nova import flags
from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova import test
+from nova.tests import fake_network
from nova.tests.image import fake
LOG = logging.getLogger(__name__)
@@ -34,13 +35,14 @@ FLAGS = flags.FLAGS
class EC2ValidateTestCase(test.TestCase):
def setUp(self):
super(EC2ValidateTestCase, self).setUp()
- self.flags(compute_driver='nova.virt.fake.FakeDriver',
- stub_network=True)
+ self.flags(compute_driver='nova.virt.fake.FakeDriver')
def dumb(*args, **kwargs):
pass
self.stubs.Set(compute_utils, 'notify_about_instance_usage', dumb)
+ fake_network.set_stub_network_methods(self.stubs)
+
# set up our cloud
self.cloud = cloud.CloudController()
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py
index dc2d43394..207fbf00f 100644
--- a/nova/tests/compute/test_compute.py
+++ b/nova/tests/compute/test_compute.py
@@ -51,7 +51,6 @@ from nova.openstack.common.rpc import common as rpc_common
from nova.openstack.common import timeutils
import nova.policy
from nova import quota
-from nova.scheduler import driver as scheduler_driver
from nova import test
from nova.tests.compute import fake_resource_tracker
from nova.tests.db.fakes import FakeModel
@@ -64,7 +63,6 @@ import nova.volume
QUOTAS = quota.QUOTAS
LOG = logging.getLogger(__name__)
FLAGS = flags.FLAGS
-flags.DECLARE('stub_network', 'nova.compute.manager')
flags.DECLARE('live_migration_retry_count', 'nova.compute.manager')
@@ -88,7 +86,6 @@ class BaseTestCase(test.TestCase):
def setUp(self):
super(BaseTestCase, self).setUp()
self.flags(compute_driver='nova.virt.fake.FakeDriver',
- stub_network=True,
notification_driver=['nova.openstack.common.notifier.test_notifier'],
network_manager='nova.network.manager.FlatManager')
self.compute = importutils.import_object(FLAGS.compute_manager)
@@ -118,6 +115,7 @@ class BaseTestCase(test.TestCase):
fake_rpcapi = FakeSchedulerAPI()
self.stubs.Set(self.compute, 'scheduler_rpcapi', fake_rpcapi)
+ fake_network.set_stub_network_methods(self.stubs)
def tearDown(self):
fake_image.FakeImageService_reset()
@@ -352,7 +350,8 @@ class ComputeTestCase(BaseTestCase):
filter_properties=filter_properties)
def test_default_access_ip(self):
- self.flags(default_access_ip_network_name='test1', stub_network=False)
+ self.flags(default_access_ip_network_name='test1')
+ fake_network.unset_stub_network_methods(self.stubs)
instance = jsonutils.to_primitive(self._create_fake_instance())
try:
@@ -1096,7 +1095,7 @@ class ComputeTestCase(BaseTestCase):
requested_networks=None,
vpn=False).AndRaise(rpc_common.RemoteError())
- self.flags(stub_network=False)
+ fake_network.unset_stub_network_methods(self.stubs)
self.mox.ReplayAll()
diff --git a/nova/tests/compute/test_compute_utils.py b/nova/tests/compute/test_compute_utils.py
index 7ae692bb6..001aca81c 100644
--- a/nova/tests/compute/test_compute_utils.py
+++ b/nova/tests/compute/test_compute_utils.py
@@ -37,7 +37,6 @@ from nova import utils
LOG = logging.getLogger(__name__)
FLAGS = flags.FLAGS
-flags.DECLARE('stub_network', 'nova.compute.manager')
class ComputeValidateDeviceTestCase(test.TestCase):
@@ -144,7 +143,6 @@ class UsageInfoTestCase(test.TestCase):
fake_get_nw_info)
self.flags(compute_driver='nova.virt.fake.FakeDriver',
- stub_network=True,
notification_driver=['nova.openstack.common.notifier.test_notifier'],
network_manager='nova.network.manager.FlatManager')
self.compute = importutils.import_object(FLAGS.compute_manager)
@@ -158,6 +156,7 @@ class UsageInfoTestCase(test.TestCase):
self.stubs.Set(nova.tests.image.fake._FakeImageService,
'show', fake_show)
+ fake_network.set_stub_network_methods(self.stubs)
def tearDown(self):
notifier_api._reset_drivers()
diff --git a/nova/tests/fake_network.py b/nova/tests/fake_network.py
index 476d7eab4..88e091f00 100644
--- a/nova/tests/fake_network.py
+++ b/nova/tests/fake_network.py
@@ -15,11 +15,13 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova.compute import manager as compute_manager
import nova.context
from nova import db
from nova import exception
from nova import flags
from nova.network import manager as network_manager
+from nova.network import model as network_model
from nova.network import nova_ipam_lib
from nova import utils
@@ -373,3 +375,31 @@ def stub_out_nw_api_get_instance_nw_info(stubs, func=None,
if func is None:
func = get_instance_nw_info
stubs.Set(nova.network.API, 'get_instance_nw_info', func)
+
+
+_real_functions = {}
+
+
+def set_stub_network_methods(stubs):
+ global _real_functions
+ cm = compute_manager.ComputeManager
+ if not _real_functions:
+ _real_functions = {
+ '_get_instance_nw_info': cm._get_instance_nw_info,
+ '_allocate_network': cm._allocate_network,
+ '_deallocate_network': cm._deallocate_network}
+
+ def fake_networkinfo(*args, **kwargs):
+ return network_model.NetworkInfo()
+
+ stubs.Set(cm, '_get_instance_nw_info', fake_networkinfo)
+ stubs.Set(cm, '_allocate_network', fake_networkinfo)
+ stubs.Set(cm, '_deallocate_network', lambda *args, **kwargs: None)
+
+
+def unset_stub_network_methods(stubs):
+ global _real_functions
+ if _real_functions:
+ cm = compute_manager.ComputeManager
+ for name in _real_functions:
+ stubs.Set(cm, name, _real_functions[name])
diff --git a/nova/tests/integrated/test_servers.py b/nova/tests/integrated/test_servers.py
index 49abd0011..0c9024a8a 100644
--- a/nova/tests/integrated/test_servers.py
+++ b/nova/tests/integrated/test_servers.py
@@ -19,6 +19,7 @@ import time
import unittest
from nova.openstack.common.log import logging
+from nova.tests import fake_network
from nova.tests.integrated.api import client
from nova.tests.integrated import integrated_helpers
import nova.virt.fake
@@ -51,7 +52,7 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
def test_create_server_with_error(self):
"""Create a server which will enter error state."""
- self.flags(stub_network=True)
+ fake_network.set_stub_network_methods(self.stubs)
def throw_error(*_):
raise Exception()
@@ -72,7 +73,7 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
def test_create_and_delete_server(self):
"""Creates and deletes a server."""
- self.flags(stub_network=True)
+ fake_network.set_stub_network_methods(self.stubs)
# Create server
# Build the server data gradually, checking errors along the way
@@ -137,7 +138,8 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
def test_deferred_delete(self):
"""Creates, deletes and waits for server to be reclaimed."""
- self.flags(stub_network=True, reclaim_instance_interval=1)
+ self.flags(reclaim_instance_interval=1)
+ fake_network.set_stub_network_methods(self.stubs)
# enforce periodic tasks run in short time to avoid wait for 60s.
self._restart_compute_service(
@@ -179,7 +181,8 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
def test_deferred_delete_restore(self):
"""Creates, deletes and restores a server."""
- self.flags(stub_network=True, reclaim_instance_interval=1)
+ self.flags(reclaim_instance_interval=1)
+ fake_network.set_stub_network_methods(self.stubs)
# Create server
server = self._build_minimal_create_server_request()
@@ -211,7 +214,8 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
def test_deferred_delete_force(self):
"""Creates, deletes and force deletes a server."""
- self.flags(stub_network=True, reclaim_instance_interval=1)
+ self.flags(reclaim_instance_interval=1)
+ fake_network.set_stub_network_methods(self.stubs)
# Create server
server = self._build_minimal_create_server_request()
@@ -267,7 +271,7 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
def test_create_server_with_metadata(self):
"""Creates a server with metadata."""
- self.flags(stub_network=True)
+ fake_network.set_stub_network_methods(self.stubs)
# Build the server data gradually, checking errors along the way
server = self._build_minimal_create_server_request()
@@ -309,7 +313,7 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
def test_create_and_rebuild_server(self):
"""Rebuild a server with metadata."""
- self.flags(stub_network=True)
+ fake_network.set_stub_network_methods(self.stubs)
# create a server with initially has no metadata
server = self._build_minimal_create_server_request()
@@ -376,7 +380,7 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
def test_rename_server(self):
"""Test building and renaming a server."""
- self.flags(stub_network=True)
+ fake_network.set_stub_network_methods(self.stubs)
# Create a server
server = self._build_minimal_create_server_request()
diff --git a/nova/tests/test_notifications.py b/nova/tests/test_notifications.py
index 4d2ae57e3..8f41f181e 100644
--- a/nova/tests/test_notifications.py
+++ b/nova/tests/test_notifications.py
@@ -35,7 +35,6 @@ from nova.tests import fake_network
LOG = logging.getLogger(__name__)
FLAGS = flags.FLAGS
-flags.DECLARE('stub_network', 'nova.compute.manager')
class NotificationsTestCase(test.TestCase):
@@ -52,9 +51,9 @@ class NotificationsTestCase(test.TestCase):
self.stubs.Set(nova.network.API, 'get_instance_nw_info',
fake_get_nw_info)
+ fake_network.set_stub_network_methods(self.stubs)
self.flags(compute_driver='nova.virt.fake.FakeDriver',
- stub_network=True,
notification_driver=['nova.openstack.common.notifier.test_notifier'],
network_manager='nova.network.manager.FlatManager',
notify_on_state_change="vm_and_task_state",
diff --git a/nova/tests/test_volume_utils.py b/nova/tests/test_volume_utils.py
index cd81e67f0..66b00d48f 100644
--- a/nova/tests/test_volume_utils.py
+++ b/nova/tests/test_volume_utils.py
@@ -25,6 +25,7 @@ from nova.openstack.common import log as logging
from nova.openstack.common.notifier import api as notifier_api
from nova.openstack.common.notifier import test_notifier
from nova import test
+from nova.tests import fake_network
from nova.volume import utils as volume_utils
@@ -37,10 +38,11 @@ class UsageInfoTestCase(test.TestCase):
def setUp(self):
super(UsageInfoTestCase, self).setUp()
self.flags(compute_driver='nova.virt.fake.FakeDriver',
- stub_network=True,
host='fake')
self.stubs.Set(flags.FLAGS, 'notification_driver',
['nova.openstack.common.notifier.test_notifier'])
+ fake_network.set_stub_network_methods(self.stubs)
+
self.volume = importutils.import_object(FLAGS.volume_manager)
self.user_id = 'fake'
self.project_id = 'fake'