From 30397fbd783505d61d3322f8fbff0b6f78a06e78 Mon Sep 17 00:00:00 2001 From: lijunbo Date: Sat, 25 Mar 2017 13:32:30 +0800 Subject: [PATCH] Use the list iterator instead of six iterator We should avoid using six.iteritems to achieve iterators. We can use dict.items instead, as it will return iterators in PY3 as well. And dict.items/keys will be more readable. In py2, the performance about list should be negligible Change-Id: I111faa266a0fa98819d77a5dcdc9bb8c2def391a --- cinder/volume/drivers/nec/volume_common.py | 2 +- cinder/volume/drivers/nec/volume_helper.py | 20 ++++++++++---------- cinder/volume/drivers/qnap.py | 8 ++++---- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/cinder/volume/drivers/nec/volume_common.py b/cinder/volume/drivers/nec/volume_common.py index 9e5c82405e6..d390ae84f11 100644 --- a/cinder/volume/drivers/nec/volume_common.py +++ b/cinder/volume/drivers/nec/volume_common.py @@ -358,7 +358,7 @@ class MStorageVolumeCommon(object): return ldset def get_pool_capacity(self, pools, ldsets): - pools = [pool for (pn, pool) in six.iteritems(pools) + pools = [pool for (pn, pool) in pools.items() if len(self._properties['pool_pools']) == 0 or pn in self._properties['pool_pools']] diff --git a/cinder/volume/drivers/nec/volume_helper.py b/cinder/volume/drivers/nec/volume_helper.py index dfa78eed90e..3e8aef081b7 100644 --- a/cinder/volume/drivers/nec/volume_helper.py +++ b/cinder/volume/drivers/nec/volume_helper.py @@ -124,7 +124,7 @@ class MStorageDriver(object): xml, option=None): """Pick up least used pool.""" size = volume['size'] * units.Gi - pools = [pool for (pn, pool) in six.iteritems(pools) + pools = [pool for (pn, pool) in pools.items() if pool['free'] >= size and (len(self._properties['pool_pools']) == 0 or pn in self._properties['pool_pools'])] @@ -140,7 +140,7 @@ class MStorageDriver(object): temp_conf_properties = self._common.get_conf_properties(option) size = volume['size'] * units.Gi - pools = [pool for (pn, pool) in six.iteritems(pools) + pools = [pool for (pn, pool) in pools.items() if pool['free'] >= size and (len(temp_conf_properties['pool_pools']) == 0 or pn in temp_conf_properties['pool_pools'])] @@ -153,14 +153,14 @@ class MStorageDriver(object): def _select_dsv_poolnumber(self, volume, pools, option=None): """Pick up backup pool for DSV.""" - pools = [pool for (pn, pool) in six.iteritems(pools) + pools = [pool for (pn, pool) in pools.items() if pn in self._properties['pool_backup_pools']] return self._return_poolnumber(pools) def _select_ddr_poolnumber(self, volume, pools, xml, option): """Pick up backup pool for DDR.""" size = option * units.Gi - pools = [pool for (pn, pool) in six.iteritems(pools) + pools = [pool for (pn, pool) in pools.items() if pool['free'] >= size and (pn in self._properties['pool_backup_pools'])] return self._return_poolnumber(pools) @@ -168,7 +168,7 @@ class MStorageDriver(object): def _select_volddr_poolnumber(self, volume, pools, xml, option): """Pick up backup pool for DDR.""" size = option * units.Gi - pools = [pool for (pn, pool) in six.iteritems(pools) + pools = [pool for (pn, pool) in pools.items() if pool['free'] >= size and (pn in self._properties['pool_pools'])] return self._return_poolnumber(pools) @@ -288,7 +288,7 @@ class MStorageDriver(object): ld_count_in_pool = {} if ld['RPL Attribute'] == 'MV': pair_lds = self._cli.get_pair_lds(ld['ldname'], lds) - for (ldn, pair_ld) in six.iteritems(pair_lds): + for (ldn, pair_ld) in pair_lds.items(): rv_name = pair_ld['ldname'] pool_number = pair_ld['pool_num'] ldn = pair_ld['ldn'] @@ -307,7 +307,7 @@ class MStorageDriver(object): ld_count_in_pool[pool_number] = [ldn] # check pool capacity. - for (pool_number, tmp_ldn_list) in six.iteritems(ld_count_in_pool): + for (pool_number, tmp_ldn_list) in ld_count_in_pool.items(): ld_capacity = ( ld['ld_capacity'] * units.Gi) new_size_byte = new_size * units.Gi @@ -369,7 +369,7 @@ class MStorageDriver(object): # rv expand. if ld['RPL Attribute'] == 'MV': # ld expand. - for (ldn, rv) in six.iteritems(rvs): + for (ldn, rv) in rvs.items(): self._cli.expand(ldn, new_size) elif ld['RPL Attribute'] != 'IV': msg = (_('RPL Attribute Error. RPL Attribute = %s.') @@ -1093,7 +1093,7 @@ class MStorageDriver(object): # get target wwpns and initiator/target map. fc_ports = [] - for director, hostport in six.iteritems(hostports): + for director, hostport in hostports.items(): for port in hostport: if port['protocol'] == 'FC': fc_ports.append(port) @@ -1169,7 +1169,7 @@ class MStorageDriver(object): # get target wwpns and initiator/target map. fc_ports = [] - for director, hostport in six.iteritems(hostports): + for director, hostport in hostports.items(): for port in hostport: if port['protocol'] == 'FC': fc_ports.append(port) diff --git a/cinder/volume/drivers/qnap.py b/cinder/volume/drivers/qnap.py index 313b8bf6a83..8eb379ab374 100644 --- a/cinder/volume/drivers/qnap.py +++ b/cinder/volume/drivers/qnap.py @@ -909,7 +909,7 @@ class QnapAPIExecutor(object): def _get_res_details(self, url, **kwargs): sanitized_params = {} - for key, value in six.iteritems(kwargs): + for key, value in kwargs.items(): LOG.debug('%(key)s = %(val)s', {'key': key, 'val': value}) if value is not None: @@ -1147,7 +1147,7 @@ class QnapAPIExecutor(object): @_connection_checker def get_lun_info(self, **kwargs): """Execute get_lun_info API.""" - for key, value in six.iteritems(kwargs): + for key, value in kwargs.items(): LOG.debug('%(key)s = %(val)s', {'key': key, 'val': value}) res_details = self._get_res_details( @@ -1186,7 +1186,7 @@ class QnapAPIExecutor(object): @_connection_checker def get_snapshot_info(self, **kwargs): """Execute get_snapshot_info API.""" - for key, value in six.iteritems(kwargs): + for key, value in kwargs.items(): LOG.debug('%(key)s = %(val)s', {'key': key, 'val': value}) res_details = self._get_res_details( @@ -1472,7 +1472,7 @@ class QnapAPIExecutorTS(QnapAPIExecutor): @_connection_checker def get_snapshot_info(self, **kwargs): """Execute get_snapshot_info API.""" - for key, value in six.iteritems(kwargs): + for key, value in kwargs.items(): LOG.debug('%(key)s = %(val)s', {'key': key, 'val': value}) LOG.debug('in get_ethernet_ip')