Merge "hacking: Reenable E275"
This commit is contained in:
commit
b5aeb41f2f
@ -182,8 +182,7 @@ class API(base.Base):
|
|||||||
idx = 0
|
idx = 0
|
||||||
while idx < len(services):
|
while idx < len(services):
|
||||||
srv = services[idx]
|
srv = services[idx]
|
||||||
if(self._az_matched(srv, availability_zone) and
|
if (self._az_matched(srv, availability_zone) and srv.is_up):
|
||||||
srv.is_up):
|
|
||||||
return srv.host
|
return srv.host
|
||||||
idx = idx + 1
|
idx = idx + 1
|
||||||
return None
|
return None
|
||||||
|
@ -287,9 +287,9 @@ def main():
|
|||||||
try:
|
try:
|
||||||
return uc.main(CONF, 'cinder', Checks())
|
return uc.main(CONF, 'cinder', Checks())
|
||||||
except cfg.ConfigDirNotFoundError:
|
except cfg.ConfigDirNotFoundError:
|
||||||
return('ERROR: cannot read the cinder configuration directory.\n'
|
return ('ERROR: cannot read the cinder configuration directory.\n'
|
||||||
'Please re-run using the --config-dir <dirname> option '
|
'Please re-run using the --config-dir <dirname> option '
|
||||||
'with a valid cinder configuration directory.')
|
'with a valid cinder configuration directory.')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -53,7 +53,7 @@ class ImageAccel(object):
|
|||||||
self.src = src
|
self.src = src
|
||||||
self.dest = dest
|
self.dest = dest
|
||||||
self.compression_format = CONF.compression_format
|
self.compression_format = CONF.compression_format
|
||||||
if(self.compression_format == 'gzip'):
|
if (self.compression_format == 'gzip'):
|
||||||
self._accel_engine_path = _ACCEL_PATH_PREFERENCE_ORDER_LIST
|
self._accel_engine_path = _ACCEL_PATH_PREFERENCE_ORDER_LIST
|
||||||
else:
|
else:
|
||||||
self._accel_engine_path = None
|
self._accel_engine_path = None
|
||||||
|
@ -32,7 +32,7 @@ def _operatorOperands(tokenList):
|
|||||||
try:
|
try:
|
||||||
op1 = next(it)
|
op1 = next(it)
|
||||||
op2 = next(it)
|
op2 = next(it)
|
||||||
yield(op1, op2)
|
yield (op1, op2)
|
||||||
except StopIteration:
|
except StopIteration:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
@ -313,11 +313,11 @@ class BackendState(object):
|
|||||||
pool_cap['timestamp'] = self.updated
|
pool_cap['timestamp'] = self.updated
|
||||||
|
|
||||||
self.capabilities = typing.cast(ReadOnlyDict, self.capabilities)
|
self.capabilities = typing.cast(ReadOnlyDict, self.capabilities)
|
||||||
if('filter_function' not in pool_cap and
|
if ('filter_function' not in pool_cap and
|
||||||
'filter_function' in self.capabilities):
|
'filter_function' in self.capabilities):
|
||||||
pool_cap['filter_function'] = self.capabilities['filter_function']
|
pool_cap['filter_function'] = self.capabilities['filter_function']
|
||||||
|
|
||||||
if('goodness_function' not in pool_cap and
|
if ('goodness_function' not in pool_cap and
|
||||||
'goodness_function' in self.capabilities):
|
'goodness_function' in self.capabilities):
|
||||||
pool_cap['goodness_function'] = (
|
pool_cap['goodness_function'] = (
|
||||||
self.capabilities['goodness_function'])
|
self.capabilities['goodness_function'])
|
||||||
|
@ -115,11 +115,11 @@ class SSHPool(pools.Pool):
|
|||||||
self.resize(1)
|
self.resize(1)
|
||||||
# release all but the last connection using
|
# release all but the last connection using
|
||||||
# get and put to allow any get waiters to complete.
|
# get and put to allow any get waiters to complete.
|
||||||
while(self.waiting() or self.current_size > 1):
|
while (self.waiting() or self.current_size > 1):
|
||||||
conn = self.get()
|
conn = self.get()
|
||||||
self.put(conn)
|
self.put(conn)
|
||||||
# Now free everthing that is left
|
# Now free everthing that is left
|
||||||
while(self.free_items):
|
while (self.free_items):
|
||||||
self.free_items.popleft().close()
|
self.free_items.popleft().close()
|
||||||
self.current_size -= 1
|
self.current_size -= 1
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ def no_translate_logs(logical_line, filename):
|
|||||||
C312
|
C312
|
||||||
"""
|
"""
|
||||||
if translated_log.match(logical_line):
|
if translated_log.match(logical_line):
|
||||||
yield(0, "C312: Log messages should not be translated!")
|
yield (0, "C312: Log messages should not be translated!")
|
||||||
|
|
||||||
|
|
||||||
@core.flake8ext
|
@core.flake8ext
|
||||||
@ -145,7 +145,7 @@ def check_explicit_underscore_import(logical_line, filename):
|
|||||||
custom_underscore_check.match(logical_line)):
|
custom_underscore_check.match(logical_line)):
|
||||||
UNDERSCORE_IMPORT_FILES.append(filename)
|
UNDERSCORE_IMPORT_FILES.append(filename)
|
||||||
elif string_translation.match(logical_line):
|
elif string_translation.match(logical_line):
|
||||||
yield(0, "N323: Found use of _() without explicit import of _ !")
|
yield (0, "N323: Found use of _() without explicit import of _ !")
|
||||||
|
|
||||||
|
|
||||||
class CheckLoggingFormatArgs(BaseASTChecker):
|
class CheckLoggingFormatArgs(BaseASTChecker):
|
||||||
@ -305,7 +305,7 @@ def check_datetime_now(logical_line, noqa):
|
|||||||
msg = ("C301: Found datetime.now(). "
|
msg = ("C301: Found datetime.now(). "
|
||||||
"Please use timeutils.utcnow() from oslo_utils.")
|
"Please use timeutils.utcnow() from oslo_utils.")
|
||||||
if 'datetime.now' in logical_line:
|
if 'datetime.now' in logical_line:
|
||||||
yield(0, msg)
|
yield (0, msg)
|
||||||
|
|
||||||
|
|
||||||
@core.flake8ext
|
@core.flake8ext
|
||||||
@ -322,7 +322,7 @@ def check_no_print_statements(logical_line, filename, noqa):
|
|||||||
msg = ("C303: print() should not be used. "
|
msg = ("C303: print() should not be used. "
|
||||||
"Please use LOG.[info|error|warning|exception|debug]. "
|
"Please use LOG.[info|error|warning|exception|debug]. "
|
||||||
"If print() must be used, use '# noqa' to skip this check.")
|
"If print() must be used, use '# noqa' to skip this check.")
|
||||||
yield(0, msg)
|
yield (0, msg)
|
||||||
|
|
||||||
|
|
||||||
@core.flake8ext
|
@core.flake8ext
|
||||||
@ -354,7 +354,7 @@ def validate_assertTrue(logical_line, filename):
|
|||||||
if re.match(assert_True, logical_line):
|
if re.match(assert_True, logical_line):
|
||||||
msg = ("C313: Unit tests should use assertTrue(value) instead"
|
msg = ("C313: Unit tests should use assertTrue(value) instead"
|
||||||
" of using assertEqual(True, value).")
|
" of using assertEqual(True, value).")
|
||||||
yield(0, msg)
|
yield (0, msg)
|
||||||
|
|
||||||
|
|
||||||
third_party_mock = re.compile("^import.mock")
|
third_party_mock = re.compile("^import.mock")
|
||||||
@ -369,7 +369,7 @@ def no_third_party_mock(logical_line):
|
|||||||
re.match(from_third_party_mock, logical_line)):
|
re.match(from_third_party_mock, logical_line)):
|
||||||
msg = ('C337: Unit tests should use the standard library "mock" '
|
msg = ('C337: Unit tests should use the standard library "mock" '
|
||||||
'module, not the third party mock lib.')
|
'module, not the third party mock lib.')
|
||||||
yield(0, msg)
|
yield (0, msg)
|
||||||
|
|
||||||
|
|
||||||
@core.flake8ext
|
@core.flake8ext
|
||||||
|
@ -73,12 +73,12 @@ class BrickLvmTestCase(test.TestCase):
|
|||||||
data = " fake-vg\n"
|
data = " fake-vg\n"
|
||||||
elif _lvm_prefix + 'lvm version' in cmd_string:
|
elif _lvm_prefix + 'lvm version' in cmd_string:
|
||||||
data = " LVM version: 2.03.07(2) (2019-11-30)\n"
|
data = " LVM version: 2.03.07(2) (2019-11-30)\n"
|
||||||
elif(_lvm_prefix + 'vgs --noheadings -o uuid fake-vg' in
|
elif (_lvm_prefix + 'vgs --noheadings -o uuid fake-vg' in
|
||||||
cmd_string):
|
cmd_string):
|
||||||
data = " kVxztV-dKpG-Rz7E-xtKY-jeju-QsYU-SLG6Z1\n"
|
data = " kVxztV-dKpG-Rz7E-xtKY-jeju-QsYU-SLG6Z1\n"
|
||||||
elif(_lvm_prefix + 'vgs --noheadings --unit=g '
|
elif (_lvm_prefix + 'vgs --noheadings --unit=g '
|
||||||
'-o name,size,free,lv_count,uuid '
|
'-o name,size,free,lv_count,uuid '
|
||||||
'--separator : --nosuffix' in cmd_string):
|
'--separator : --nosuffix' in cmd_string):
|
||||||
data = (" test-prov-cap-vg-unit:10.00:10.00:0:"
|
data = (" test-prov-cap-vg-unit:10.00:10.00:0:"
|
||||||
"mXzbuX-dKpG-Rz7E-xtKY-jeju-QsYU-SLG8Z4\n")
|
"mXzbuX-dKpG-Rz7E-xtKY-jeju-QsYU-SLG8Z4\n")
|
||||||
if 'test-prov-cap-vg-unit' in cmd_string:
|
if 'test-prov-cap-vg-unit' in cmd_string:
|
||||||
|
@ -2245,7 +2245,7 @@ class TestVmdkImageChecks(test.TestCase):
|
|||||||
def test_check_vmdk_image_handles_missing_info(self):
|
def test_check_vmdk_image_handles_missing_info(self):
|
||||||
expected = 'Unable to determine VMDK createType'
|
expected = 'Unable to determine VMDK createType'
|
||||||
# remove create-type
|
# remove create-type
|
||||||
del(self.qdata_data['create-type'])
|
del (self.qdata_data['create-type'])
|
||||||
iue = self.assertRaises(exception.ImageUnacceptable,
|
iue = self.assertRaises(exception.ImageUnacceptable,
|
||||||
image_utils.check_vmdk_image,
|
image_utils.check_vmdk_image,
|
||||||
fake.IMAGE_ID,
|
fake.IMAGE_ID,
|
||||||
@ -2253,7 +2253,7 @@ class TestVmdkImageChecks(test.TestCase):
|
|||||||
self.assertIn(expected, str(iue))
|
self.assertIn(expected, str(iue))
|
||||||
|
|
||||||
# remove entire data section
|
# remove entire data section
|
||||||
del(self.qdata_data)
|
del (self.qdata_data)
|
||||||
iue = self.assertRaises(exception.ImageUnacceptable,
|
iue = self.assertRaises(exception.ImageUnacceptable,
|
||||||
image_utils.check_vmdk_image,
|
image_utils.check_vmdk_image,
|
||||||
fake.IMAGE_ID,
|
fake.IMAGE_ID,
|
||||||
|
@ -5360,7 +5360,7 @@ class TestHPE3PARDriverBase(HPE3PARBaseDriver):
|
|||||||
|
|
||||||
conf = self._set_unique_fqdn_override(False, in_shared)
|
conf = self._set_unique_fqdn_override(False, in_shared)
|
||||||
my_connector = self.connector.copy()
|
my_connector = self.connector.copy()
|
||||||
del(my_connector['initiator'])
|
del (my_connector['initiator'])
|
||||||
my_connector['host'] = "abc123abc123abc123abc123abc123abc123"
|
my_connector['host'] = "abc123abc123abc123abc123abc123abc123"
|
||||||
safe_host = common._safe_hostname(my_connector, conf)
|
safe_host = common._safe_hostname(my_connector, conf)
|
||||||
self.assertEqual(fixed_hostname, safe_host)
|
self.assertEqual(fixed_hostname, safe_host)
|
||||||
|
@ -209,11 +209,11 @@ class IBMStorageFakeProxyDriver(object):
|
|||||||
|
|
||||||
# Delete snapshots in group
|
# Delete snapshots in group
|
||||||
self.snapshots = {k: snap for k, snap in self.snapshots.items()
|
self.snapshots = {k: snap for k, snap in self.snapshots.items()
|
||||||
if not(snap.get('group_id') == group.get('id'))}
|
if not (snap.get('group_id') == group.get('id'))}
|
||||||
|
|
||||||
# Delete volume in group
|
# Delete volume in group
|
||||||
self.volumes = {k: vol for k, vol in self.volumes.items()
|
self.volumes = {k: vol for k, vol in self.volumes.items()
|
||||||
if not(vol.get('group_id') == group.get('id'))}
|
if not (vol.get('group_id') == group.get('id'))}
|
||||||
|
|
||||||
return {'status': fields.GroupStatus.DELETED}, volumes
|
return {'status': fields.GroupStatus.DELETED}, volumes
|
||||||
|
|
||||||
@ -256,8 +256,8 @@ class IBMStorageFakeProxyDriver(object):
|
|||||||
|
|
||||||
# Delete snapshots in group
|
# Delete snapshots in group
|
||||||
self.snapshots = {k: snap for k, snap in self.snapshots.items()
|
self.snapshots = {k: snap for k, snap in self.snapshots.items()
|
||||||
if not(snap.get('group_id')
|
if not (snap.get('group_id')
|
||||||
== group_snapshot.get('group_snapshot_id'))}
|
== group_snapshot.get('group_snapshot_id'))}
|
||||||
|
|
||||||
return {'status': 'deleted'}, updated_snapshots
|
return {'status': 'deleted'}, updated_snapshots
|
||||||
|
|
||||||
@ -310,7 +310,7 @@ class IBMStorageFakeProxyDriver(object):
|
|||||||
volume_update_list)
|
volume_update_list)
|
||||||
|
|
||||||
def get_replication_error_status(self, context, groups):
|
def get_replication_error_status(self, context, groups):
|
||||||
return(
|
return (
|
||||||
[{'group_id': groups[0]['id'],
|
[{'group_id': groups[0]['id'],
|
||||||
'replication_status': fields.ReplicationStatus.ERROR}],
|
'replication_status': fields.ReplicationStatus.ERROR}],
|
||||||
[{'volume_id': VOLUME['id'],
|
[{'volume_id': VOLUME['id'],
|
||||||
|
@ -800,8 +800,7 @@ port_speed!N/A
|
|||||||
value1 = filter1.split('=')[1]
|
value1 = filter1.split('=')[1]
|
||||||
value2 = filter2.split('=')[1]
|
value2 = filter2.split('=')[1]
|
||||||
for v in ports:
|
for v in ports:
|
||||||
if(str(v[5]) == value1 and str(
|
if (str(v[5]) == value1 and str(v[7]) == value2):
|
||||||
v[7]) == value2):
|
|
||||||
rows.append(v)
|
rows.append(v)
|
||||||
else:
|
else:
|
||||||
value = kwargs['filtervalue'].split('=')[1]
|
value = kwargs['filtervalue'].split('=')[1]
|
||||||
@ -1645,8 +1644,8 @@ port_speed!N/A
|
|||||||
|
|
||||||
self._fcmappings_list[fcmap_info['id']] = fcmap_info
|
self._fcmappings_list[fcmap_info['id']] = fcmap_info
|
||||||
|
|
||||||
return('FlashCopy Mapping, id [' + fcmap_info['id'] +
|
return ('FlashCopy Mapping, id [' + fcmap_info['id'] +
|
||||||
'], successfully created', '')
|
'], successfully created', '')
|
||||||
|
|
||||||
def _cmd_prestartfcmap(self, **kwargs):
|
def _cmd_prestartfcmap(self, **kwargs):
|
||||||
if 'obj' not in kwargs:
|
if 'obj' not in kwargs:
|
||||||
@ -1801,8 +1800,8 @@ port_speed!N/A
|
|||||||
|
|
||||||
self._fcconsistgrp_list[fcconsistgrp_info['id']] = fcconsistgrp_info
|
self._fcconsistgrp_list[fcconsistgrp_info['id']] = fcconsistgrp_info
|
||||||
|
|
||||||
return('FlashCopy Consistency Group, id [' + fcconsistgrp_info['id'] +
|
return ('FlashCopy Consistency Group, id [' + fcconsistgrp_info['id'] +
|
||||||
'], successfully created', '')
|
'], successfully created', '')
|
||||||
|
|
||||||
def _cmd_prestartfcconsistgrp(self, **kwargs):
|
def _cmd_prestartfcconsistgrp(self, **kwargs):
|
||||||
if 'obj' not in kwargs:
|
if 'obj' not in kwargs:
|
||||||
@ -2225,8 +2224,8 @@ port_speed!N/A
|
|||||||
self._volumes_list[master_vol]['RC_id'] = rcrel_info['id']
|
self._volumes_list[master_vol]['RC_id'] = rcrel_info['id']
|
||||||
self._volumes_list[aux_vol]['RC_name'] = rcrel_info['name']
|
self._volumes_list[aux_vol]['RC_name'] = rcrel_info['name']
|
||||||
self._volumes_list[aux_vol]['RC_id'] = rcrel_info['id']
|
self._volumes_list[aux_vol]['RC_id'] = rcrel_info['id']
|
||||||
return('RC Relationship, id [' + rcrel_info['id'] +
|
return ('RC Relationship, id [' + rcrel_info['id'] +
|
||||||
'], successfully created', '')
|
'], successfully created', '')
|
||||||
|
|
||||||
def _cmd_lsrcrelationship(self, **kwargs):
|
def _cmd_lsrcrelationship(self, **kwargs):
|
||||||
rows = []
|
rows = []
|
||||||
@ -2791,8 +2790,8 @@ port_speed!N/A
|
|||||||
rccg_info['cycle_period_seconds'] = '300'
|
rccg_info['cycle_period_seconds'] = '300'
|
||||||
self._rcconsistgrp_list[rccg_info['name']] = rccg_info
|
self._rcconsistgrp_list[rccg_info['name']] = rccg_info
|
||||||
|
|
||||||
return('RC Consistency Group, id [' + rccg_info['id'] +
|
return ('RC Consistency Group, id [' + rccg_info['id'] +
|
||||||
'], successfully created', '')
|
'], successfully created', '')
|
||||||
|
|
||||||
def _cmd_lsrcconsistgrp(self, **kwargs):
|
def _cmd_lsrcconsistgrp(self, **kwargs):
|
||||||
rows = []
|
rows = []
|
||||||
@ -3009,7 +3008,7 @@ port_speed!N/A
|
|||||||
partner_info['partnership'] = 'fully_configured'
|
partner_info['partnership'] = 'fully_configured'
|
||||||
|
|
||||||
self._partnership_list[partner_info['id']] = partner_info
|
self._partnership_list[partner_info['id']] = partner_info
|
||||||
return('', '')
|
return ('', '')
|
||||||
|
|
||||||
def _cmd_mkfcpartnership(self, **kwargs):
|
def _cmd_mkfcpartnership(self, **kwargs):
|
||||||
if 'obj' not in kwargs:
|
if 'obj' not in kwargs:
|
||||||
@ -3036,7 +3035,7 @@ port_speed!N/A
|
|||||||
partner_info['backgroundcopyrate'] = copyrate
|
partner_info['backgroundcopyrate'] = copyrate
|
||||||
partner_info['partnership'] = 'fully_configured'
|
partner_info['partnership'] = 'fully_configured'
|
||||||
self._partnership_list[partner_info['id']] = partner_info
|
self._partnership_list[partner_info['id']] = partner_info
|
||||||
return('', '')
|
return ('', '')
|
||||||
|
|
||||||
def _cmd_chpartnership(self, **kwargs):
|
def _cmd_chpartnership(self, **kwargs):
|
||||||
if 'obj' not in kwargs:
|
if 'obj' not in kwargs:
|
||||||
@ -3048,7 +3047,7 @@ port_speed!N/A
|
|||||||
partner_state = ('fully_configured' if 'start' in kwargs
|
partner_state = ('fully_configured' if 'start' in kwargs
|
||||||
else 'fully_configured_stopped')
|
else 'fully_configured_stopped')
|
||||||
self._partnership_list[peer_sys]['partnership'] = partner_state
|
self._partnership_list[peer_sys]['partnership'] = partner_state
|
||||||
return('', '')
|
return ('', '')
|
||||||
|
|
||||||
# The main function to run commands on the management simulator
|
# The main function to run commands on the management simulator
|
||||||
def execute_command(self, cmd, check_exit_code=True):
|
def execute_command(self, cmd, check_exit_code=True):
|
||||||
@ -10936,7 +10935,7 @@ class StorwizeHelpersTestCase(test.TestCase):
|
|||||||
'rc_controlled': 'no',
|
'rc_controlled': 'no',
|
||||||
'source_vdisk_name': 'testvol'}
|
'source_vdisk_name': 'testvol'}
|
||||||
get_relationship_info.return_value = None
|
get_relationship_info.return_value = None
|
||||||
if(fc_data['copy_rate'] != '0' and fc_data['progress'] == '100'
|
if (fc_data['copy_rate'] != '0' and fc_data['progress'] == '100'
|
||||||
and fc_data['status'] == 'copying'):
|
and fc_data['status'] == 'copying'):
|
||||||
(self.assertRaises(loopingcall.LoopingCallDone,
|
(self.assertRaises(loopingcall.LoopingCallDone,
|
||||||
self.storwize_svc_common._check_vdisk_fc_mappings, vol, True,
|
self.storwize_svc_common._check_vdisk_fc_mappings, vol, True,
|
||||||
@ -10955,7 +10954,7 @@ class StorwizeHelpersTestCase(test.TestCase):
|
|||||||
self.assertEqual(1, get_fc_mapping_attributes.call_count)
|
self.assertEqual(1, get_fc_mapping_attributes.call_count)
|
||||||
self.assertEqual(0, rmfcmap.call_count)
|
self.assertEqual(0, rmfcmap.call_count)
|
||||||
|
|
||||||
if(fc_data['copy_rate'] == '0' and fc_data['progress'] == '0'
|
if (fc_data['copy_rate'] == '0' and fc_data['progress'] == '0'
|
||||||
and fc_data['status'] in ['copying', 'idle_or_copied']):
|
and fc_data['status'] in ['copying', 'idle_or_copied']):
|
||||||
chfcmap.assert_called_with('4', copyrate='50', autodel='on')
|
chfcmap.assert_called_with('4', copyrate='50', autodel='on')
|
||||||
self.assertEqual(1, chfcmap.call_count)
|
self.assertEqual(1, chfcmap.call_count)
|
||||||
@ -10995,8 +10994,8 @@ class StorwizeHelpersTestCase(test.TestCase):
|
|||||||
'source_vdisk_name': 'testvol'}
|
'source_vdisk_name': 'testvol'}
|
||||||
rel_info = {'name': 'rcrel232'}
|
rel_info = {'name': 'rcrel232'}
|
||||||
get_relationship_info.return_value = rel_info
|
get_relationship_info.return_value = rel_info
|
||||||
if(fc_data['copy_rate'] != '0' and fc_data['progress'] == '100'
|
if (fc_data['copy_rate'] != '0' and fc_data['progress'] == '100'
|
||||||
and fc_data['status'] == 'copying'):
|
and fc_data['status'] == 'copying'):
|
||||||
(self.assertRaises(loopingcall.LoopingCallDone,
|
(self.assertRaises(loopingcall.LoopingCallDone,
|
||||||
self.storwize_svc_common._check_vdisk_fc_mappings, vol, True,
|
self.storwize_svc_common._check_vdisk_fc_mappings, vol, True,
|
||||||
False, rel_info))
|
False, rel_info))
|
||||||
@ -11014,7 +11013,7 @@ class StorwizeHelpersTestCase(test.TestCase):
|
|||||||
self.assertEqual(1, get_fc_mapping_attributes.call_count)
|
self.assertEqual(1, get_fc_mapping_attributes.call_count)
|
||||||
self.assertEqual(0, rmfcmap.call_count)
|
self.assertEqual(0, rmfcmap.call_count)
|
||||||
|
|
||||||
if(fc_data['copy_rate'] == '0' and fc_data['progress'] == '0'
|
if (fc_data['copy_rate'] == '0' and fc_data['progress'] == '0'
|
||||||
and fc_data['status'] in ['copying', 'idle_or_copied']):
|
and fc_data['status'] in ['copying', 'idle_or_copied']):
|
||||||
chfcmap.assert_called_with('4', copyrate='50', autodel='on')
|
chfcmap.assert_called_with('4', copyrate='50', autodel='on')
|
||||||
self.assertEqual(1, chfcmap.call_count)
|
self.assertEqual(1, chfcmap.call_count)
|
||||||
|
@ -1602,8 +1602,8 @@ port_speed!N/A
|
|||||||
|
|
||||||
self._lcmappings_list[lcmap_info['id']] = lcmap_info
|
self._lcmappings_list[lcmap_info['id']] = lcmap_info
|
||||||
|
|
||||||
return('LocalCopy Mapping, id [' + lcmap_info['id'] +
|
return ('LocalCopy Mapping, id [' + lcmap_info['id'] +
|
||||||
'], successfully created', '')
|
'], successfully created', '')
|
||||||
|
|
||||||
def _cmd_prestartlcmap(self, **kwargs):
|
def _cmd_prestartlcmap(self, **kwargs):
|
||||||
if 'obj' not in kwargs:
|
if 'obj' not in kwargs:
|
||||||
@ -1705,8 +1705,8 @@ port_speed!N/A
|
|||||||
|
|
||||||
self._lcconsistgrp_list[lcconsistgrp_info['id']] = lcconsistgrp_info
|
self._lcconsistgrp_list[lcconsistgrp_info['id']] = lcconsistgrp_info
|
||||||
|
|
||||||
return('LocalCopy Consistency Group, id [' + lcconsistgrp_info['id'] +
|
return ('LocalCopy Consistency Group, id [' + lcconsistgrp_info['id'] +
|
||||||
'], successfully created', '')
|
'], successfully created', '')
|
||||||
|
|
||||||
def _cmd_prestartlcconsistgrp(self, **kwargs):
|
def _cmd_prestartlcconsistgrp(self, **kwargs):
|
||||||
if 'obj' not in kwargs:
|
if 'obj' not in kwargs:
|
||||||
@ -1998,8 +1998,8 @@ port_speed!N/A
|
|||||||
self._volumes_list[master_vol]['RC_id'] = rcrel_info['id']
|
self._volumes_list[master_vol]['RC_id'] = rcrel_info['id']
|
||||||
self._volumes_list[aux_vol]['RC_name'] = rcrel_info['name']
|
self._volumes_list[aux_vol]['RC_name'] = rcrel_info['name']
|
||||||
self._volumes_list[aux_vol]['RC_id'] = rcrel_info['id']
|
self._volumes_list[aux_vol]['RC_id'] = rcrel_info['id']
|
||||||
return('RC Relationship, id [' + rcrel_info['id'] +
|
return ('RC Relationship, id [' + rcrel_info['id'] +
|
||||||
'], successfully created', '')
|
'], successfully created', '')
|
||||||
|
|
||||||
def _cmd_startrcrelationship(self, **kwargs):
|
def _cmd_startrcrelationship(self, **kwargs):
|
||||||
if 'obj' not in kwargs:
|
if 'obj' not in kwargs:
|
||||||
@ -2131,7 +2131,7 @@ port_speed!N/A
|
|||||||
partner_info['partnership'] = 'fully_configured'
|
partner_info['partnership'] = 'fully_configured'
|
||||||
|
|
||||||
self._partnership_list[partner_info['id']] = partner_info
|
self._partnership_list[partner_info['id']] = partner_info
|
||||||
return('', '')
|
return ('', '')
|
||||||
|
|
||||||
def _cmd_mkfcpartnership(self, **kwargs):
|
def _cmd_mkfcpartnership(self, **kwargs):
|
||||||
if 'obj' not in kwargs:
|
if 'obj' not in kwargs:
|
||||||
@ -2158,7 +2158,7 @@ port_speed!N/A
|
|||||||
partner_info['backgroundcopyrate'] = copyrate
|
partner_info['backgroundcopyrate'] = copyrate
|
||||||
partner_info['partnership'] = 'fully_configured'
|
partner_info['partnership'] = 'fully_configured'
|
||||||
self._partnership_list[partner_info['id']] = partner_info
|
self._partnership_list[partner_info['id']] = partner_info
|
||||||
return('', '')
|
return ('', '')
|
||||||
|
|
||||||
def _cmd_chpartnership(self, **kwargs):
|
def _cmd_chpartnership(self, **kwargs):
|
||||||
if 'obj' not in kwargs:
|
if 'obj' not in kwargs:
|
||||||
@ -2170,7 +2170,7 @@ port_speed!N/A
|
|||||||
partner_state = ('fully_configured' if 'start' in kwargs
|
partner_state = ('fully_configured' if 'start' in kwargs
|
||||||
else 'fully_configured_stopped')
|
else 'fully_configured_stopped')
|
||||||
self._partnership_list[peer_sys]['partnership'] = partner_state
|
self._partnership_list[peer_sys]['partnership'] = partner_state
|
||||||
return('', '')
|
return ('', '')
|
||||||
|
|
||||||
# The main function to run commands on the management simulator
|
# The main function to run commands on the management simulator
|
||||||
def execute_command(self, cmd, check_exit_code=True):
|
def execute_command(self, cmd, check_exit_code=True):
|
||||||
|
@ -202,7 +202,7 @@ class DBMock(object):
|
|||||||
return httpstatus.OK, vol
|
return httpstatus.OK, vol
|
||||||
|
|
||||||
def update_volume(self, **kwargs):
|
def update_volume(self, **kwargs):
|
||||||
assert("project_name" in kwargs and kwargs["project_name"]), \
|
assert ("project_name" in kwargs and kwargs["project_name"]), \
|
||||||
"project_name must be provided"
|
"project_name must be provided"
|
||||||
|
|
||||||
def create_snapshot(self, snapshot) -> Tuple[int, Dict]:
|
def create_snapshot(self, snapshot) -> Tuple[int, Dict]:
|
||||||
|
@ -723,7 +723,7 @@ class NetAppDriverUtilsTestCase(test.TestCase):
|
|||||||
|
|
||||||
def test_get_backend_qos_spec_from_volume_type_no_qos_specs_id(self):
|
def test_get_backend_qos_spec_from_volume_type_no_qos_specs_id(self):
|
||||||
volume_type = copy.deepcopy(fake.VOLUME_TYPE)
|
volume_type = copy.deepcopy(fake.VOLUME_TYPE)
|
||||||
del(volume_type['qos_specs_id'])
|
del (volume_type['qos_specs_id'])
|
||||||
mock_get_context = self.mock_object(context, 'get_admin_context')
|
mock_get_context = self.mock_object(context, 'get_admin_context')
|
||||||
|
|
||||||
result = na_utils.get_backend_qos_spec_from_volume_type(volume_type)
|
result = na_utils.get_backend_qos_spec_from_volume_type(volume_type)
|
||||||
|
@ -1348,7 +1348,7 @@ class CreateVolumeFlowManagerTestCase(test.TestCase):
|
|||||||
def test_get_flow(self, is_migration_target, use_quota, flow_mock,
|
def test_get_flow(self, is_migration_target, use_quota, flow_mock,
|
||||||
extract_ref_mock, onfailure_mock, extract_spec_mock,
|
extract_ref_mock, onfailure_mock, extract_spec_mock,
|
||||||
notify_mock, create_mock, onfinish_mock, load_mock):
|
notify_mock, create_mock, onfinish_mock, load_mock):
|
||||||
assert(isinstance(is_migration_target, bool))
|
assert (isinstance(is_migration_target, bool))
|
||||||
filter_properties = {'retry': mock.sentinel.retry}
|
filter_properties = {'retry': mock.sentinel.retry}
|
||||||
tasks = [mock.call(extract_ref_mock.return_value),
|
tasks = [mock.call(extract_ref_mock.return_value),
|
||||||
mock.call(onfailure_mock.return_value),
|
mock.call(onfailure_mock.return_value),
|
||||||
|
@ -576,7 +576,7 @@ def check_string_length(value: str, name: str, min_length: int = 0,
|
|||||||
strutils.check_string_length(value, name=name,
|
strutils.check_string_length(value, name=name,
|
||||||
min_length=min_length,
|
min_length=min_length,
|
||||||
max_length=max_length)
|
max_length=max_length)
|
||||||
except(ValueError, TypeError) as exc:
|
except (ValueError, TypeError) as exc:
|
||||||
raise exception.InvalidInput(reason=exc)
|
raise exception.InvalidInput(reason=exc)
|
||||||
|
|
||||||
if not allow_all_spaces and value.isspace():
|
if not allow_all_spaces and value.isspace():
|
||||||
|
@ -411,7 +411,7 @@ class DataCoreVolumeDriver(driver.VolumeDriver):
|
|||||||
kwargs = {'existing_ref': vd_alias,
|
kwargs = {'existing_ref': vd_alias,
|
||||||
'reason': 'Specified Virtual disk does not exist.'}
|
'reason': 'Specified Virtual disk does not exist.'}
|
||||||
raise cinder_exception.ManageExistingInvalidReference(**kwargs)
|
raise cinder_exception.ManageExistingInvalidReference(**kwargs)
|
||||||
return(self._get_size_in_gigabytes(virtual_disk.Size.Value))
|
return (self._get_size_in_gigabytes(virtual_disk.Size.Value))
|
||||||
|
|
||||||
def _update_volume_stats(self):
|
def _update_volume_stats(self):
|
||||||
performance_data = self._api.get_performance_by_type(
|
performance_data = self._api.get_performance_by_type(
|
||||||
|
@ -382,7 +382,7 @@ class RestClient(object):
|
|||||||
|
|
||||||
if obj['status'] != 'ok':
|
if obj['status'] != 'ok':
|
||||||
msg = "is not mapped to the specified controller"
|
msg = "is not mapped to the specified controller"
|
||||||
if(msg not in obj['message']):
|
if (msg not in obj['message']):
|
||||||
errmsg = _('REST call status - %s') % obj['status']
|
errmsg = _('REST call status - %s') % obj['status']
|
||||||
raise exception.VolumeDriverException(errmsg)
|
raise exception.VolumeDriverException(errmsg)
|
||||||
|
|
||||||
|
@ -1578,7 +1578,7 @@ class HPE3PARCommon(object):
|
|||||||
"""We have to use a safe hostname length for 3PAR host names."""
|
"""We have to use a safe hostname length for 3PAR host names."""
|
||||||
hostname = connector['host']
|
hostname = connector['host']
|
||||||
unique_fqdn_network = configuration.unique_fqdn_network
|
unique_fqdn_network = configuration.unique_fqdn_network
|
||||||
if(not unique_fqdn_network and connector.get('initiator')):
|
if (not unique_fqdn_network and connector.get('initiator')):
|
||||||
iqn = connector.get('initiator')
|
iqn = connector.get('initiator')
|
||||||
iqn = iqn.replace(":", "-")
|
iqn = iqn.replace(":", "-")
|
||||||
return iqn[::-1][:31]
|
return iqn[::-1][:31]
|
||||||
|
@ -286,7 +286,7 @@ class NimbleBaseVolumeDriver(san.SanDriver):
|
|||||||
self._group_target_enabled,
|
self._group_target_enabled,
|
||||||
self._storage_protocol,
|
self._storage_protocol,
|
||||||
pool_name)
|
pool_name)
|
||||||
if(volume['size'] > snapshot['volume_size']):
|
if (volume['size'] > snapshot['volume_size']):
|
||||||
vol_size = volume['size'] * units.Ki
|
vol_size = volume['size'] * units.Ki
|
||||||
reserve_size = 100 if reserve else 0
|
reserve_size = 100 if reserve else 0
|
||||||
data = {"data": {'size': vol_size,
|
data = {"data": {'size': vol_size,
|
||||||
|
@ -436,13 +436,13 @@ class GPFSDriver(driver.CloneableImageVD,
|
|||||||
LOG.error(msg)
|
LOG.error(msg)
|
||||||
raise exception.VolumeBackendAPIException(data=msg)
|
raise exception.VolumeBackendAPIException(data=msg)
|
||||||
|
|
||||||
if(self.configuration.gpfs_images_share_mode and
|
if (self.configuration.gpfs_images_share_mode and
|
||||||
self.configuration.gpfs_images_dir is None):
|
self.configuration.gpfs_images_dir is None):
|
||||||
msg = _('Option gpfs_images_dir is not set correctly.')
|
msg = _('Option gpfs_images_dir is not set correctly.')
|
||||||
LOG.error(msg)
|
LOG.error(msg)
|
||||||
raise exception.VolumeBackendAPIException(data=msg)
|
raise exception.VolumeBackendAPIException(data=msg)
|
||||||
|
|
||||||
if(self.configuration.gpfs_images_share_mode == 'copy_on_write' and
|
if (self.configuration.gpfs_images_share_mode == 'copy_on_write' and
|
||||||
not self._same_filesystem(self.configuration.gpfs_mount_point_base,
|
not self._same_filesystem(self.configuration.gpfs_mount_point_base,
|
||||||
self.configuration.gpfs_images_dir)):
|
self.configuration.gpfs_images_dir)):
|
||||||
msg = (_('gpfs_images_share_mode is set to copy_on_write, but '
|
msg = (_('gpfs_images_share_mode is set to copy_on_write, but '
|
||||||
@ -453,7 +453,7 @@ class GPFSDriver(driver.CloneableImageVD,
|
|||||||
LOG.error(msg)
|
LOG.error(msg)
|
||||||
raise exception.VolumeBackendAPIException(data=msg)
|
raise exception.VolumeBackendAPIException(data=msg)
|
||||||
|
|
||||||
if(self.configuration.gpfs_images_share_mode == 'copy_on_write' and
|
if (self.configuration.gpfs_images_share_mode == 'copy_on_write' and
|
||||||
not self._is_same_fileset(self.configuration.gpfs_mount_point_base,
|
not self._is_same_fileset(self.configuration.gpfs_mount_point_base,
|
||||||
self.configuration.gpfs_images_dir)):
|
self.configuration.gpfs_images_dir)):
|
||||||
msg = (_('gpfs_images_share_mode is set to copy_on_write, but '
|
msg = (_('gpfs_images_share_mode is set to copy_on_write, but '
|
||||||
@ -884,8 +884,8 @@ class GPFSDriver(driver.CloneableImageVD,
|
|||||||
|
|
||||||
def _is_cloneable(self, image_id):
|
def _is_cloneable(self, image_id):
|
||||||
"""Return true if the specified image can be cloned by GPFS."""
|
"""Return true if the specified image can be cloned by GPFS."""
|
||||||
if not((self.configuration.gpfs_images_dir and
|
if not ((self.configuration.gpfs_images_dir and
|
||||||
self.configuration.gpfs_images_share_mode)):
|
self.configuration.gpfs_images_share_mode)):
|
||||||
reason = 'glance repository not configured to use GPFS'
|
reason = 'glance repository not configured to use GPFS'
|
||||||
return False, reason, None
|
return False, reason, None
|
||||||
|
|
||||||
|
@ -4439,7 +4439,7 @@ class StorwizeSVCCommonDriver(san.SanDriver,
|
|||||||
if 'IOThrottle_rate' in model_update['metadata']:
|
if 'IOThrottle_rate' in model_update['metadata']:
|
||||||
del model_update['metadata']['IOThrottle_rate']
|
del model_update['metadata']['IOThrottle_rate']
|
||||||
model_update['host'] = volume['host']
|
model_update['host'] = volume['host']
|
||||||
return(model_update)
|
return (model_update)
|
||||||
|
|
||||||
def add_vdisk_copy(self, volume, dest_pool, vol_type, auto_delete=False):
|
def add_vdisk_copy(self, volume, dest_pool, vol_type, auto_delete=False):
|
||||||
return self._helpers.add_vdisk_copy(volume, dest_pool,
|
return self._helpers.add_vdisk_copy(volume, dest_pool,
|
||||||
|
@ -177,11 +177,11 @@ class NexentaISCSIDriver(driver.ISCSIDriver):
|
|||||||
target_names = self.targets.keys()
|
target_names = self.targets.keys()
|
||||||
if provider_location:
|
if provider_location:
|
||||||
target_name = provider_location.split(',1 ')[1].split(' ')[0]
|
target_name = provider_location.split(',1 ')[1].split(' ')[0]
|
||||||
if not(self.targets.get(target_name)):
|
if not (self.targets.get(target_name)):
|
||||||
self.targets[target_name] = []
|
self.targets[target_name] = []
|
||||||
if not(volume['name'] in self.targets[target_name]):
|
if not (volume['name'] in self.targets[target_name]):
|
||||||
self.targets[target_name].append(volume['name'])
|
self.targets[target_name].append(volume['name'])
|
||||||
elif not(target_names):
|
elif not (target_names):
|
||||||
# create first target and target group
|
# create first target and target group
|
||||||
target_name = self._create_target(0)
|
target_name = self._create_target(0)
|
||||||
self.targets[target_name].append(volume['name'])
|
self.targets[target_name].append(volume['name'])
|
||||||
@ -193,7 +193,7 @@ class NexentaISCSIDriver(driver.ISCSIDriver):
|
|||||||
if len(self.targets[target_name]) >= 20:
|
if len(self.targets[target_name]) >= 20:
|
||||||
# create new target and target group
|
# create new target and target group
|
||||||
target_name = self._create_target(len(target_names))
|
target_name = self._create_target(len(target_names))
|
||||||
if not(volume['name'] in self.targets[target_name]):
|
if not (volume['name'] in self.targets[target_name]):
|
||||||
self.targets[target_name].append(volume['name'])
|
self.targets[target_name].append(volume['name'])
|
||||||
return target_name
|
return target_name
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ class NfsDriver(remotefs.RemoteFSSnapDriverDistributed):
|
|||||||
# If both nas_host and nas_share_path are set we are not
|
# If both nas_host and nas_share_path are set we are not
|
||||||
# going to use the nfs_shares_config file. So, only check
|
# going to use the nfs_shares_config file. So, only check
|
||||||
# for its existence if it is going to be used.
|
# for its existence if it is going to be used.
|
||||||
if((not nas_host) or (not nas_share_path)):
|
if ((not nas_host) or (not nas_share_path)):
|
||||||
config = self.configuration.nfs_shares_config
|
config = self.configuration.nfs_shares_config
|
||||||
if not config:
|
if not config:
|
||||||
msg = (_("There's no NFS config file configured (%s)") %
|
msg = (_("There's no NFS config file configured (%s)") %
|
||||||
|
@ -1257,7 +1257,7 @@ class RemoteFSSnapDriverBase(RemoteFSDriver):
|
|||||||
|
|
||||||
LOG.info('Deleting stale snapshot: %s', snapshot.id)
|
LOG.info('Deleting stale snapshot: %s', snapshot.id)
|
||||||
self._delete(snapshot_path)
|
self._delete(snapshot_path)
|
||||||
del(snap_info[snapshot.id])
|
del (snap_info[snapshot.id])
|
||||||
self._write_info_file(info_path, snap_info)
|
self._write_info_file(info_path, snap_info)
|
||||||
|
|
||||||
def _delete_snapshot(self, snapshot: objects.Snapshot) -> None:
|
def _delete_snapshot(self, snapshot: objects.Snapshot) -> None:
|
||||||
@ -1434,7 +1434,7 @@ class RemoteFSSnapDriverBase(RemoteFSDriver):
|
|||||||
self._rebase_img(higher_file_path, base_file, base_file_fmt)
|
self._rebase_img(higher_file_path, base_file, base_file_fmt)
|
||||||
|
|
||||||
# Remove snapshot_file from info
|
# Remove snapshot_file from info
|
||||||
del(snap_info[snapshot.id])
|
del (snap_info[snapshot.id])
|
||||||
self._write_info_file(info_path, snap_info)
|
self._write_info_file(info_path, snap_info)
|
||||||
|
|
||||||
def _create_volume_from_snapshot(self,
|
def _create_volume_from_snapshot(self,
|
||||||
@ -1835,7 +1835,7 @@ class RemoteFSSnapDriverBase(RemoteFSDriver):
|
|||||||
'type': 'qcow2',
|
'type': 'qcow2',
|
||||||
'volume_id': snapshot.volume.id}
|
'volume_id': snapshot.volume.id}
|
||||||
|
|
||||||
del(snap_info[snapshot.id])
|
del (snap_info[snapshot.id])
|
||||||
update_format = True
|
update_format = True
|
||||||
else:
|
else:
|
||||||
# blockCommit snapshot into base
|
# blockCommit snapshot into base
|
||||||
@ -1848,7 +1848,7 @@ class RemoteFSSnapDriverBase(RemoteFSDriver):
|
|||||||
'type': 'qcow2',
|
'type': 'qcow2',
|
||||||
'volume_id': snapshot.volume.id}
|
'volume_id': snapshot.volume.id}
|
||||||
|
|
||||||
del(snap_info[snapshot.id])
|
del (snap_info[snapshot.id])
|
||||||
|
|
||||||
self._nova_assisted_vol_snap_delete(context, snapshot, delete_info)
|
self._nova_assisted_vol_snap_delete(context, snapshot, delete_info)
|
||||||
|
|
||||||
|
@ -486,7 +486,7 @@ class WindowsSmbfsDriver(remotefs_drv.RevertToSnapshotMixin,
|
|||||||
self._delete(merged_img_path)
|
self._delete(merged_img_path)
|
||||||
|
|
||||||
# TODO(lpetrut): drop snapshot info file usage.
|
# TODO(lpetrut): drop snapshot info file usage.
|
||||||
del(snap_info[snapshot.id])
|
del (snap_info[snapshot.id])
|
||||||
self._write_info_file(info_path, snap_info)
|
self._write_info_file(info_path, snap_info)
|
||||||
|
|
||||||
if not isinstance(snapshot, objects.Snapshot):
|
if not isinstance(snapshot, objects.Snapshot):
|
||||||
|
@ -3112,7 +3112,7 @@ class VolumeManager(manager.CleanableManager,
|
|||||||
|
|
||||||
# Don't allow volume with replicas to be migrated
|
# Don't allow volume with replicas to be migrated
|
||||||
rep_status = volume.replication_status
|
rep_status = volume.replication_status
|
||||||
if(rep_status is not None and rep_status not in
|
if (rep_status is not None and rep_status not in
|
||||||
[fields.ReplicationStatus.DISABLED,
|
[fields.ReplicationStatus.DISABLED,
|
||||||
fields.ReplicationStatus.NOT_CAPABLE]):
|
fields.ReplicationStatus.NOT_CAPABLE]):
|
||||||
_retype_error(context, volume, old_reservations,
|
_retype_error(context, volume, old_reservations,
|
||||||
|
@ -17,7 +17,7 @@ class FakeTarget(iscsi.ISCSITarget):
|
|||||||
VERSION = '0.1'
|
VERSION = '0.1'
|
||||||
|
|
||||||
def _get_target_and_lun(self, context, volume):
|
def _get_target_and_lun(self, context, volume):
|
||||||
return(0, 0)
|
return (0, 0)
|
||||||
|
|
||||||
def create_iscsi_target(self, name, tid, lun, path,
|
def create_iscsi_target(self, name, tid, lun, path,
|
||||||
chap_auth, **kwargs):
|
chap_auth, **kwargs):
|
||||||
|
@ -163,7 +163,7 @@ class BrcdFCZoneClientCLI(object):
|
|||||||
'zone_members_with_sep': zone_members_with_sep}
|
'zone_members_with_sep': zone_members_with_sep}
|
||||||
LOG.debug("Creating zone, cmd to run %s", cmd)
|
LOG.debug("Creating zone, cmd to run %s", cmd)
|
||||||
self.apply_zone_change(cmd.split())
|
self.apply_zone_change(cmd.split())
|
||||||
if(iterator_count > 0):
|
if (iterator_count > 0):
|
||||||
zone_with_sep += ';'
|
zone_with_sep += ';'
|
||||||
iterator_count += 1
|
iterator_count += 1
|
||||||
zone_with_sep += zone
|
zone_with_sep += zone
|
||||||
@ -244,7 +244,7 @@ class BrcdFCZoneClientCLI(object):
|
|||||||
'zone_members_with_sep': zone_members_with_sep}
|
'zone_members_with_sep': zone_members_with_sep}
|
||||||
LOG.debug("Updating zone, cmd to run %s", cmd)
|
LOG.debug("Updating zone, cmd to run %s", cmd)
|
||||||
self.apply_zone_change(cmd.split())
|
self.apply_zone_change(cmd.split())
|
||||||
if(iterator_count > 0):
|
if (iterator_count > 0):
|
||||||
zone_with_sep += ';'
|
zone_with_sep += ';'
|
||||||
iterator_count += 1
|
iterator_count += 1
|
||||||
zone_with_sep += zone
|
zone_with_sep += zone
|
||||||
@ -350,7 +350,7 @@ class BrcdFCZoneClientCLI(object):
|
|||||||
|
|
||||||
def _cfg_trans_abort(self):
|
def _cfg_trans_abort(self):
|
||||||
is_abortable = self._is_trans_abortable()
|
is_abortable = self._is_trans_abortable()
|
||||||
if(is_abortable):
|
if (is_abortable):
|
||||||
self.apply_zone_change([zone_constant.CFG_ZONE_TRANS_ABORT])
|
self.apply_zone_change([zone_constant.CFG_ZONE_TRANS_ABORT])
|
||||||
|
|
||||||
def _is_trans_abortable(self):
|
def _is_trans_abortable(self):
|
||||||
@ -361,7 +361,7 @@ class BrcdFCZoneClientCLI(object):
|
|||||||
output = stdout.splitlines()
|
output = stdout.splitlines()
|
||||||
is_abortable = False
|
is_abortable = False
|
||||||
for line in output:
|
for line in output:
|
||||||
if(zone_constant.TRANS_ABORTABLE in line):
|
if (zone_constant.TRANS_ABORTABLE in line):
|
||||||
is_abortable = True
|
is_abortable = True
|
||||||
break
|
break
|
||||||
if stderr:
|
if stderr:
|
||||||
@ -437,7 +437,7 @@ class BrcdFCZoneClientCLI(object):
|
|||||||
"""
|
"""
|
||||||
return_list = []
|
return_list = []
|
||||||
for line in switch_data:
|
for line in switch_data:
|
||||||
if not(" NL " in line or " N " in line):
|
if not (" NL " in line or " N " in line):
|
||||||
continue
|
continue
|
||||||
linesplit = line.split(';')
|
linesplit = line.split(';')
|
||||||
if len(linesplit) > 2:
|
if len(linesplit) > 2:
|
||||||
|
@ -896,7 +896,7 @@ class BrcdHTTPFCZoneClient(object):
|
|||||||
timeout = 360
|
timeout = 360
|
||||||
sleep_time = 3
|
sleep_time = 3
|
||||||
time_elapsed = 0
|
time_elapsed = 0
|
||||||
while(status != "done"):
|
while (status != "done"):
|
||||||
txn_response = self.connect(
|
txn_response = self.connect(
|
||||||
zone_constant.GET_METHOD, transURL, "", headers)
|
zone_constant.GET_METHOD, transURL, "", headers)
|
||||||
parsed_data_txn = self.get_parsed_data(txn_response,
|
parsed_data_txn = self.get_parsed_data(txn_response,
|
||||||
|
@ -219,7 +219,7 @@ class CiscoFCSanLookupService(fc_service.FCSanLookupService):
|
|||||||
"""
|
"""
|
||||||
nsinfo_list = []
|
nsinfo_list = []
|
||||||
for line in switch_data:
|
for line in switch_data:
|
||||||
if not(" N " in line):
|
if not (" N " in line):
|
||||||
continue
|
continue
|
||||||
linesplit = line.split()
|
linesplit = line.split()
|
||||||
if len(linesplit) > 2:
|
if len(linesplit) > 2:
|
||||||
|
@ -407,7 +407,7 @@ class CiscoFCZoneClientCLI(object):
|
|||||||
"""
|
"""
|
||||||
return_list = []
|
return_list = []
|
||||||
for line in switch_data:
|
for line in switch_data:
|
||||||
if not(" N " in line):
|
if not (" N " in line):
|
||||||
continue
|
continue
|
||||||
linesplit = line.split()
|
linesplit = line.split()
|
||||||
if len(linesplit) > 2:
|
if len(linesplit) > 2:
|
||||||
|
5
tox.ini
5
tox.ini
@ -233,9 +233,6 @@ commands =
|
|||||||
#
|
#
|
||||||
# E251 unexpected spaces around keyword / parameter equals
|
# E251 unexpected spaces around keyword / parameter equals
|
||||||
# reason: no improvement in readability
|
# reason: no improvement in readability
|
||||||
# E275: missing whitespace after keyword
|
|
||||||
# reason: many failures newly triggered in pycodestyle 2.9.0,
|
|
||||||
# evaluate if fixing is worthwhile
|
|
||||||
# E402 module level import not at top of file
|
# E402 module level import not at top of file
|
||||||
# reason: there are numerous places where we import modules
|
# reason: there are numerous places where we import modules
|
||||||
# later for legitimate reasons
|
# later for legitimate reasons
|
||||||
@ -251,7 +248,7 @@ commands =
|
|||||||
# reason: no real benefit
|
# reason: no real benefit
|
||||||
# G200 Logging statements should not include the exception
|
# G200 Logging statements should not include the exception
|
||||||
# reason: Many existing cases of this that may be legitimate
|
# reason: Many existing cases of this that may be legitimate
|
||||||
ignore = E251,E275,E402,W503,W504,H101,G200
|
ignore = E251,E402,W503,W504,H101,G200
|
||||||
# H904 Delay string interpolations at logging calls.
|
# H904 Delay string interpolations at logging calls.
|
||||||
enable-extensions = H106,H203,H904
|
enable-extensions = H106,H203,H904
|
||||||
exclude = .git,.venv,.tox,dist,tools,doc/ext,*egg,build
|
exclude = .git,.venv,.tox,dist,tools,doc/ext,*egg,build
|
||||||
|
Loading…
Reference in New Issue
Block a user