def exportgroup_remove_volumes_by_uri( self, exportgroup_uri, volumeIdList, sync=False, tenantname=None, projectname=None, snapshots=None, cg=None ): # if snapshot given then snapshot added to exportgroup volume_snapshots = volumeIdList if snapshots: resuri = None if cg: blockTypeName = "consistency-groups" from consistencygroup import ConsistencyGroup cgObject = ConsistencyGroup(self.__ipAddr, self.__port) resuri = cgObject.consistencygroup_query(cg, projectname, tenantname) else: blockTypeName = "volumes" if len(volumeIdList) > 0: resuri = volumeIdList[0] volume_snapshots = [] snapshotObject = Snapshot(self.__ipAddr, self.__port) for snapshot in snapshots: volume_snapshots.append(snapshotObject.snapshot_query("block", blockTypeName, resuri, snapshot)) parms = {} parms["volume_changes"] = self._remove_list(volume_snapshots) o = self.send_json_request(exportgroup_uri, parms) return self.check_for_sync(o, sync) # initator """
def _get_resource_lun_tuple(self, resources, resType, baseResUri, tenantname, projectname, blockTypeName): copyEntries = [] snapshotObject = Snapshot(self.__ipAddr, self.__port) volumeObject = Volume(self.__ipAddr, self.__port) for copy in resources: copyParam = [] try: copyParam = copy.split(":") except Exception as e: raise SOSError( SOSError.CMD_LINE_ERR, "Please provide valid format volume: lun for parameter " + resType ) copy = dict() if not len(copyParam): raise SOSError(SOSError.CMD_LINE_ERR, "Please provide atleast volume for parameter " + resType) if resType == "volumes": fullvolname = tenantname + "/" + projectname + "/" fullvolname += copyParam[0] copy["id"] = volumeObject.volume_query(fullvolname) if resType == "snapshots": copy["id"] = snapshotObject.snapshot_query("block", blockTypeName, baseResUri, copyParam[0]) if len(copyParam) > 1: copy["lun"] = copyParam[1] copyEntries.append(copy) return copyEntries """