def resource_setup(cls):
        super(BaremetalStandaloneScenarioTest, cls).resource_setup()
        base.set_baremetal_api_microversion(cls.api_microversion)
        for v in cls.mandatory_attr:
            if getattr(cls, v) is None:
                raise lib_exc.InvalidConfiguration(
                    "Mandatory attribute %s not set." % v)
        image_checksum = None
        if not uuidutils.is_uuid_like(cls.image_ref):
            image_checksum = cls.image_checksum
        boot_kwargs = {'image_checksum': image_checksum}
        if cls.bios_interface:
            boot_kwargs['bios_interface'] = cls.bios_interface
        if cls.deploy_interface:
            boot_kwargs['deploy_interface'] = cls.deploy_interface
        if cls.rescue_interface:
            boot_kwargs['rescue_interface'] = cls.rescue_interface
        if cls.boot_interface:
            boot_kwargs['boot_interface'] = cls.boot_interface
        if cls.raid_interface:
            boot_kwargs['raid_interface'] = cls.raid_interface
        if cls.management_interface:
            boot_kwargs['management_interface'] = cls.management_interface
        if cls.power_interface:
            boot_kwargs['power_interface'] = cls.power_interface

        # just get an available node
        cls.node = cls.get_and_reserve_node()
        cls.update_node_driver(cls.node['uuid'], cls.driver, **boot_kwargs)
예제 #2
0
    def resource_cleanup(cls):
        """Ensure that all created objects get destroyed."""
        # Use the requested microversion for cleanup to ensure we can delete
        # resources.
        base.set_baremetal_api_microversion(cls.request_microversion)
        try:
            for node in cls.deployed_nodes:
                try:
                    cls.set_node_provision_state(node, 'deleted',
                                                 ['available', None])
                except lib_exc.BadRequest:
                    pass

            # Delete allocations explicitly after unprovisioning instances, but
            # before deleting nodes.
            for allocation in cls.created_objects['allocation']:
                try:
                    cls.client.delete_allocation(allocation)
                except lib_exc.NotFound:
                    pass

            for node in cls.created_objects['node']:
                try:
                    cls.client.update_node(node, instance_uuid=None)
                except lib_exc.TempestException:
                    pass

            for resource in RESOURCE_TYPES:
                uuids = cls.created_objects[resource]
                delete_method = getattr(cls.client, 'delete_%s' % resource)
                for u in uuids:
                    delete_method(u, ignore_errors=lib_exc.NotFound)
        finally:
            base.reset_baremetal_api_microversion()
            super(BaseBaremetalTest, cls).resource_cleanup()
 def resource_setup(cls):
     super(BaremetalStandaloneScenarioTest, cls).resource_setup()
     base.set_baremetal_api_microversion(cls.api_microversion)
     for v in cls.mandatory_attr:
         if getattr(cls, v) is None:
             raise lib_exc.InvalidConfiguration(
                 "Mandatory attribute %s not set." % v)
     cls.node = cls.boot_node(cls.driver, cls.image_ref)
     cls.node_ip = cls.add_floatingip_to_node(cls.node['uuid'])
 def resource_setup(cls):
     super(BaremetalStandaloneScenarioTest, cls).resource_setup()
     base.set_baremetal_api_microversion(cls.api_microversion)
     for v in cls.mandatory_attr:
         if getattr(cls, v) is None:
             raise lib_exc.InvalidConfiguration(
                 "Mandatory attribute %s not set." % v)
     image_checksum = None
     if not uuidutils.is_uuid_like(cls.image_ref):
         image_checksum = cls.image_checksum
     cls.node = cls.boot_node(cls.driver, cls.image_ref,
                              image_checksum=image_checksum)
     cls.node_ip = cls.add_floatingip_to_node(cls.node['uuid'])
 def _setUp(self):
     super(APIMicroversionFixture, self)._setUp()
     base.set_baremetal_api_microversion(self.baremetal_microversion)
     self.addCleanup(base.reset_baremetal_api_microversion)