Discussion:
[Libstoragemgmt-devel] [PATCH] PY: Clean up error code usage.
Tony Asleson
2014-04-22 16:38:57 UTC
Permalink
Signed-off-by: Tony Asleson <***@redhat.com>
---
lsm/lsm/nstor.py | 2 +-
lsm/lsm/simarray.py | 88 ++++++++++++++++++++++++++---------------------------
lsm/lsm/smis.py | 6 ++--
lsm/lsm/targetd.py | 5 +--
4 files changed, 51 insertions(+), 50 deletions(-)

diff --git a/lsm/lsm/nstor.py b/lsm/lsm/nstor.py
index cf6f276..73c0e5e 100644
--- a/lsm/lsm/nstor.py
+++ b/lsm/lsm/nstor.py
@@ -743,7 +743,7 @@ class NexentaStor(INfs, IStorageAreaNetwork):
Adds an initiator to an access group
"""
if id_type != Initiator.TYPE_ISCSI:
- raise LsmError(ErrorNumber.INVALID_ARGUMENT,
+ raise LsmError(ErrorNumber.UNSUPPORTED_INITIATOR_TYPE,
"ISCSI only initator type supported")

self._add_initiator(group.name, initiator_id)
diff --git a/lsm/lsm/simarray.py b/lsm/lsm/simarray.py
index 29cab42..2aafa04 100644
--- a/lsm/lsm/simarray.py
+++ b/lsm/lsm/simarray.py
@@ -83,7 +83,7 @@ class SimArray(object):

@staticmethod
def _version_error(dump_file):
- raise LsmError(ErrorNumber.INVALID_ARGUMENT,
+ raise LsmError(ErrorNumber.INTERNAL_ERROR,
"Stored simulator state incompatible with "
"simulator, please move or delete %s" %
dump_file)
@@ -890,7 +890,7 @@ class SimData(object):
if vol_id in self.vol_dict.keys():
del(self.vol_dict[vol_id])
return
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such volume: %s" % vol_id)

def volume_resize(self, vol_id, new_size_bytes, flags=0):
@@ -905,13 +905,13 @@ class SimData(object):
self.vol_dict[vol_id]['total_space'] = new_size_bytes
self.vol_dict[vol_id]['consume_size'] = new_size_bytes
return self.vol_dict[vol_id]
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such volume: %s" % vol_id)

def volume_replicate(self, dst_pool_id, rep_type, src_vol_id, new_vol_name,
flags=0):
if src_vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such volume: %s" % src_vol_id)
size_bytes = self.vol_dict[src_vol_id]['total_space']
size_bytes = SimData._block_rounding(size_bytes)
@@ -954,11 +954,11 @@ class SimData(object):
def volume_replicate_range(self, rep_type, src_vol_id, dst_vol_id, ranges,
flags=0):
if src_vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % src_vol_id)

if dst_vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % dst_vol_id)

sim_reps = []
@@ -983,7 +983,7 @@ class SimData(object):

def volume_online(self, vol_id, flags=0):
if vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % vol_id)
# TODO: Volume.STATUS_XXX does have indication about volume offline
# or online, meanwhile, cmdline does not support volume_online()
@@ -992,7 +992,7 @@ class SimData(object):

def volume_offline(self, vol_id, flags=0):
if vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % vol_id)
# TODO: Volume.STATUS_XXX does have indication about volume offline
# or online, meanwhile, cmdline does not support volume_online()
@@ -1004,7 +1004,7 @@ class SimData(object):
If volume is a src or dst of a replication, we return True.
"""
if vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % vol_id)
if 'replicate' in self.vol_dict[vol_id].keys() and \
self.vol_dict[vol_id]['replicate']:
@@ -1017,7 +1017,7 @@ class SimData(object):

def volume_child_dependency_rm(self, vol_id, flags=0):
if vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % vol_id)
if 'replicate' in self.vol_dict[vol_id].keys() and \
self.vol_dict[vol_id]['replicate']:
@@ -1095,7 +1095,7 @@ class SimData(object):
raise LsmError(ErrorNumber.NOT_FOUND_ACCESS_GROUP,
"Access group not found: %s" % ag_id)
if vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % vol_id)
if 'mask' not in self.vol_dict[vol_id].keys():
self.vol_dict[vol_id]['mask'] = dict()
@@ -1108,7 +1108,7 @@ class SimData(object):
raise LsmError(ErrorNumber.NOT_FOUND_ACCESS_GROUP,
"Access group not found: %s" % ag_id)
if vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % vol_id)
if 'mask' not in self.vol_dict[vol_id].keys():
return None
@@ -1133,7 +1133,7 @@ class SimData(object):

def access_groups_granted_to_volume(self, vol_id, flags=0):
if vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % vol_id)
sim_ags = []
if 'mask' in self.vol_dict[vol_id].keys():
@@ -1147,7 +1147,7 @@ class SimData(object):

def initiator_grant(self, init_id, init_type, vol_id, access, flags):
if vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % vol_id)
if init_id not in self.init_dict.keys():
sim_init = dict()
@@ -1164,10 +1164,10 @@ class SimData(object):

def initiator_revoke(self, init_id, vol_id, flags=0):
if vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % vol_id)
if init_id not in self.init_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_INITIATOR,
"No such Initiator: %s" % init_id)

if 'mask_init' in self.vol_dict[vol_id].keys():
@@ -1189,7 +1189,7 @@ class SimData(object):

def volumes_accessible_by_initiator(self, init_id, flags=0):
if init_id not in self.init_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_INITIATOR,
"No such Initiator: %s" % init_id)
rc_dedup_dict = dict()
ag_ids = self._ag_ids_of_init(init_id)
@@ -1206,7 +1206,7 @@ class SimData(object):

def initiators_granted_to_volume(self, vol_id, flags=0):
if vol_id not in self.vol_dict.keys():
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"No such Volume: %s" % vol_id)
rc_dedup_dict = dict()
sim_ags = self.access_groups_granted_to_volume(vol_id, flags)
@@ -1223,7 +1223,7 @@ class SimData(object):
def iscsi_chap_auth(self, init_id, in_user, in_pass, out_user, out_pass,
flags=0):
if init_id not in self.init_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_INITIATOR,
"No such Initiator: %s" % init_id)
if self.init_dict[init_id]['init_type'] != Initiator.TYPE_ISCSI:
raise LsmError(ErrorNumber.UNSUPPORTED_INITIATOR_TYPE,
@@ -1257,7 +1257,7 @@ class SimData(object):
if fs_id in self.fs_dict.keys():
del(self.fs_dict[fs_id])
return
- raise LsmError(ErrorNumber.INVALID_FS,
+ raise LsmError(ErrorNumber.NOT_FOUND_SS,
"No such File System: %s" % fs_id)

def fs_resize(self, fs_id, new_size_bytes, flags=0):
@@ -1273,15 +1273,15 @@ class SimData(object):
self.fs_dict[fs_id]['free_space'] = new_size_bytes
self.fs_dict[fs_id]['consume_size'] = new_size_bytes
return self.fs_dict[fs_id]
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.NOT_FOUND_FS,
"No such File System: %s" % fs_id)

def fs_clone(self, src_fs_id, dst_fs_name, snap_id, flags=0):
if src_fs_id not in self.fs_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_SS,
"No such File System: %s" % src_fs_id)
if snap_id and snap_id not in self.snap_dict.keys():
- raise LsmError(ErrorNumber.INVALID_SS,
+ raise LsmError(ErrorNumber.NOT_FOUND_SS,
"No such Snapshot: %s" % snap_id)
src_sim_fs = self.fs_dict[src_fs_id]
dst_sim_fs = self.fs_create(
@@ -1295,17 +1295,17 @@ class SimData(object):

def file_clone(self, fs_id, src_fs_name, dst_fs_name, snap_id, flags=0):
if fs_id not in self.fs_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_FS,
"No such File System: %s" % fs_id)
if snap_id and snap_id not in self.snap_dict.keys():
- raise LsmError(ErrorNumber.INVALID_SS,
+ raise LsmError(ErrorNumber.NOT_FOUND_SS,
"No such Snapshot: %s" % snap_id)
# TODO: No file clone query API yet, no need to do anything internally
return None

def fs_snapshots(self, fs_id, flags=0):
if fs_id not in self.fs_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_SS,
"No such File System: %s" % fs_id)
rc = []
if 'snaps' in self.fs_dict[fs_id].keys():
@@ -1315,7 +1315,7 @@ class SimData(object):

def fs_snapshot_create(self, fs_id, snap_name, files, flags=0):
if fs_id not in self.fs_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_FS,
"No such File System: %s" % fs_id)
if 'snaps' not in self.fs_dict[fs_id].keys():
self.fs_dict[fs_id]['snaps'] = []
@@ -1335,10 +1335,10 @@ class SimData(object):

def fs_snapshot_delete(self, fs_id, snap_id, flags=0):
if fs_id not in self.fs_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_FS,
"No such File System: %s" % fs_id)
if snap_id not in self.snap_dict.keys():
- raise LsmError(ErrorNumber.INVALID_SS,
+ raise LsmError(ErrorNumber.NOT_FOUND_SS,
"No such Snapshot: %s" % snap_id)
del self.snap_dict[snap_id]
new_snap_ids = []
@@ -1351,17 +1351,17 @@ class SimData(object):
def fs_snapshot_revert(self, fs_id, snap_id, files, restore_files,
flag_all_files, flags):
if fs_id not in self.fs_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_FS,
"No such File System: %s" % fs_id)
if snap_id not in self.snap_dict.keys():
- raise LsmError(ErrorNumber.INVALID_SS,
+ raise LsmError(ErrorNumber.NOT_FOUND_SS,
"No such Snapshot: %s" % snap_id)
# Nothing need to done internally for revert.
return None

def fs_child_dependency(self, fs_id, files, flags=0):
if fs_id not in self.fs_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_SS,
"No such File System: %s" % fs_id)
if 'snaps' not in self.fs_dict[fs_id].keys():
return False
@@ -1380,7 +1380,7 @@ class SimData(object):

def fs_child_dependency_rm(self, fs_id, files, flags=0):
if fs_id not in self.fs_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_SS,
"No such File System: %s" % fs_id)
if 'snaps' not in self.fs_dict[fs_id].keys():
return None
@@ -1429,7 +1429,7 @@ class SimData(object):
def fs_export(self, fs_id, exp_path, root_hosts, rw_hosts, ro_hosts,
anon_uid, anon_gid, auth_type, options, flags=0):
if fs_id not in self.fs_dict.keys():
- raise LsmError(ErrorNumber.INVALID_INIT,
+ raise LsmError(ErrorNumber.NOT_FOUND_SS,
"No such File System: %s" % fs_id)
sim_exp = dict()
sim_exp['exp_id'] = self._next_exp_id()
@@ -1450,7 +1450,7 @@ class SimData(object):

def fs_unexport(self, exp_id, flags=0):
if exp_id not in self.exp_dict.keys():
- raise LsmError(ErrorNumber.INVALID_NFS,
+ raise LsmError(ErrorNumber.NOT_FOUND_NFS_EXPORT,
"No such NFS Export: %s" % exp_id)
del self.exp_dict[exp_id]
return None
@@ -1568,7 +1568,7 @@ class SimData(object):
# 4. All disks' total space is the same.
if len(member_ids) <= 0:
if raise_error:
- raise LsmError(ErrorNumber.INVALID_DISK,
+ raise LsmError(ErrorNumber.INVALID_ARGUMENT,
"No disk ID defined")
else:
return None
@@ -1588,7 +1588,7 @@ class SimData(object):
for disk_id in member_ids:
if disk_id not in self.disk_dict.keys():
if raise_error:
- raise LsmError(ErrorNumber.INVALID_DISK,
+ raise LsmError(ErrorNumber.NOT_FOUND_DISK,
"The disk ID %s does not exist" % disk_id)
else:
return None
@@ -1667,7 +1667,7 @@ class SimData(object):
return newly create sim_pool or None.
"""
if sys_id != SimData.SIM_DATA_SYS_ID:
- raise LsmError(ErrorNumber.INVALID_SYSTEM,
+ raise LsmError(ErrorNumber.NOT_FOUND_SYSTEM,
"No such system: %s" % sys_id)

return self._pool_create_from_disks(pool_name, member_ids, raid_type,
@@ -1680,7 +1680,7 @@ class SimData(object):
# 3. All volumes are free.
if len(member_ids) == 0:
if raise_error:
- raise LsmError(ErrorNumber.INVALID_VOLUME,
+ raise LsmError(ErrorNumber.INVALID_ARGUMENT,
"No volume ID defined")
else:
return None
@@ -1699,7 +1699,7 @@ class SimData(object):
for vol_id in member_ids:
if vol_id not in self.vol_dict.keys() and raise_error:
if raise_error:
- raise LsmError(ErrorNumber.INVALID_DISK,
+ raise LsmError(ErrorNumber.NOT_FOUND_VOLUME,
"The vol ID %s does not exist" % vol_id)
else:
return None
@@ -1762,7 +1762,7 @@ class SimData(object):
def pool_create_from_volumes(self, sys_id, pool_name, member_ids,
raid_type, flags=0):
if sys_id != SimData.SIM_DATA_SYS_ID:
- raise LsmError(ErrorNumber.INVALID_SYSTEM,
+ raise LsmError(ErrorNumber.NOT_FOUND_SYSTEM,
"No such system: %s" % sys_id)
return self._pool_create_from_volumes(pool_name, member_ids, raid_type,
raise_error=True)
@@ -1808,7 +1808,7 @@ class SimData(object):
def pool_create_from_pool(self, sys_id, pool_name, member_id, size_bytes,
flags=0):
if sys_id != SimData.SIM_DATA_SYS_ID:
- raise LsmError(ErrorNumber.INVALID_SYSTEM,
+ raise LsmError(ErrorNumber.NOT_FOUND_SYSTEM,
"No such system: %s" % sys_id)
return self._pool_create_from_pool(pool_name, member_id, size_bytes,
raise_error=True)
@@ -2005,7 +2005,7 @@ class SimData(object):
raid_type=Pool.RAID_TYPE_UNKNOWN,
member_type=Pool.MEMBER_TYPE_UNKNOWN, flags=0):
if sys_id != SimData.SIM_DATA_SYS_ID:
- raise LsmError(ErrorNumber.INVALID_SYSTEM,
+ raise LsmError(ErrorNumber.NOT_FOUND_SYSTEM,
"No such system: %s" % sys_id)

size_bytes = SimData._block_rounding(size_bytes)
@@ -2078,7 +2078,7 @@ class SimData(object):

def pool_delete(self, pool_id, flags=0):
if pool_id not in self.pool_dict.keys():
- raise LsmError(ErrorNumber.INVALID_POOL,
+ raise LsmError(ErrorNumber.NOT_FOUND_POOL,
"Pool not found: %s" % pool_id)

volumes = self.volumes()
diff --git a/lsm/lsm/smis.py b/lsm/lsm/smis.py
index 5516883..2583cff 100644
--- a/lsm/lsm/smis.py
+++ b/lsm/lsm/smis.py
@@ -2101,7 +2101,7 @@ class Smis(IStorageAreaNetwork):
return access_groups
else:
raise LsmError(
- ErrorNumber.PLUGIN_ERROR,
+ ErrorNumber.NOT_FOUND_ACCESS_GROUP,
'Error: access group %s does not exist!' % volume.id)

@handle_cim_errors
@@ -3078,7 +3078,7 @@ class Smis(IStorageAreaNetwork):
PropertyList=['SystemName',
'DeviceID'])
if len(cim_disks) == 0:
- raise LsmError(ErrorNumber.INVALID_DISK, "No disk found")
+ raise LsmError(ErrorNumber.NOT_FOUND_DISK, "No disk found")

disk_id_2_cim = {}
for cim_disk in cim_disks:
@@ -3091,7 +3091,7 @@ class Smis(IStorageAreaNetwork):
cim_pri_ext = self._pri_cim_ext_of_cim_disk(cim_disk.path)
cim_pri_exts.extend([cim_pri_ext])
else:
- raise LsmError(ErrorNumber.INVALID_DISK,
+ raise LsmError(ErrorNumber.NOT_FOUND_DISK,
"Disk with ID %s cannot be found\n" % disk_id)
return cim_pri_exts

diff --git a/lsm/lsm/targetd.py b/lsm/lsm/targetd.py
index 5bbb4ae..aec9e86 100644
--- a/lsm/lsm/targetd.py
+++ b/lsm/lsm/targetd.py
@@ -260,7 +260,8 @@ class TargetdStorage(IStorageAreaNetwork, INfs):
def initiator_grant(self, initiator_id, initiator_type, volume, access,
flags=0):
if initiator_type != Initiator.TYPE_ISCSI:
- raise LsmError(ErrorNumber.NO_SUPPORT, "Not supported")
+ raise LsmError(ErrorNumber.UNSUPPORTED_INITIATOR_TYPE,
+ "Not supported")

# find lowest unused lun and use that
used_luns = [x['lun'] for x in self._jsonrequest("export_list")]
@@ -506,7 +507,7 @@ class TargetdStorage(IStorageAreaNetwork, INfs):

fs_path = self._get_fs_path(fs_id)
if fs_path is None:
- raise LsmError(ErrorNumber.INVALID_FS, "File system not found")
+ raise LsmError(ErrorNumber.NOT_FOUND_FS, "File system not found")

for host in rw_list:
tmp_opts = copy.copy(base_opts)
--
1.8.2.1
Loading...