Пример #1
0
    def test_enroll_default(self, mock_check_existing, mock_client,
                            mock_create_node):
        mock_client.return_value = self.ironic
        introspection_data = {'test': 'test'}

        discovery.enroll_node_not_found_hook(introspection_data)

        mock_create_node.assert_called_once_with('fake', ironic=self.ironic,
                                                 driver_info={})
        mock_check_existing.assert_called_once_with(
            introspection_data, {}, self.ironic)
Пример #2
0
    def test_enroll_with_non_default_driver(self, mock_check_existing,
                                            mock_client, mock_create_node):
        mock_client.return_value = self.ironic
        discovery.CONF.set_override('enroll_node_driver', 'fake2', 'discovery')
        mock_check_existing = copy_call_args(mock_check_existing)
        introspection_data = {}

        discovery.enroll_node_not_found_hook(introspection_data)

        mock_create_node.assert_called_once_with('fake2',
                                                 ironic=self.ironic,
                                                 driver_info={})
        mock_check_existing.assert_called_once_with({}, {}, self.ironic)
        self.assertEqual({'auto_discovered': True}, introspection_data)
Пример #3
0
    def test_enroll_with_ipmi_address(self, mock_check_existing, mock_client,
                                      mock_create_node):
        mock_client.return_value = self.ironic
        expected_data = copy.deepcopy(self.data)
        mock_check_existing = copy_call_args(mock_check_existing)

        discovery.enroll_node_not_found_hook(self.data)

        mock_create_node.assert_called_once_with(
            'fake-hardware',
            ironic=self.ironic,
            driver_info={'ipmi_address': self.bmc_address})
        mock_check_existing.assert_called_once_with(
            expected_data, {'ipmi_address': self.bmc_address}, self.ironic)
        self.assertTrue(self.data['auto_discovered'])
    def test_enroll_with_non_default_driver(self, mock_check_existing,
                                            mock_client, mock_create_node):
        mock_client.return_value = self.ironic
        discovery.CONF.set_override('enroll_node_driver', 'fake2',
                                    'discovery')
        mock_check_existing = copy_call_args(mock_check_existing)
        introspection_data = {}

        discovery.enroll_node_not_found_hook(introspection_data)

        mock_create_node.assert_called_once_with('fake2', ironic=self.ironic,
                                                 driver_info={})
        mock_check_existing.assert_called_once_with(
            {}, {}, self.ironic)
        self.assertEqual({'auto_discovered': True}, introspection_data)
Пример #5
0
    def test_enroll_with_ipmi_address(self, mock_check_existing, mock_client,
                                      mock_create_node):
        mock_client.return_value = self.ironic
        introspection_data = {'ipmi_address': '1.2.3.4'}
        expected_data = introspection_data.copy()
        mock_check_existing = copy_call_args(mock_check_existing)

        discovery.enroll_node_not_found_hook(introspection_data)

        mock_create_node.assert_called_once_with(
            'fake', ironic=self.ironic,
            driver_info={'ipmi_address': '1.2.3.4'})
        mock_check_existing.assert_called_once_with(
            expected_data, {'ipmi_address': '1.2.3.4'}, self.ironic)
        self.assertEqual({'ipmi_address': '1.2.3.4', 'auto_discovered': True},
                         introspection_data)
    def test_enroll_with_fields(self, mock_check_existing, mock_client,
                                mock_create_node):
        mock_client.return_value = self.ironic
        discovery.CONF.set_override('enroll_node_fields',
                                    {'power_interface': 'other'}, 'discovery')
        mock_check_existing = copy_call_args(mock_check_existing)
        introspection_data = {}

        discovery.enroll_node_not_found_hook(introspection_data)

        mock_create_node.assert_called_once_with('fake-hardware',
                                                 ironic=self.ironic,
                                                 driver_info={},
                                                 provision_state='enroll',
                                                 power_interface='other')
        mock_check_existing.assert_called_once_with({}, {}, self.ironic)
        self.assertEqual({'auto_discovered': True}, introspection_data)
Пример #7
0
    def test_enroll_with_ipmi_v6address(self, mock_check_existing, mock_client,
                                        mock_create_node):
        mock_client.return_value = self.ironic
        # By default enabled_bmc_address_version="4,6".
        # Because bmc_address is not set (pop it) _extract_node_driver_info
        # method returns bmc_v6address
        self.data['inventory'].pop('bmc_address')
        expected_data = copy.deepcopy(self.data)
        mock_check_existing = copy_call_args(mock_check_existing)

        discovery.enroll_node_not_found_hook(self.data)

        mock_create_node.assert_called_once_with(
            'fake-hardware',
            ironic=self.ironic,
            driver_info={'ipmi_address': self.bmc_v6address})
        mock_check_existing.assert_called_once_with(
            expected_data, {'ipmi_address': self.bmc_v6address}, self.ironic)
        self.assertTrue(self.data['auto_discovered'])