示例#1
0
async def vif_list(cluster_id: str):
    """ Get All from Storage Repos """
    try:
        try:
            session = create_session(
                _id=cluster_id, get_xen_clusters=Settings.get_xen_clusters()
            )
        except KeyError as key_error:
            raise HTTPException(
                status_code=400, detail=f"{key_error} is not a valid path"
            )

        vifs = VIF.get_all(session=session)

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

        ret = dict(success=True, data=__santilized_vifs)

        session.xenapi.session.logout()
        return ret
    except Fault as xml_rpc_error:
        raise HTTPException(
            status_code=int(xml_rpc_error.faultCode),
            detail=xml_rpc_error.faultString,
        )
    except RemoteDisconnected as rd_error:
        raise HTTPException(status_code=500, detail=rd_error.strerror)
示例#2
0
async def vif_list(cluster_id: str):
    """Get All from Storage Repos"""

    try:
        session = create_session(_id=cluster_id,
                                 get_xen_clusters=Settings.get_xen_clusters())

        vifs = VIF.get_all(session=session)
        __santilized_vifs = await asyncio.gather(
            *[serialize(vif) for vif in vifs])

        ret = dict(success=True, data=__santilized_vifs)

        session.xenapi.session.logout()
        return ret
    except Failure as xenapi_error:
        raise HTTPException(status_code=500,
                            detail=xenapi_failure_jsonify(xenapi_error))
    except Fault as xml_rpc_error:
        raise HTTPException(
            status_code=int(xml_rpc_error.faultCode),
            detail=xml_rpc_error.faultString,
        )
    except RemoteDisconnected as rd_error:
        raise HTTPException(status_code=500, detail=rd_error.strerror)