Пример #1
0
def get_target_volume(ngams_server):
    """
    Get a random target volume with availability
    :param ngams_server: Reference to NG/AMS server class object (ngamsServer)
    :return: Target volume object or None (ngamsDiskInfo | None)
    """
    sql = "select %s from ngas_disks nd " \
          "where completed=0 AND host_id={0} order by available_mb desc" % ngamsDbCore.getNgasDisksCols()
    result = ngams_server.getDb().query2(sql, args=(ngams_server.getHostId(),))
    if not result:
        return None
    else:
        return ngamsDiskInfo.ngamsDiskInfo().unpackSqlResult(result[0])
Пример #2
0
def getTargetVolume(srvObj):
    """
    Get the volume with most space available

    srvObj:         Reference to NG/AMS server class object (ngamsServer).

    Returns:        Target volume object or None (ngamsDiskInfo | None).
    """

    sqlQuery = GET_AVAIL_VOLS_QUERY % ngamsDbCore.getNgasDisksCols()
    res = srvObj.getDb().query2(sqlQuery, args=(srvObj.getHostId(), ))
    if not res:
        return None
    else:
        return ngamsDiskInfo.ngamsDiskInfo().unpackSqlResult(res[0])
Пример #3
0
def getTargetVolume(srvObj):
    """
    Get a random target volume with availability.

    srvObj:         Reference to NG/AMS server class object (ngamsServer).

    Returns:        Target volume object or None (ngamsDiskInfo | None).
    """

    sqlQuery = "SELECT %s FROM ngas_disks nd WHERE completed=0 AND " + \
               "host_id={0} order by available_mb desc" % ngamsDbCore.getNgasDisksCols()
    res = srvObj.getDb().query2(sqlQuery, args=(srvObj.getHostId(), ))
    if not res:
        return None
    else:
        return ngamsDiskInfo.ngamsDiskInfo().unpackSqlResult(res[0])
Пример #4
0
def get_mounted_disk_info(ngams_server, mount_point):
    disk_info = _cached_disk_info.get((ngams_server.getHostId(), mount_point),
                                      None)
    if disk_info is None:
        sql = "select %s from ngas_disks nd where mount_point = {0} and host_id = {1}"\
              % ngamsDbCore.getNgasDisksCols()
        result = ngams_server.getDb().query2(sql,
                                             args=(mount_point,
                                                   ngams_server.getHostId()))
        if not result:
            disk_info = None
        else:
            disk_info = ngamsDiskInfo.ngamsDiskInfo().unpackSqlResult(
                result[0])
            _cached_disk_info[(ngams_server.getHostId(),
                               mount_point)] = disk_info
    return disk_info
Пример #5
0
def getMountedDiskInfo(srvObj, mountPoint):
    diskinfo = _cached_disk_info.get((srvObj.getHostId(), mountPoint), None)
    if diskinfo == None:
        sqlQuery = "SELECT %s FROM ngas_disks nd WHERE mount_point = {0} and host_id = {1}" % ngamsDbCore.getNgasDisksCols(
        )
        res = srvObj.getDb().query2(sqlQuery,
                                    args=(mountPoint, srvObj.getHostId()))
        if not res:
            diskinfo = None
        else:
            diskinfo = ngamsDiskInfo.ngamsDiskInfo().unpackSqlResult(res[0])
            _cached_disk_info[(srvObj.getHostId(), mountPoint)] = diskinfo
    return diskinfo