diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-08-21 16:49:22 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-08-21 16:49:22 +0000 |
| commit | 96e72e7295909cbe2ddb835283f68168cef883c1 (patch) | |
| tree | deca06fb5ba6bda001145cb2687e14b157e4c51c | |
| parent | 4e864a5f95621b3e62ebde0b6414dc21be10e9ba (diff) | |
| parent | 3313cffde85a9f02d56f57b401c2aec5b91d6df8 (diff) | |
| download | nova-96e72e7295909cbe2ddb835283f68168cef883c1.tar.gz nova-96e72e7295909cbe2ddb835283f68168cef883c1.tar.xz nova-96e72e7295909cbe2ddb835283f68168cef883c1.zip | |
Merge "Remove stub_network flag"
| -rw-r--r-- | etc/nova/nova.conf.sample | 3 | ||||
| -rw-r--r-- | nova/compute/manager.py | 16 | ||||
| -rw-r--r-- | nova/flags.py | 3 | ||||
| -rw-r--r-- | nova/tests/api/ec2/test_cinder_cloud.py | 6 | ||||
| -rw-r--r-- | nova/tests/api/ec2/test_cloud.py | 6 | ||||
| -rw-r--r-- | nova/tests/api/ec2/test_ec2_validate.py | 6 | ||||
| -rw-r--r-- | nova/tests/compute/test_compute.py | 9 | ||||
| -rw-r--r-- | nova/tests/compute/test_compute_utils.py | 3 | ||||
| -rw-r--r-- | nova/tests/fake_network.py | 30 | ||||
| -rw-r--r-- | nova/tests/integrated/test_servers.py | 20 | ||||
| -rw-r--r-- | nova/tests/test_notifications.py | 3 | ||||
| -rw-r--r-- | nova/tests/test_volume_utils.py | 4 |
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' |
