def format_machine(self, machine): """Format machine data. :param machine: Reference to a machine. """ addresses = json.dumps(machine.networks) av_host = "-" try: av_host = getattr(machine, "OS-EXT-SRV-ATTR:hypervisor_hostname") except AttributeError: pass av_zone = "-" try: av_zone = getattr(machine, "OS-EXT-AZ:availability_zone") except AttributeError: pass new = Machine(uuid=_uuid.UUID(machine.id), provider_id=self.provider.provider_id, av_zone=":".join([av_zone, av_host]), addresses=addresses ) return new
def search(self, generic_filters, meta_filters): """Return machines based on the provided filters. """ machine = Machine( uuid=_uuid.uuid4(), provider_id=self.provider.provider_id, av_zone="av_zone:host", addresses="127.0.0.1" ) return [machine]
def test_machines(self): """Check machines created within a provider. """ machine_1 = Machine(uuid=self.uuid_1, provider_id=self.provider.provider_id, av_zone=self.av_zone) Machine.add(machine_1) machine_2 = Machine(uuid=self.uuid_2, provider_id=self.provider.provider_id, av_zone=self.av_zone) Machine.add(machine_2) ret = [ isinstance(machine, Machine) for machine in \ Machine.machines(self.provider.provider_id) ] self.assertEqual(len(ret), 2) self.assertTrue(all(ret))
def create_machines(self, parameters, wait_spawning): """Create machines. """ _LOGGER.debug("Creating a machine: provider (%s), parameters (%s).", self.provider, parameters) machine = Machine(uuid=_uuid.uuid4(), provider_id=self.provider.provider_id, av_zone="av_zone:host", addresses="127.0.0.1") return [machine]
def test_storage(self): """Test using Machine's storage. """ src_machine = Machine(uuid=self.uuid_1, provider_id=self.provider.provider_id, av_zone=self.av_zone) Machine.add(src_machine) dst_machine = Machine.fetch(self.uuid_1) self.assertEqual(src_machine, dst_machine) self.assertNotEqual(id(src_machine), id(dst_machine)) Machine.remove(src_machine) dst_machine = Machine.fetch(self.uuid_1) self.assertEqual(None, dst_machine)
def test_properties(self): """Test setting/reading Machine's properties. """ machine = Machine(uuid=self.uuid_1, provider_id=self.provider.provider_id, av_zone=self.av_zone) # Check property uuid. self.assertEqual(machine.uuid, self.uuid_1) # Check property provider_id. self.assertEqual(machine.provider_id, self.provider_id) # Check property av_zone. self.assertEqual(machine.av_zone, self.av_zone)