示例#1
0
async def vif_set_qos_speed_by_uuid(cluster_id: str, vif_uuid: str,
                                    speed: str):
    """ Set VIF QoS Speed by UUID """
    session = create_session(cluster_id)
    vif: VIF = VIF.get_by_uuid(session, vif_uuid)

    speedNum = speed

    try:
        speedNum = int(speed)
    except ValueError:
        return {"success": False}

    if speedNum <= 0:
        a = vif.set_qos_type("")
        b = vif.set_qos_info({})

        ret = {"success": a and b}

    else:
        if vif is not None:
            if vif.get_qos_type() != "ratelimit":
                vif.set_qos_type("ratelimit")

            ret = {"success": vif.set_qos_info({"kbps": speed})}
        else:
            ret = {"success": False}

    session.xenapi.session.logout()
    return ret
示例#2
0
async def vif_get_by_uuid(cluster_id: str, vif_uuid: str):
    """ Get VIF by UUID """
    session = create_session(cluster_id)
    vif: VIF = VIF.get_by_uuid(session, vif_uuid)

    if vif is not None:
        ret = {"success": True, "data": vif.serialize()}
    else:
        ret = {"success": False}

    session.xenapi.session.logout()
    return ret
示例#3
0
async def vif_get_qos_speed_by_uuid(cluster_id: str, vif_uuid: str):
    """ Set VIF QoS Type by UUID """
    session = create_session(cluster_id)
    vif: VIF = VIF.get_by_uuid(session, vif_uuid)

    if vif is not None:
        ret = {"success": True, "data": vif.get_qos_info()['kbps']}
    else:
        ret = {"success": False}

    session.xenapi.session.logout()
    return ret
示例#4
0
async def vif_list(cluster_id: str):
    """ Get All from Storage Repos """
    session = create_session(cluster_id)
    vifs = VIF.get_all(session)

    santilized_vifs = []
    for vif in vifs:
        santilized_vifs.append(vif.serialize())

    ret = {"success": True, "data": santilized_vifs}

    session.xenapi.session.logout()
    return ret
示例#5
0
    def get_VIFs(self):
        from XenXenXenSe.VIF import VIF

        try:
            vifs = self.session.xenapi.VM.get_VIFs(self.vm)

            vif_list = []
            for vif in vifs:
                thisVIF = VIF(self.session, vif)
                vif_list.append(thisVIF)

            return vif_list
        except Exception as e:
            print("VIF.get_VIFs Exception", e)
            return None