From cb5f513c3a783becdeb72cfd7d5e2b06533649c6 Mon Sep 17 00:00:00 2001 From: "John L. Villalovos" Date: Mon, 5 Feb 2018 20:45:04 -0800 Subject: [PATCH] cleanup: Remove usage of some_dict.keys() There is usually no need to use some_dict.keys(). Cleanup the code by removing this unneeded usage of keys() Change-Id: I755de2e610ecad568c2265e10bd0a6ff1275888c --- ironic/api/controllers/v1/utils.py | 2 +- ironic/common/driver_factory.py | 2 +- ironic/common/glance_service/service_utils.py | 2 +- ironic/drivers/modules/drac/management.py | 2 +- ironic/drivers/modules/ilo/management.py | 2 +- ironic/tests/unit/api/controllers/v1/test_node.py | 4 ++-- ironic/tests/unit/api/controllers/v1/test_port.py | 8 ++++---- .../tests/unit/api/controllers/v1/test_portgroup.py | 12 ++++++------ .../unit/api/controllers/v1/test_volume_connector.py | 8 ++++---- .../unit/api/controllers/v1/test_volume_target.py | 8 ++++---- ironic/tests/unit/api/test_root.py | 2 +- ironic/tests/unit/conductor/test_manager.py | 4 ++-- .../tests/unit/drivers/modules/test_deploy_utils.py | 2 +- ironic/tests/unit/drivers/modules/test_ipmitool.py | 4 ++-- ironic/tests/unit/drivers/test_fake.py | 2 +- ironic/tests/unit/drivers/test_generic.py | 2 +- ironic/tests/unit/objects/test_objects.py | 4 ++-- 17 files changed, 35 insertions(+), 35 deletions(-) diff --git a/ironic/api/controllers/v1/utils.py b/ironic/api/controllers/v1/utils.py index cc5ba12208..ebb150f92b 100644 --- a/ironic/api/controllers/v1/utils.py +++ b/ironic/api/controllers/v1/utils.py @@ -662,7 +662,7 @@ def get_controller_reserved_names(cls): if isinstance(member, rest.RestController)] if hasattr(cls, '_custom_actions'): - reserved_names += cls._custom_actions.keys() + reserved_names += list(cls._custom_actions) return reserved_names diff --git a/ironic/common/driver_factory.py b/ironic/common/driver_factory.py index a51e7bc54a..76a61f8d36 100644 --- a/ironic/common/driver_factory.py +++ b/ironic/common/driver_factory.py @@ -245,7 +245,7 @@ def check_and_update_node_interfaces(node, driver_or_hw_type=None): hardware_type.AbstractHardwareType) if is_hardware_type: - factories = _INTERFACE_LOADERS.keys() + factories = list(_INTERFACE_LOADERS) else: # Only network and storage interfaces are dynamic for classic drivers factories = ['network', 'storage'] diff --git a/ironic/common/glance_service/service_utils.py b/ironic/common/glance_service/service_utils.py index f8c3303214..6738eed1ce 100644 --- a/ironic/common/glance_service/service_utils.py +++ b/ironic/common/glance_service/service_utils.py @@ -59,7 +59,7 @@ def _extract_attributes(image): output[attr] = getattr(image, attr, None) output['schema'] = image['schema'] - for image_property in set(image.keys()) - set(IMAGE_ATTRIBUTES): + for image_property in set(image) - set(IMAGE_ATTRIBUTES): output['properties'][image_property] = image[image_property] return output diff --git a/ironic/drivers/modules/drac/management.py b/ironic/drivers/modules/drac/management.py index fe65bffeb1..7b0a94def5 100644 --- a/ironic/drivers/modules/drac/management.py +++ b/ironic/drivers/modules/drac/management.py @@ -150,7 +150,7 @@ class DracManagement(base.ManagementInterface): in :mod:`ironic.common.boot_devices`. """ - return list(_BOOT_DEVICES_MAP.keys()) + return list(_BOOT_DEVICES_MAP) @METRICS.timer('DracManagement.get_boot_device') def get_boot_device(self, task): diff --git a/ironic/drivers/modules/ilo/management.py b/ironic/drivers/modules/ilo/management.py index d949333637..f4d30ea2f5 100644 --- a/ironic/drivers/modules/ilo/management.py +++ b/ironic/drivers/modules/ilo/management.py @@ -126,7 +126,7 @@ class IloManagement(base.ManagementInterface): in :mod:`ironic.common.boot_devices`. """ - return list(BOOT_DEVICE_MAPPING_TO_ILO.keys()) + return list(BOOT_DEVICE_MAPPING_TO_ILO) @METRICS.timer('IloManagement.get_boot_device') def get_boot_device(self, task): diff --git a/ironic/tests/unit/api/controllers/v1/test_node.py b/ironic/tests/unit/api/controllers/v1/test_node.py index 2b21028176..7d30fc33a8 100644 --- a/ironic/tests/unit/api/controllers/v1/test_node.py +++ b/ironic/tests/unit/api/controllers/v1/test_node.py @@ -679,14 +679,14 @@ class TestListNodes(test_api_base.BaseApiTest): data = self.get_json( '/nodes/%s' % node.uuid, headers={'X-OpenStack-Ironic-API-Version': '1.24'}) - self.assertIn('portgroups', data.keys()) + self.assertIn('portgroups', data) def test_portgroups_subresource_link_hidden_for_older_versions(self): node = obj_utils.create_test_node(self.context) data = self.get_json( '/nodes/%s' % node.uuid, headers={'X-OpenStack-Ironic-API-Version': '1.20'}) - self.assertNotIn('portgroups', data.keys()) + self.assertNotIn('portgroups', data) def test_portgroups_subresource_old_api_version(self): node = obj_utils.create_test_node(self.context) diff --git a/ironic/tests/unit/api/controllers/v1/test_port.py b/ironic/tests/unit/api/controllers/v1/test_port.py index 183450aca5..9d9437d1c7 100644 --- a/ironic/tests/unit/api/controllers/v1/test_port.py +++ b/ironic/tests/unit/api/controllers/v1/test_port.py @@ -421,7 +421,7 @@ class TestListPorts(test_api_base.BaseApiTest): uuid=uuid, node_id=self.node.id) data = self.get_json('/ports/%s' % uuid) - self.assertIn('links', data.keys()) + self.assertIn('links', data) self.assertEqual(2, len(data['links'])) self.assertIn(uuid, data['links'][0]['href']) for l in data['links']: @@ -1007,10 +1007,10 @@ class TestPatch(test_api_base.BaseApiTest): self.port.save() # mutate extra so we replace all of them - extra = dict((k, extra[k] + 'x') for k in extra.keys()) + extra = dict((k, extra[k] + 'x') for k in extra) patch = [] - for k in extra.keys(): + for k in extra: patch.append({'path': '/extra/%s' % k, 'value': extra[k], 'op': 'replace'}) @@ -1100,7 +1100,7 @@ class TestPatch(test_api_base.BaseApiTest): def test_add_multi(self, mock_upd): extra = {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"} patch = [] - for k in extra.keys(): + for k in extra: patch.append({'path': '/extra/%s' % k, 'value': extra[k], 'op': 'add'}) diff --git a/ironic/tests/unit/api/controllers/v1/test_portgroup.py b/ironic/tests/unit/api/controllers/v1/test_portgroup.py index 48b301f55e..363497e2ba 100644 --- a/ironic/tests/unit/api/controllers/v1/test_portgroup.py +++ b/ironic/tests/unit/api/controllers/v1/test_portgroup.py @@ -258,18 +258,18 @@ class TestListPortgroups(test_api_base.BaseApiTest): data = self.get_json('/portgroups/%s/ports' % pg.uuid, headers=self.headers) self.assertEqual(2, len(data['ports'])) - self.assertNotIn('next', data.keys()) + self.assertNotIn('next', data) data = self.get_json('/portgroups/%s/ports/detail' % pg.uuid, headers=self.headers) self.assertEqual(2, len(data['ports'])) - self.assertNotIn('next', data.keys()) + self.assertNotIn('next', data) # Test collection pagination data = self.get_json('/portgroups/%s/ports?limit=1' % pg.uuid, headers=self.headers) self.assertEqual(1, len(data['ports'])) - self.assertIn('next', data.keys()) + self.assertIn('next', data) # Test get one old api version, /portgroups controller not allowed response = self.get_json('/portgroups/%s/ports/%s' % ( @@ -687,10 +687,10 @@ class TestPatch(test_api_base.BaseApiTest): self.portgroup.save() # mutate extra so we replace all of them - extra = dict((k, extra[k] + 'x') for k in extra.keys()) + extra = dict((k, extra[k] + 'x') for k in extra) patch = [] - for k in extra.keys(): + for k in extra: patch.append({'path': '/extra/%s' % k, 'value': extra[k], 'op': 'replace'}) @@ -793,7 +793,7 @@ class TestPatch(test_api_base.BaseApiTest): def test_add_multi(self, mock_upd): extra = {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"} patch = [] - for k in extra.keys(): + for k in extra: patch.append({'path': '/extra/%s' % k, 'value': extra[k], 'op': 'add'}) diff --git a/ironic/tests/unit/api/controllers/v1/test_volume_connector.py b/ironic/tests/unit/api/controllers/v1/test_volume_connector.py index 575c86bc18..b970abe2dd 100644 --- a/ironic/tests/unit/api/controllers/v1/test_volume_connector.py +++ b/ironic/tests/unit/api/controllers/v1/test_volume_connector.py @@ -231,7 +231,7 @@ class TestListVolumeConnectors(test_api_base.BaseApiTest): node_id=self.node.id) data = self.get_json('/volume/connectors/%s' % uuid, headers=self.headers) - self.assertIn('links', data.keys()) + self.assertIn('links', data) self.assertEqual(2, len(data['links'])) self.assertIn(uuid, data['links'][0]['href']) for l in data['links']: @@ -575,10 +575,10 @@ class TestPatch(test_api_base.BaseApiTest): self.connector.save() # mutate extra so we replace all of them - extra = dict((k, extra[k] + 'x') for k in extra.keys()) + extra = dict((k, extra[k] + 'x') for k in extra) patch = [] - for k in extra.keys(): + for k in extra: patch.append({'path': '/extra/%s' % k, 'value': extra[k], 'op': 'replace'}) @@ -686,7 +686,7 @@ class TestPatch(test_api_base.BaseApiTest): def test_add_multi(self, mock_upd): extra = {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"} patch = [] - for k in extra.keys(): + for k in extra: patch.append({'path': '/extra/%s' % k, 'value': extra[k], 'op': 'add'}) diff --git a/ironic/tests/unit/api/controllers/v1/test_volume_target.py b/ironic/tests/unit/api/controllers/v1/test_volume_target.py index 64b9ddc169..3fcca729bc 100644 --- a/ironic/tests/unit/api/controllers/v1/test_volume_target.py +++ b/ironic/tests/unit/api/controllers/v1/test_volume_target.py @@ -221,7 +221,7 @@ class TestListVolumeTargets(test_api_base.BaseApiTest): node_id=self.node.id) data = self.get_json('/volume/targets/%s' % uuid, headers=self.headers) - self.assertIn('links', data.keys()) + self.assertIn('links', data) self.assertEqual(2, len(data['links'])) self.assertIn(uuid, data['links'][0]['href']) for l in data['links']: @@ -557,10 +557,10 @@ class TestPatch(test_api_base.BaseApiTest): self.target.save() # mutate extra so we replace all of them - extra = dict((k, extra[k] + 'x') for k in extra.keys()) + extra = dict((k, extra[k] + 'x') for k in extra) patch = [] - for k in extra.keys(): + for k in extra: patch.append({'path': '/extra/%s' % k, 'value': extra[k], 'op': 'replace'}) @@ -672,7 +672,7 @@ class TestPatch(test_api_base.BaseApiTest): def test_add_multi(self, mock_upd): extra = {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"} patch = [] - for k in extra.keys(): + for k in extra: patch.append({'path': '/extra/%s' % k, 'value': extra[k], 'op': 'add'}) diff --git a/ironic/tests/unit/api/test_root.py b/ironic/tests/unit/api/test_root.py index 118a4cca32..ba9af12a5b 100644 --- a/ironic/tests/unit/api/test_root.py +++ b/ironic/tests/unit/api/test_root.py @@ -50,7 +50,7 @@ class TestV1Root(base.BaseApiTest): self.assertNotIn(f, ['', []]) # Check if all known resources are present and there are no extra ones. not_resources = ('id', 'links', 'media_types') - actual_resources = tuple(set(data.keys()) - set(not_resources)) + actual_resources = tuple(set(data) - set(not_resources)) expected_resources = (['chassis', 'drivers', 'nodes', 'ports'] + additional_expected_resources) self.assertEqual(sorted(expected_resources), sorted(actual_resources)) diff --git a/ironic/tests/unit/conductor/test_manager.py b/ironic/tests/unit/conductor/test_manager.py index 59fc87c8c1..27cb856165 100644 --- a/ironic/tests/unit/conductor/test_manager.py +++ b/ironic/tests/unit/conductor/test_manager.py @@ -5402,7 +5402,7 @@ class ManagerTestProperties(mgr_utils.ServiceSetUpMixin, db_base.DbTestCase): self.driver = driver_factory.get_driver(driver) self._start_service() properties = self.service.get_driver_properties(self.context, driver) - self.assertEqual(sorted(expected), sorted(properties.keys())) + self.assertEqual(sorted(expected), sorted(properties)) def test_driver_properties_fake(self): expected = ['A1', 'A2', 'B1', 'B2'] @@ -5497,7 +5497,7 @@ class ManagerTestHardwareTypeProperties(mgr_utils.ServiceSetUpMixin, self._start_service() properties = self.service.get_driver_properties(self.context, hardware_type) - self.assertEqual(sorted(expected), sorted(properties.keys())) + self.assertEqual(sorted(expected), sorted(properties)) def test_hardware_type_properties_manual_management(self): expected = ['deploy_kernel', 'deploy_ramdisk', diff --git a/ironic/tests/unit/drivers/modules/test_deploy_utils.py b/ironic/tests/unit/drivers/modules/test_deploy_utils.py index b844c92489..9b63979c14 100644 --- a/ironic/tests/unit/drivers/modules/test_deploy_utils.py +++ b/ironic/tests/unit/drivers/modules/test_deploy_utils.py @@ -396,7 +396,7 @@ class PhysicalWorkTestCase(tests_base.TestCase): raise ValueError("Only the following kwargs are allowed in " "_test_deploy_partition_image: %(allowed)s. " "Disallowed values: %(disallowed)s." - % {"allowed": ", ".join(deploy_args.keys()), + % {"allowed": ", ".join(deploy_args), "disallowed": ", ".join(disallowed_values)}) deploy_args.update(kwargs) diff --git a/ironic/tests/unit/drivers/modules/test_ipmitool.py b/ironic/tests/unit/drivers/modules/test_ipmitool.py index 37b8b25981..fdf7d48339 100644 --- a/ironic/tests/unit/drivers/modules/test_ipmitool.py +++ b/ironic/tests/unit/drivers/modules/test_ipmitool.py @@ -1364,9 +1364,9 @@ class IPMIToolDriverTestCase(db_base.DbTestCase): expected = list(ipmi.COMMON_PROPERTIES) + list(ipmi.CONSOLE_PROPERTIES) self.assertEqual(sorted(expected), - sorted(self.driver.console.get_properties().keys())) + sorted(self.driver.console.get_properties())) self.assertEqual(sorted(expected), - sorted(self.driver.get_properties().keys())) + sorted(self.driver.get_properties())) @mock.patch.object(ipmi, '_exec_ipmitool', autospec=True) def test_get_power_state(self, mock_exec): diff --git a/ironic/tests/unit/drivers/test_fake.py b/ironic/tests/unit/drivers/test_fake.py index 2709164295..395e128434 100644 --- a/ironic/tests/unit/drivers/test_fake.py +++ b/ironic/tests/unit/drivers/test_fake.py @@ -53,7 +53,7 @@ class FakeDriverTestCase(db_base.DbTestCase): def test_get_properties(self): expected = ['A1', 'A2', 'B1', 'B2'] properties = self.driver.get_properties() - self.assertEqual(sorted(expected), sorted(properties.keys())) + self.assertEqual(sorted(expected), sorted(properties)) def test_power_interface(self): self.assertEqual({}, self.driver.power.get_properties()) diff --git a/ironic/tests/unit/drivers/test_generic.py b/ironic/tests/unit/drivers/test_generic.py index cfc0cb97ea..fd70b44050 100644 --- a/ironic/tests/unit/drivers/test_generic.py +++ b/ironic/tests/unit/drivers/test_generic.py @@ -70,7 +70,7 @@ class ManualManagementHardwareTestCase(db_base.DbTestCase): 'force_persistent_boot_device'] hardware_type = driver_factory.get_hardware_type("manual-management") properties = hardware_type.get_properties() - self.assertEqual(sorted(expected_prop_keys), sorted(properties.keys())) + self.assertEqual(sorted(expected_prop_keys), sorted(properties)) @mock.patch.object(driver_factory, 'default_interface', autospec=True) def test_get_properties_none(self, mock_def_iface): diff --git a/ironic/tests/unit/objects/test_objects.py b/ironic/tests/unit/objects/test_objects.py index 4da76c7ea0..96c725ac8e 100644 --- a/ironic/tests/unit/objects/test_objects.py +++ b/ironic/tests/unit/objects/test_objects.py @@ -349,11 +349,11 @@ class _TestObject(object): myobj3_fields = ['new_field'] self.assertTrue(issubclass(TestSubclassedObject, MyObj)) self.assertEqual(len(myobj_fields), len(MyObj.fields)) - self.assertEqual(set(myobj_fields), set(MyObj.fields.keys())) + self.assertEqual(set(myobj_fields), set(MyObj.fields)) self.assertEqual(len(myobj_fields) + len(myobj3_fields), len(TestSubclassedObject.fields)) self.assertEqual(set(myobj_fields) | set(myobj3_fields), - set(TestSubclassedObject.fields.keys())) + set(TestSubclassedObject.fields)) def _test_get_changes(self, target_version='1.5'): obj = MyObj(self.context)