def exportgroup_list(args): obj = ExportGroup(args.ip, args.port) try: uris = obj.exportgroup_list(args.project, args.tenant) output = [] if len(uris) > 0: for uri in uris: eg = obj.exportgroup_show(uri, args.project, args.tenant) # The following code is to get volume/snapshot name part of # export group list. if eg: if "project" in eg and "name" in eg["project"]: del eg["project"]["name"] volumeuris = common.get_node_value(eg, "volumes") volobj = Volume(args.ip, args.port) snapobj = Snapshot(args.ip, args.port) volnames = [] strvol = "" for volumeuri in volumeuris: strvol = str(volumeuri["id"]) if strvol.find("urn:storageos:Volume") >= 0: vol = volobj.show_by_uri(strvol) if vol: volnames.append(vol["name"]) elif strvol.find("urn:storageos:BlockSnapshot") >= 0: snapshot = snapobj.snapshot_show_uri("block", None, strvol) if snapshot: volnames.append(snapshot["name"]) eg["volumes_snapshots"] = volnames output.append(eg) if args.verbose: return common.format_json_object(output) if len(output) > 0: if args.long: from common import TableGenerator TableGenerator( output, ["module/name", "volumes_snapshots", "initiator_node", "initiator_port", "tags"] ).printTable() else: from common import TableGenerator TableGenerator(output, ["module/name"]).printTable() except SOSError as e: raise common.format_err_msg_and_raise("list", "exportgroup", e.err_text, e.err_code)
def exportgroup_list(args): obj = ExportGroup(args.ip, args.port) try: uris = obj.exportgroup_list(args.project, args.tenant) output = [] if(len(uris) > 0): for uri in uris: eg = obj.exportgroup_show(uri, args.project, args.tenant) # The following code is to get volume/snapshot name part of export group list. if(eg): if("project" in eg and "name" in eg["project"]): del eg["project"]["name"] volumeuris = common.get_node_value(eg, "volumes") volobj = Volume(args.ip, args.port) snapobj = Snapshot(args.ip, args.port) volnames = [] strvol = "" for volumeuri in volumeuris: strvol = str(volumeuri['id']) if(strvol.find('urn:storageos:Volume') >= 0): vol = volobj.show_by_uri(strvol) if(vol): volnames.append(vol['name']) elif(strvol.find('urn:storageos:BlockSnapshot')>= 0): snapshot = snapobj.snapshot_show_uri('block', None, strvol) if(snapshot): volnames.append(snapshot['name']) eg['volumes_snapshots']=volnames output.append(eg) if(args.verbose == True): return common.format_json_object(output) if(len(output) > 0): if(args.long == True): from common import TableGenerator TableGenerator(output, ['name', 'volumes_snapshots','initiator_node', 'initiator_port']).printTable() else: from common import TableGenerator TableGenerator(output, ['name']).printTable() except SOSError as e: raise common.format_err_msg_and_raise("list", "exportgroup", e.err_text, e.err_code)