Ejemplo n.º 1
0
async def get_cd_insert_inurl(cluster_id: str, vm_uuid: str, vdi_uuid: str):
    session = create_session(cluster_id)

    vm: VM = VM.get_by_uuid(session, vm_uuid)

    if vm is not None:

        newVBD = vm.get_CD()

        if newVBD is not None:

            from XenXenXenSe.VDI import VDI

            vdi: VDI = VDI.get_by_uuid(session, vdi_uuid)

            if vdi is not None:
                success = newVBD.insert(vdi)

                if success:
                    ret = {"success": success, "data": vdi.serialize()}
                else:
                    ret = {"success": success}
            else:
                ret = {"success": False}
        else:
            ret = {"success": False}
    else:
        ret = {"success": False}

    session.xenapi.session.logout()
    return ret
Ejemplo n.º 2
0
async def vdi_get_by_uuid(cluster_id: str, vdi_uuid: str):
    """ Get VDI by UUID """
    session = create_session(cluster_id)
    vdi: VDI = VDI.get_by_uuid(session, vdi_uuid)

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

    session.xenapi.session.logout()
    return ret
Ejemplo n.º 3
0
    def get_VDI(self) -> VDI:
        """ get VDI attached to the specified VBD """
        try:
            vdi = self.session.xenapi.VBD.get_VDI(self.vbd)

            if vdi is not None:
                return VDI(self.session, vdi)
            else:
                return None
        except Exception as e:
            print("VBD.get_VDI Exception", e)
            return None
Ejemplo n.º 4
0
async def vdi_get_by_uuid(cluster_id: str, vdi_uuid: str):
    """ Delete SR by UUID """
    session = create_session(cluster_id)
    vdi: VDI = VDI.get_by_uuid(session, vdi_uuid)

    if vdi is not None:
        ret = {"success": vdi.destroy()}
    else:
        ret = {"success": False}

    session.xenapi.session.logout()
    return ret
Ejemplo n.º 5
0
    def get_VDIs(self):
        try:
            vdis = self.session.xenapi.SR.get_VDIs(self.sr)

            vdi_list = []
            for vdi in vdis:
                vdi_list.append(VDI(self.session, vdi))

            return vdi_list

        except Exception as e:
            print("SR.get_VDIs Exception", e)
            return
Ejemplo n.º 6
0
async def vdi_list(cluster_id: str):
    """ Get VDI by UUID """
    session = create_session(cluster_id)
    vdis = VDI.get_all(session)

    vdi_list = []
    for vdi in vdis:
        vdi_list.append(vdi.serialize())

    if vdis is not None:
        ret = {"success": True, "data": vdi_list}
    else:
        ret = {"success": False}

    session.xenapi.session.logout()
    return ret
Ejemplo n.º 7
0
async def insert_cd_inurl_name(cluster_id: str, iso_name: str):
    """ Find VDI by Name """
    session = create_session(cluster_id)
    vdis = VDI.get_by_name(session, iso_name)
    print(vdis)

    if vdis is not None:
        vdis_list = []
        for vdi in vdis:
            vdis_list.append(vdi.serialize())

        ret = {"success": True, "data": vdis_list}
    else:
        ret = {"success": False}

    session.xenapi.session.logout()
    return ret
Ejemplo n.º 8
0
async def find_VDI_by_name(cluster_id: str, args: NameArgs):
    """ Find VDI by Name """
    session = create_session(cluster_id)
    name = args.name
    vdis = VDI.get_by_name(session, name)

    if vdis is not None:
        vdis_list = []
        for vdi in vdis:
            vdis_list.append(vdi.serialize())

        ret = {"success": True, "data": vdis_list}
    else:
        ret = {"success": False}

    session.xenapi.session.logout()
    return ret
Ejemplo n.º 9
0
async def vbd_insert_vdi_by_uuid(cluster_id: str, vbd_uuid: str, vdi_uuid: str):
    """ Insert VDI into VBD by UUID """
    session = create_session(cluster_id)
    vdi: VDI = VDI.get_by_uuid(session, vdi_uuid)

    if vdi is None:
        ret = {"success": False}
        session.xenapi.session.logout()
        return ret

    vbd: VBD = VBD.get_by_uuid(session, vbd_uuid)

    if vbd is not None:
        ret = {"success": vbd.insert(vdi)}
    else:
        ret = {"success": False}

    session.xenapi.session.logout()
    return ret