示例#1
0
    def _check_status(self, task):
        state_before = task.node.provision_state
        result = inspector._check_status(task)
        state_after = task.node.provision_state

        # inspection finished
        if (state_before == states.INSPECTING and
            state_after in [states.MANAGEABLE, states.INSPECTFAIL]):
            deploy_utils.deallocate_server_hardware_from_ironic(task.node)

        return result
示例#2
0
 def test_deallocate_server_hardware_from_ironic(self, mock_node_save,
                                                 mock_oneview_client):
     client = mock_oneview_client()
     server_hardware = {'serverProfileUri': 'any/applied_sp_uri/'}
     client.server_hardware.get.return_value = server_hardware
     with task_manager.acquire(self.context, self.node.uuid) as task:
         task.node.driver_info['applied_server_profile_uri'] = (
             'any/applied_sp_uri/')
         deploy_utils.deallocate_server_hardware_from_ironic(client, task)
         self.assertTrue(client.server_profiles.delete.called)
         self.assertNotIn('applied_server_profile_uri',
                          task.node.driver_info)
示例#3
0
    def _check_status(self, task):
        state_before = task.node.provision_state
        result = inspector._check_status(task)
        state_after = task.node.provision_state

        # inspection finished
        if (
            state_before == states.INSPECTING and state_after in [
                states.MANAGEABLE, states.INSPECTFAIL
            ]
        ):
            deploy_utils.deallocate_server_hardware_from_ironic(
                self.oneview_client, task.node)

        return result
示例#4
0
    def test_deallocate_server_hardware_from_ironic(self, mock_node_save,
                                                    mock_get_ov_client):
        oneview_client = mock_get_ov_client()

        fake_sh = oneview_models.ServerHardware()
        fake_sh.server_profile_uri = 'any/applied_sp_uri/'
        oneview_client.get_server_hardware_by_uuid.return_value = fake_sh
        mock_get_ov_client.return_value = oneview_client

        with task_manager.acquire(self.context, self.node.uuid) as task:
            driver_info = task.node.driver_info
            driver_info['applied_server_profile_uri'] = 'any/applied_sp_uri/'
            task.node.driver_info = driver_info

            deploy_utils.deallocate_server_hardware_from_ironic(
                oneview_client, task.node)
            self.assertTrue(oneview_client.delete_server_profile.called)
            self.assertTrue(
                'applied_server_profile_uri' not in task.node.driver_info)
示例#5
0
    def test_deallocate_server_hardware_from_ironic(
        self, mock_node_save, mock_get_ov_client
    ):
        oneview_client = mock_get_ov_client()

        fake_sh = oneview_models.ServerHardware()
        fake_sh.server_profile_uri = 'any/applied_sp_uri/'
        oneview_client.get_server_hardware_by_uuid.return_value = fake_sh
        mock_get_ov_client.return_value = oneview_client

        with task_manager.acquire(self.context, self.node.uuid) as task:
            driver_info = task.node.driver_info
            driver_info['applied_server_profile_uri'] = 'any/applied_sp_uri/'
            task.node.driver_info = driver_info

            deploy_utils.deallocate_server_hardware_from_ironic(
                oneview_client, task.node
            )
            self.assertTrue(oneview_client.delete_server_profile.called)
            self.assertTrue(
                'applied_server_profile_uri' not in task.node.driver_info
            )