From d1888a3359345acffd8d0845c137eefd88072112 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 3 Feb 2012 00:50:58 +0000 Subject: Remove the last of the gflags shim layer Make FLAGS a ConfigOpts instance and fix up all the places where we expected FlagValues behaviour. Change-Id: I8f96f42e0d8d30ba6b362d29861e717cf0fa9e89 --- .../compute/contrib/test_createserverext.py | 1 - .../compute/contrib/test_extendedstatus.py | 1 - .../api/openstack/compute/test_image_metadata.py | 2 +- nova/tests/baremetal/test_proxy_bare_metal.py | 6 +- nova/tests/declare_flags.py | 2 +- nova/tests/fake_flags.py | 32 +++--- nova/tests/runtime_flags.py | 2 +- nova/tests/test_compute.py | 2 +- nova/tests/test_consoleauth.py | 4 +- nova/tests/test_flags.py | 128 +++++---------------- nova/tests/test_instance_types.py | 2 +- nova/tests/test_libvirt.py | 5 +- nova/tests/test_service.py | 2 +- nova/tests/test_virt_drivers.py | 4 +- nova/tests/test_vsa.py | 7 +- 15 files changed, 62 insertions(+), 138 deletions(-) (limited to 'nova/tests') diff --git a/nova/tests/api/openstack/compute/contrib/test_createserverext.py b/nova/tests/api/openstack/compute/contrib/test_createserverext.py index 2393780a2..02c2f55b2 100644 --- a/nova/tests/api/openstack/compute/contrib/test_createserverext.py +++ b/nova/tests/api/openstack/compute/contrib/test_createserverext.py @@ -31,7 +31,6 @@ from nova.tests.api.openstack import fakes FLAGS = flags.FLAGS -FLAGS.verbose = True FAKE_UUID = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' diff --git a/nova/tests/api/openstack/compute/contrib/test_extendedstatus.py b/nova/tests/api/openstack/compute/contrib/test_extendedstatus.py index 2ac7d2f30..1edec954c 100644 --- a/nova/tests/api/openstack/compute/contrib/test_extendedstatus.py +++ b/nova/tests/api/openstack/compute/contrib/test_extendedstatus.py @@ -25,7 +25,6 @@ from nova.tests.api.openstack import fakes FLAGS = flags.FLAGS -FLAGS.verbose = True UUID1 = '70f6db34-de8d-4fbd-aafb-4065bdfa6114' diff --git a/nova/tests/api/openstack/compute/test_image_metadata.py b/nova/tests/api/openstack/compute/test_image_metadata.py index 62f047a2a..16d8e47b8 100644 --- a/nova/tests/api/openstack/compute/test_image_metadata.py +++ b/nova/tests/api/openstack/compute/test_image_metadata.py @@ -189,7 +189,7 @@ class ImageMetaDataTest(test.TestCase): self.controller.create, req, '123', data) def test_too_many_metadata_items_on_put(self): - FLAGS.quota_metadata_items = 1 + self.flags(quota_metadata_items=1) req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/blah') req.method = 'PUT' body = {"meta": {"blah": "blah"}} diff --git a/nova/tests/baremetal/test_proxy_bare_metal.py b/nova/tests/baremetal/test_proxy_bare_metal.py index ad41a85c3..580f89863 100644 --- a/nova/tests/baremetal/test_proxy_bare_metal.py +++ b/nova/tests/baremetal/test_proxy_bare_metal.py @@ -47,8 +47,8 @@ fake_domains = [{'status': 1, 'name': 'instance-00000001', class DomainReadWriteTestCase(test.TestCase): def setUp(self): - self.flags(baremetal_driver='fake') super(DomainReadWriteTestCase, self).setUp() + self.flags(baremetal_driver='fake') def test_read_domain_with_empty_list(self): """Read a file that contains no domains""" @@ -143,8 +143,8 @@ class DomainReadWriteTestCase(test.TestCase): class BareMetalDomTestCase(test.TestCase): def setUp(self): - self.flags(baremetal_driver='fake') super(BareMetalDomTestCase, self).setUp() + self.flags(baremetal_driver='fake') # Stub out utils.execute self.stubs = stubout.StubOutForTesting() fake_utils.stub_out_utils_execute(self.stubs) @@ -263,8 +263,8 @@ class ProxyBareMetalTestCase(test.TestCase): 'instance_type_id': '5'} # m1.small def setUp(self): - self.flags(baremetal_driver='fake') super(ProxyBareMetalTestCase, self).setUp() + self.flags(baremetal_driver='fake') self.context = context.get_admin_context() fake_utils.stub_out_utils_execute(self.stubs) diff --git a/nova/tests/declare_flags.py b/nova/tests/declare_flags.py index cb6726a7c..9e8fee123 100644 --- a/nova/tests/declare_flags.py +++ b/nova/tests/declare_flags.py @@ -20,4 +20,4 @@ from nova import flags from nova.openstack.common import cfg FLAGS = flags.FLAGS -FLAGS.add_option(cfg.IntOpt('answer', default=42, help='test flag')) +FLAGS.register_opt(cfg.IntOpt('answer', default=42, help='test flag')) diff --git a/nova/tests/fake_flags.py b/nova/tests/fake_flags.py index b95aa77d0..a067b41bb 100644 --- a/nova/tests/fake_flags.py +++ b/nova/tests/fake_flags.py @@ -21,25 +21,25 @@ from nova import flags FLAGS = flags.FLAGS flags.DECLARE('volume_driver', 'nova.volume.manager') -FLAGS['volume_driver'].SetDefault('nova.volume.driver.FakeISCSIDriver') -FLAGS['connection_type'].SetDefault('fake') -FLAGS['fake_rabbit'].SetDefault(True) -FLAGS['rpc_backend'].SetDefault('nova.rpc.impl_fake') +FLAGS.set_default('volume_driver', 'nova.volume.driver.FakeISCSIDriver') +FLAGS.set_default('connection_type', 'fake') +FLAGS.set_default('fake_rabbit', True) +FLAGS.set_default('rpc_backend', 'nova.rpc.impl_fake') flags.DECLARE('auth_driver', 'nova.auth.manager') -FLAGS['auth_driver'].SetDefault('nova.auth.dbdriver.DbDriver') +FLAGS.set_default('auth_driver', 'nova.auth.dbdriver.DbDriver') flags.DECLARE('network_size', 'nova.network.manager') flags.DECLARE('num_networks', 'nova.network.manager') flags.DECLARE('fake_network', 'nova.network.manager') -FLAGS['network_size'].SetDefault(8) -FLAGS['num_networks'].SetDefault(2) -FLAGS['fake_network'].SetDefault(True) -FLAGS['image_service'].SetDefault('nova.image.fake.FakeImageService') +FLAGS.set_default('network_size', 8) +FLAGS.set_default('num_networks', 2) +FLAGS.set_default('fake_network', True) +FLAGS.set_default('image_service', 'nova.image.fake.FakeImageService') flags.DECLARE('iscsi_num_targets', 'nova.volume.driver') -FLAGS['iscsi_num_targets'].SetDefault(8) -FLAGS['verbose'].SetDefault(True) -FLAGS['sqlite_db'].SetDefault("tests.sqlite") -FLAGS['use_ipv6'].SetDefault(True) -FLAGS['flat_network_bridge'].SetDefault('br100') -FLAGS['sqlite_synchronous'].SetDefault(False) +FLAGS.set_default('iscsi_num_targets', 8) +FLAGS.set_default('verbose', True) +FLAGS.set_default('sqlite_db', "tests.sqlite") +FLAGS.set_default('use_ipv6', True) +FLAGS.set_default('flat_network_bridge', 'br100') +FLAGS.set_default('sqlite_synchronous', False) flags.DECLARE('policy_file', 'nova.policy') -FLAGS['policy_file'].SetDefault('nova/tests/policy.json') +FLAGS.set_default('policy_file', 'nova/tests/policy.json') diff --git a/nova/tests/runtime_flags.py b/nova/tests/runtime_flags.py index 279d51162..7cc8c3219 100644 --- a/nova/tests/runtime_flags.py +++ b/nova/tests/runtime_flags.py @@ -20,4 +20,4 @@ from nova import flags from nova.openstack.common import cfg FLAGS = flags.FLAGS -FLAGS.add_option(cfg.IntOpt('runtime_answer', default=54, help='test flag')) +FLAGS.register_opt(cfg.IntOpt('runtime_answer', default=54, help='test flag')) diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py index 33861000d..98aaaf817 100644 --- a/nova/tests/test_compute.py +++ b/nova/tests/test_compute.py @@ -898,7 +898,7 @@ class ComputeTestCase(BaseTestCase): vpn=False).\ AndRaise(quantum_client.QuantumServerException()) - FLAGS.stub_network = False + self.flags(stub_network=False) self.mox.ReplayAll() diff --git a/nova/tests/test_consoleauth.py b/nova/tests/test_consoleauth.py index 41aefa7fd..951e00b33 100644 --- a/nova/tests/test_consoleauth.py +++ b/nova/tests/test_consoleauth.py @@ -42,16 +42,14 @@ class ConsoleauthTestCase(test.TestCase): super(ConsoleauthTestCase, self).setUp() self.manager = utils.import_object(FLAGS.consoleauth_manager) self.context = context.get_admin_context() - self.old_ttl = FLAGS.console_token_ttl def tearDown(self): super(ConsoleauthTestCase, self).tearDown() - FLAGS.console_token_ttl = self.old_ttl def test_tokens_expire(self): """Test that tokens expire correctly.""" token = 'mytok' - FLAGS.console_token_ttl = 1 + self.flags(console_token_ttl=1) self.manager.authorize_console(self.context, token, 'novnc', '127.0.0.1', 'host', '') self.assertTrue(self.manager.check_token(self.context, token)) diff --git a/nova/tests/test_flags.py b/nova/tests/test_flags.py index 48aa965a9..46acd77d2 100644 --- a/nova/tests/test_flags.py +++ b/nova/tests/test_flags.py @@ -17,7 +17,6 @@ # License for the specific language governing permissions and limitations # under the License. -import exceptions import os import tempfile @@ -26,88 +25,18 @@ from nova.openstack.common import cfg from nova import test FLAGS = flags.FLAGS -FLAGS.add_option(cfg.StrOpt('flags_unittest', - default='foo', - help='for testing purposes only')) - -test_opts = [ - cfg.StrOpt('string', default='default', help='desc'), - cfg.IntOpt('int', default=1, help='desc'), - cfg.BoolOpt('false', default=False, help='desc'), - cfg.BoolOpt('true', default=True, help='desc'), - ] - -float_opt = cfg.FloatOpt('float', default=6.66, help='desc') -multistr_opt = cfg.MultiStrOpt('multi', default=['blaa'], help='desc') -list_opt = cfg.ListOpt('list', default=['foo'], help='desc') +FLAGS.register_opt(cfg.StrOpt('flags_unittest', + default='foo', + help='for testing purposes only')) class FlagsTestCase(test.TestCase): def setUp(self): super(FlagsTestCase, self).setUp() - self.FLAGS = flags.FlagValues() + self.FLAGS = flags.NovaConfigOpts() self.global_FLAGS = flags.FLAGS - def test_define(self): - self.FLAGS.add_cli_options(test_opts) - - self.assert_(self.FLAGS['string']) - self.assert_(self.FLAGS['int']) - self.assert_(self.FLAGS['false']) - self.assert_(self.FLAGS['true']) - self.assertEqual(self.FLAGS.string, 'default') - self.assertEqual(self.FLAGS.int, 1) - self.assertEqual(self.FLAGS.false, False) - self.assertEqual(self.FLAGS.true, True) - - argv = ['flags_test', - '--string', 'foo', - '--int', '2', - '--false', - '--notrue'] - - self.FLAGS(argv) - self.assertEqual(self.FLAGS.string, 'foo') - self.assertEqual(self.FLAGS.int, 2) - self.assertEqual(self.FLAGS.false, True) - self.assertEqual(self.FLAGS.true, False) - - def test_define_float(self): - self.FLAGS.add_cli_options(test_opts) - self.FLAGS.add_option(float_opt) - self.assertEqual(self.FLAGS.float, 6.66) - - def test_define_multistring(self): - self.FLAGS.add_cli_option(multistr_opt) - - self.assert_(self.FLAGS['multi']) - self.assertEqual(self.FLAGS.multi, ['blaa']) - - argv = ['flags_test', '--multi', 'foo', '--multi', 'bar'] - self.FLAGS(argv) - - self.assertEqual(self.FLAGS.multi, ['foo', 'bar']) - - def test_define_list(self): - self.FLAGS.add_cli_option(list_opt) - - self.assert_(self.FLAGS['list']) - self.assertEqual(self.FLAGS.list, ['foo']) - - argv = ['flags_test', '--list=a,b,c,d'] - self.FLAGS(argv) - - self.assertEqual(self.FLAGS.list, ['a', 'b', 'c', 'd']) - - def test_error(self): - self.FLAGS.add_cli_option(float_opt) - - self.assertEqual(self.FLAGS.float, 6.66) - - argv = ['flags_test', '--float=foo'] - self.assertRaises(exceptions.SystemExit, self.FLAGS, argv) - def test_declare(self): self.assert_('answer' not in self.global_FLAGS) flags.DECLARE('answer', 'nova.tests.declare_flags') @@ -115,7 +44,7 @@ class FlagsTestCase(test.TestCase): self.assertEqual(self.global_FLAGS.answer, 42) # Make sure we don't overwrite anything - self.global_FLAGS.answer = 256 + self.global_FLAGS.set_override('answer', 256) self.assertEqual(self.global_FLAGS.answer, 256) flags.DECLARE('answer', 'nova.tests.declare_flags') self.assertEqual(self.global_FLAGS.answer, 256) @@ -135,48 +64,51 @@ class FlagsTestCase(test.TestCase): self.assertEqual(self.global_FLAGS.runtime_answer, 54) def test_long_vs_short_flags(self): - self.global_FLAGS.Reset() - self.global_FLAGS.add_cli_option(cfg.StrOpt('duplicate_answer_long', - default='val', - help='desc')) + self.global_FLAGS.reset() + self.global_FLAGS.register_cli_opt(cfg.StrOpt('duplicate_answer_long', + default='val', + help='desc')) argv = ['flags_test', '--duplicate_answer=60', 'extra_arg'] args = self.global_FLAGS(argv) self.assert_('duplicate_answer' not in self.global_FLAGS) self.assert_(self.global_FLAGS.duplicate_answer_long, 60) - self.global_FLAGS.Reset() - self.global_FLAGS.add_cli_option(cfg.IntOpt('duplicate_answer', - default=60, - help='desc')) + self.global_FLAGS.reset() + self.global_FLAGS.register_cli_opt(cfg.IntOpt('duplicate_answer', + default=60, + help='desc')) args = self.global_FLAGS(argv) self.assertEqual(self.global_FLAGS.duplicate_answer, 60) self.assertEqual(self.global_FLAGS.duplicate_answer_long, 'val') def test_flag_leak_left(self): self.assertEqual(FLAGS.flags_unittest, 'foo') - FLAGS.flags_unittest = 'bar' + self.flags(flags_unittest='bar') self.assertEqual(FLAGS.flags_unittest, 'bar') def test_flag_leak_right(self): self.assertEqual(FLAGS.flags_unittest, 'foo') - FLAGS.flags_unittest = 'bar' + self.flags(flags_unittest='bar') self.assertEqual(FLAGS.flags_unittest, 'bar') def test_flag_overrides(self): self.assertEqual(FLAGS.flags_unittest, 'foo') self.flags(flags_unittest='bar') self.assertEqual(FLAGS.flags_unittest, 'bar') - self.assertEqual(FLAGS['flags_unittest'].value, 'bar') - self.assertEqual(FLAGS.FlagValuesDict()['flags_unittest'], 'bar') self.reset_flags() self.assertEqual(FLAGS.flags_unittest, 'foo') - self.assertEqual(FLAGS['flags_unittest'].value, 'foo') - self.assertEqual(FLAGS.FlagValuesDict()['flags_unittest'], 'foo') def test_flagfile(self): - self.FLAGS.add_options(test_opts) - self.FLAGS.add_option(multistr_opt) + opts = [ + cfg.StrOpt('string', default='default', help='desc'), + cfg.IntOpt('int', default=1, help='desc'), + cfg.BoolOpt('false', default=False, help='desc'), + cfg.BoolOpt('true', default=True, help='desc'), + cfg.MultiStrOpt('multi', default=['blaa'], help='desc'), + ] + + self.FLAGS.register_opts(opts) (fd, path) = tempfile.mkstemp(prefix='nova', suffix='.flags') @@ -200,15 +132,15 @@ class FlagsTestCase(test.TestCase): os.remove(path) def test_defaults(self): - self.FLAGS.add_option(cfg.StrOpt('foo', default='bar', help='desc')) + self.FLAGS.register_opt(cfg.StrOpt('foo', default='bar', help='desc')) self.assertEqual(self.FLAGS.foo, 'bar') - self.FLAGS['foo'].SetDefault('blaa') + self.FLAGS.set_default('foo', 'blaa') self.assertEqual(self.FLAGS.foo, 'blaa') def test_templated_values(self): - self.FLAGS.add_option(cfg.StrOpt('foo', default='foo', help='desc')) - self.FLAGS.add_option(cfg.StrOpt('bar', default='bar', help='desc')) - self.FLAGS.add_option(cfg.StrOpt('blaa', - default='$foo$bar', help='desc')) + self.FLAGS.register_opt(cfg.StrOpt('foo', default='foo', help='desc')) + self.FLAGS.register_opt(cfg.StrOpt('bar', default='bar', help='desc')) + self.FLAGS.register_opt(cfg.StrOpt('blaa', + default='$foo$bar', help='desc')) self.assertEqual(self.FLAGS.blaa, 'foobar') diff --git a/nova/tests/test_instance_types.py b/nova/tests/test_instance_types.py index 29b812a2b..cf2972dac 100644 --- a/nova/tests/test_instance_types.py +++ b/nova/tests/test_instance_types.py @@ -173,7 +173,7 @@ class InstanceTypeTestCase(test.TestCase): def test_will_not_get_bad_default_instance_type(self): """ensures error raised on bad default instance type""" - FLAGS.default_instance_type = 'unknown_flavor' + self.flags(default_instance_type='unknown_flavor') self.assertRaises(exception.ApiError, instance_types.get_default_instance_type) diff --git a/nova/tests/test_libvirt.py b/nova/tests/test_libvirt.py index 4ce882992..2d50344d6 100644 --- a/nova/tests/test_libvirt.py +++ b/nova/tests/test_libvirt.py @@ -939,8 +939,7 @@ class LibvirtConnTestCase(test.TestCase): """Confirms pre_block_migration works correctly.""" # Replace instances_path since this testcase creates tmpfile tmpdir = tempfile.mkdtemp() - store = FLAGS.instances_path - FLAGS.instances_path = tmpdir + self.flags(instances_path=tmpdir) # Test data instance_ref = db.instance_create(self.context, self.test_instance) @@ -960,8 +959,6 @@ class LibvirtConnTestCase(test.TestCase): shutil.rmtree(tmpdir) db.instance_destroy(self.context, instance_ref['id']) - # Restore FLAGS.instances_path - FLAGS.instances_path = store @test.skip_if(missing_libvirt(), "Test requires libvirt") def test_get_instance_disk_info_works_correctly(self): diff --git a/nova/tests/test_service.py b/nova/tests/test_service.py index edede55b3..0fd79f42a 100644 --- a/nova/tests/test_service.py +++ b/nova/tests/test_service.py @@ -45,7 +45,7 @@ test_service_opts = [ help="Port number to bind test service to"), ] -flags.FLAGS.add_options(test_service_opts) +flags.FLAGS.register_opts(test_service_opts) class FakeManager(manager.Manager): diff --git a/nova/tests/test_virt_drivers.py b/nova/tests/test_virt_drivers.py index 58d295a6f..4603de1e1 100644 --- a/nova/tests/test_virt_drivers.py +++ b/nova/tests/test_virt_drivers.py @@ -442,9 +442,9 @@ class LibvirtConnTestCase(_VirtDriverTestCase): # Point _VirtDriverTestCase at the right module self.driver_module = nova.virt.libvirt.connection - FLAGS.firewall_driver = nova.virt.libvirt.firewall.drivers[0] super(LibvirtConnTestCase, self).setUp() - self.flags(rescue_image_id="2", + self.flags(firewall_driver=nova.virt.libvirt.firewall.drivers[0], + rescue_image_id="2", rescue_kernel_id="3", rescue_ramdisk_id=None) diff --git a/nova/tests/test_vsa.py b/nova/tests/test_vsa.py index 132874616..0c08594ec 100644 --- a/nova/tests/test_vsa.py +++ b/nova/tests/test_vsa.py @@ -40,8 +40,7 @@ class VsaTestCase(test.TestCase): self.stubs = stubout.StubOutForTesting() self.vsa_api = vsa.API() - FLAGS.quota_volumes = 100 - FLAGS.quota_gigabytes = 10000 + self.flags(quota_volumes=100, quota_gigabytes=10000) self.context = context.get_admin_context() @@ -119,7 +118,7 @@ class VsaTestCase(test.TestCase): def test_vsa_create_with_storage(self, multi_vol_creation=True): """Test creation of VSA with BE storage""" - FLAGS.vsa_multi_vol_creation = multi_vol_creation + self.flags(vsa_multi_vol_creation=multi_vol_creation) param = {'storage': [{'drive_name': 'SATA_500_7200', 'num_drives': 3}]} @@ -152,7 +151,7 @@ class VsaTestCase(test.TestCase): def test_vsa_generate_user_data(self): - FLAGS.vsa_multi_vol_creation = False + self.flags(vsa_multi_vol_creation=False) param = {'display_name': 'VSA name test', 'display_description': 'VSA desc test', 'vc_count': 2, -- cgit