mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-09 16:00:22 +00:00
cleanup: restructure a part of existing code
Have restructered a part of existing code so that it would be useful to get pvdata Signed-off-by: Mudit Agarwal <muagarwa@redhat.com>
This commit is contained in:
parent
82080dcfa9
commit
2ef5729a28
@ -111,14 +111,16 @@ def format_and_print_tables(arg, pvcs, table_rbd, table_cephfs):
|
|||||||
"""
|
"""
|
||||||
if arg.pvcname != "":
|
if arg.pvcname != "":
|
||||||
pvname = pvcs['spec']['volumeName']
|
pvname = pvcs['spec']['volumeName']
|
||||||
if is_rbd_pv(arg, pvname):
|
pvdata = get_pv_data(arg, pvname)
|
||||||
|
if is_rbd_pv(arg, pvname, pvdata):
|
||||||
format_table(arg, pvcs, table_rbd, True)
|
format_table(arg, pvcs, table_rbd, True)
|
||||||
else:
|
else:
|
||||||
format_table(arg, pvcs, table_cephfs, False)
|
format_table(arg, pvcs, table_cephfs, False)
|
||||||
else:
|
else:
|
||||||
for pvc in pvcs['items']:
|
for pvc in pvcs['items']:
|
||||||
pvname = pvc['spec']['volumeName']
|
pvname = pvc['spec']['volumeName']
|
||||||
if is_rbd_pv(arg, pvname):
|
pvdata = get_pv_data(arg, pvname)
|
||||||
|
if is_rbd_pv(arg, pvname, pvdata):
|
||||||
format_table(arg, pvc, table_rbd, True)
|
format_table(arg, pvc, table_rbd, True)
|
||||||
else:
|
else:
|
||||||
format_table(arg, pvc, table_cephfs, False)
|
format_table(arg, pvc, table_cephfs, False)
|
||||||
@ -163,7 +165,6 @@ def format_table(arg, pvc_data, table, is_rbd):
|
|||||||
table.add_row([pvcname, pvname, image_name, pv_present,
|
table.add_row([pvcname, pvname, image_name, pv_present,
|
||||||
uuid_present, present_in_cluster])
|
uuid_present, present_in_cluster])
|
||||||
|
|
||||||
|
|
||||||
def validate_volume_in_rados(arg, image_id, pvc_name, pool_name, is_rbd):
|
def validate_volume_in_rados(arg, image_id, pvc_name, pool_name, is_rbd):
|
||||||
"""
|
"""
|
||||||
validate volume information in rados
|
validate volume information in rados
|
||||||
@ -469,11 +470,27 @@ def get_subvol_group(arg):
|
|||||||
subvol_group = data['cephFS']['subvolumeGroup']
|
subvol_group = data['cephFS']['subvolumeGroup']
|
||||||
return subvol_group
|
return subvol_group
|
||||||
|
|
||||||
def is_rbd_pv(arg, pvname):
|
def is_rbd_pv(arg, pvname, pvdata):
|
||||||
"""
|
"""
|
||||||
Checks if volume attributes in a pv has an attribute named 'fsname'.
|
Checks if volume attributes in a pv has an attribute named 'fsname'.
|
||||||
If it has, returns False else return True.
|
If it has, returns False else return True.
|
||||||
"""
|
"""
|
||||||
|
if not pvdata:
|
||||||
|
if arg.debug:
|
||||||
|
print("failed to get pvdata for %s", pvname)
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
volume_attr = pvdata['spec']['csi']['volumeAttributes']
|
||||||
|
key = 'fsName'
|
||||||
|
if key in volume_attr.keys():
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
def get_pv_data(arg, pvname):
|
||||||
|
"""
|
||||||
|
Returns pv data for a given pvname.
|
||||||
|
"""
|
||||||
|
pvdata = {}
|
||||||
cmd = [arg.command]
|
cmd = [arg.command]
|
||||||
if arg.kubeconfig != "":
|
if arg.kubeconfig != "":
|
||||||
cmd += ["--config", arg.kubeconfig]
|
cmd += ["--config", arg.kubeconfig]
|
||||||
@ -490,15 +507,11 @@ def is_rbd_pv(arg, pvname):
|
|||||||
sys.exit()
|
sys.exit()
|
||||||
try:
|
try:
|
||||||
pvdata = json.loads(stdout)
|
pvdata = json.loads(stdout)
|
||||||
volume_attr = pvdata['spec']['csi']['volumeAttributes']
|
|
||||||
key = 'fsName'
|
|
||||||
if key in volume_attr.keys():
|
|
||||||
return False
|
|
||||||
except ValueError as err:
|
except ValueError as err:
|
||||||
if arg.degug:
|
if arg.debug:
|
||||||
print("failed to get pv %s", err)
|
print("failed to get pv %s", err)
|
||||||
sys.exit()
|
sys.exit()
|
||||||
return True
|
return pvdata
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
ARGS = PARSER.parse_args()
|
ARGS = PARSER.parse_args()
|
||||||
|
Loading…
Reference in New Issue
Block a user