示例#1
0
    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
示例#2
0
 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]
示例#3
0
    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))
示例#4
0
    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]
示例#5
0
    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)
示例#6
0
    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)