def _to_node(self, domain): state, max_mem, memory, vcpu_count, used_cpu_time = domain.info() state = self.NODE_STATE_MAP.get(state, NodeState.UNKNOWN) public_ips, private_ips = [], [] ip_addresses = self._get_ip_addresses_for_domain(domain) for ip_address in ip_addresses: if is_public_subnet(ip_address): public_ips.append(ip_address) else: private_ips.append(ip_address) extra = { 'uuid': domain.UUIDString(), 'os_type': domain.OSType(), 'types': self.connection.getType(), 'used_memory': memory / 1024, 'vcpu_count': vcpu_count, 'used_cpu_time': used_cpu_time } node = Node(id=domain.ID(), name=domain.name(), state=state, public_ips=public_ips, private_ips=private_ips, driver=self, extra=extra) node._uuid = domain.UUIDString() # we want to use a custom UUID return node
def _to_node(self, vm): config = vm.summary.config datacenter = self._get_datacenter(vm) extra = { "path": config.vmPathName, "operating_system": config.guestFullName, "os_type": "windows" if "Microsoft" in config.guestFullName \ else "unix", "memory_MB": config.memorySizeMB, "cpus": config.numCpu, "overallStatus": str(vm.summary.overallStatus), "datacenter": datacenter, } kwargs = { "id": config.instanceUuid, "name": config.name, "state": self.NODE_STATE_MAP.get(vm.summary.runtime.powerState, NodeState.UNKNOWN), "public_ips": [], "private_ips": [], "driver": self, "extra": extra, } for nic in vm.guest.net: for addr in nic.ipAddress: try: if is_public_subnet(addr): kwargs['public_ips'].append(addr) else: kwargs['private_ips'].append(addr) except OSError: # inet_aton error for ipv6 addrs pass node = Node(**kwargs) node._uuid = kwargs['id'] return node
def _to_node(self, domain): state, max_mem, memory, vcpu_count, used_cpu_time = domain.info() state = self.NODE_STATE_MAP.get(state, NodeState.UNKNOWN) public_ips, private_ips = [], [] ip_addresses = self._get_ip_addresses_for_domain(domain) for ip_address in ip_addresses: if is_public_subnet(ip_address): public_ips.append(ip_address) else: private_ips.append(ip_address) extra = {'uuid': domain.UUIDString(), 'os_type': domain.OSType(), 'types': self.connection.getType(), 'used_memory': memory / 1024, 'vcpu_count': vcpu_count, 'used_cpu_time': used_cpu_time} node = Node(id=domain.ID(), name=domain.name(), state=state, public_ips=public_ips, private_ips=private_ips, driver=self, extra=extra) node._uuid = domain.UUIDString() # we want to use a custom UUID return node