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
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()
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()