Beispiel #1
0
def get_vm_info_by_uuid(host, vm_uuid):
    """
    得到单台VM的详细
    @host: XenServer主机
    @vm_uuid: VM的UUID
    """
    for ip, session in global_xenserver_conn.items():
        if ip == host:
            try:
                vms = session.xenapi.VM.get_all()
            except Exception, e:
                session = global_xenserver_conn.get(e.details[1])
                vms = session.xenapi.VM.get_all()
            for vm in vms:
                record = session.xenapi.VM.get_record(vm)
                if not record["is_a_template"] and not record["is_control_domain"]:
                    if record["uuid"] == vm_uuid:
                        return record
Beispiel #2
0
def get_xenserver_host_all():
    '''
    获取所有xenserver的简略信息
    '''
    final_hosts = []
    for ip, session in global_xenserver_conn.items():
        temp = {}
        try:
            hosts = session.xenapi.host.get_all()
        except Exception, e:
            continue
        temp[ip] = []
        i = 1
        for host in hosts:
            temp_host = get_host_info(session, host, verbose=False)
            temp_host['id'] = i
            i += 1
            temp[ip].append(temp_host)

        temp[ip].sort()
        temp = check_if_has_master(temp, session)
        final_hosts.append(temp)

        final_hosts.sort()
Beispiel #3
0
def get_xenserver_host_all():
    """
    获取所有xenserver的简略信息
    """
    final_hosts = []
    for ip, session in global_xenserver_conn.items():
        temp = {}
        try:
            hosts = session.xenapi.host.get_all()
        except Exception, e:
            continue
        temp[ip] = []
        i = 1
        for host in hosts:
            temp_host = get_host_info(session, host, verbose=False)
            temp_host["id"] = i
            i += 1
            temp[ip].append(temp_host)

        temp[ip].sort()
        temp = check_if_has_master(temp, session)
        final_hosts.append(temp)

        final_hosts.sort()