Remove the fake_agent, fake_pxe and fake_inspector drivers

Change-Id: I2ea9d7c0f41988d063cd6e1c7a31a0dfb62c620e
This commit is contained in:
Dmitry Tantsur 2018-06-05 16:31:36 +02:00
parent d95197628c
commit 05e6dff464
12 changed files with 80 additions and 133 deletions

View File

@ -20,8 +20,8 @@ from ironic.conf import auth
opts = [
cfg.BoolOpt('enabled', default=False,
help=_('whether to enable inspection using ironic-inspector. '
'This option does not affect new-style dynamic drivers '
'and the fake_inspector driver.')),
'This option does not affect new-style dynamic '
'drivers.')),
cfg.StrOpt('service_url',
deprecated_for_removal=True,
deprecated_reason=_("Use [inspector]/endpoint_override option "

View File

@ -22,7 +22,6 @@ from oslo_utils import importutils
from ironic.common import exception
from ironic.common.i18n import _
from ironic.drivers import base
from ironic.drivers.modules import agent
from ironic.drivers.modules.cimc import management as cimc_mgmt
from ironic.drivers.modules.cimc import power as cimc_power
from ironic.drivers.modules.drac import inspect as drac_inspect
@ -34,7 +33,6 @@ from ironic.drivers.modules import fake
from ironic.drivers.modules.ilo import inspect as ilo_inspect
from ironic.drivers.modules.ilo import management as ilo_management
from ironic.drivers.modules.ilo import power as ilo_power
from ironic.drivers.modules import inspector
from ironic.drivers.modules import ipmitool
from ironic.drivers.modules.irmc import inspect as irmc_inspect
from ironic.drivers.modules.irmc import management as irmc_management
@ -42,7 +40,6 @@ from ironic.drivers.modules.irmc import power as irmc_power
from ironic.drivers.modules import iscsi_deploy
from ironic.drivers.modules.oneview import management as oneview_management
from ironic.drivers.modules.oneview import power as oneview_power
from ironic.drivers.modules import pxe
from ironic.drivers.modules import snmp
from ironic.drivers.modules.ucs import management as ucs_mgmt
from ironic.drivers.modules.ucs import power as ucs_power
@ -92,44 +89,6 @@ class FakeIPMIToolSocatDriver(base.BaseDriver):
}
class FakePXEDriver(base.BaseDriver):
"""Example implementation of a Driver."""
def __init__(self):
self.power = fake.FakePower()
self.boot = pxe.PXEBoot()
self.deploy = iscsi_deploy.ISCSIDeploy()
@classmethod
def to_hardware_type(cls):
return 'fake-hardware', {
'boot': 'pxe',
'deploy': 'iscsi',
'management': 'fake',
'power': 'fake',
}
class FakeAgentDriver(base.BaseDriver):
"""Example implementation of an AgentDriver."""
def __init__(self):
self.power = fake.FakePower()
self.boot = pxe.PXEBoot()
self.deploy = agent.AgentDeploy()
self.raid = agent.AgentRAID()
@classmethod
def to_hardware_type(cls):
return 'fake-hardware', {
'boot': 'pxe',
'deploy': 'direct',
'management': 'fake',
'power': 'fake',
'raid': 'agent'
}
class FakeIloDriver(base.BaseDriver):
"""Fake iLO driver, used in testing."""
@ -231,33 +190,6 @@ class FakeIRMCDriver(base.BaseDriver):
}
class FakeIPMIToolInspectorDriver(base.BaseDriver):
"""Fake Inspector driver."""
def __init__(self):
self.power = ipmitool.IPMIPower()
self.console = ipmitool.IPMIShellinaboxConsole()
self.deploy = fake.FakeDeploy()
self.vendor = ipmitool.VendorPassthru()
self.management = ipmitool.IPMIManagement()
# NOTE(dtantsur): unlike other uses of Inspector, this one is
# unconditional, as this driver is designed for testing inspector
# integration.
self.inspect = inspector.Inspector()
@classmethod
def to_hardware_type(cls):
return 'fake-hardware', {
'boot': 'fake',
'console': 'ipmitool-shellinabox',
'deploy': 'fake',
'inspect': 'inspector',
'management': 'ipmitool',
'power': 'ipmitool',
'vendor': 'ipmitool',
}
class FakeUcsDriver(base.BaseDriver):
"""Fake UCS driver."""

View File

@ -418,16 +418,14 @@ class HardwareTypeLoadTestCase(db_base.DbTestCase):
self.assertIsInstance(hw_type, fake_hardware.FakeHardware)
def test_get_hardware_type_missing(self):
self.config(enabled_drivers=['fake_agent'])
self.assertRaises(exception.DriverNotFound,
# "fake_agent" is a classic driver
driver_factory.get_hardware_type, 'fake_agent')
def test_get_driver_or_hardware_type(self):
self.config(enabled_drivers=['fake_agent'])
self.config(enabled_drivers=['pxe_ipmitool'])
hw_type = driver_factory.get_driver_or_hardware_type('fake-hardware')
self.assertIsInstance(hw_type, fake_hardware.FakeHardware)
driver = driver_factory.get_driver_or_hardware_type('fake_agent')
driver = driver_factory.get_driver_or_hardware_type('pxe_ipmitool')
self.assertNotIsInstance(driver, fake_hardware.FakeHardware)
def test_get_driver_or_hardware_type_missing(self):

View File

@ -1904,6 +1904,7 @@ class IRMCVirtualMediaBootWithVolumeTestCase(db_base.DbTestCase):
class IRMCPXEBootBasicTestCase(test_pxe.PXEBootTestCase):
driver = 'pxe_irmc'
boot_interface = None
def test_get_properties(self):
with task_manager.acquire(self.context, self.node.uuid,

View File

@ -51,9 +51,9 @@ CONF = cfg.CONF
class TestAgentMethods(db_base.DbTestCase):
def setUp(self):
super(TestAgentMethods, self).setUp()
self.config(enabled_drivers=['fake_agent'])
self.node = object_utils.create_test_node(self.context,
driver='fake_agent')
boot_interface='pxe',
deploy_interface='direct')
dhcp_factory.DHCPFactory._dhcp_provider = None
@mock.patch.object(images, 'image_show', autospec=True)
@ -141,14 +141,14 @@ class TestAgentMethods(db_base.DbTestCase):
class TestAgentDeploy(db_base.DbTestCase):
def setUp(self):
super(TestAgentDeploy, self).setUp()
self.config(enabled_drivers=['fake_agent'])
self.driver = agent.AgentDeploy()
# NOTE(TheJulia): We explicitly set the noop storage interface as the
# default below for deployment tests in order to raise any change
# in the default which could be a breaking behavior change
# as the storage interface is explicitly an "opt-in" interface.
n = {
'driver': 'fake_agent',
'boot_interface': 'pxe',
'deploy_interface': 'direct',
'instance_info': INSTANCE_INFO,
'driver_info': DRIVER_INFO,
'driver_internal_info': DRIVER_INTERNAL_INFO,
@ -1251,7 +1251,7 @@ class AgentRAIDTestCase(db_base.DbTestCase):
def setUp(self):
super(AgentRAIDTestCase, self).setUp()
self.config(enabled_drivers=['fake_agent'])
self.config(enabled_raid_interfaces=['fake', 'agent', 'no-raid'])
self.target_raid_config = {
"logical_disks": [
{'size_gb': 200, 'raid_level': 0, 'is_root_volume': True},
@ -1260,7 +1260,9 @@ class AgentRAIDTestCase(db_base.DbTestCase):
self.clean_step = {'step': 'create_configuration',
'interface': 'raid'}
n = {
'driver': 'fake_agent',
'boot_interface': 'pxe',
'deploy_interface': 'direct',
'raid_interface': 'agent',
'instance_info': INSTANCE_INFO,
'driver_info': DRIVER_INFO,
'driver_internal_info': DRIVER_INTERNAL_INFO,
@ -1446,7 +1448,6 @@ class AgentRescueTestCase(db_base.DbTestCase):
driver_info.update({'rescue_ramdisk': 'my_ramdisk',
'rescue_kernel': 'my_kernel'})
n = {
'driver': 'fake-hardware',
'instance_info': instance_info,
'driver_info': driver_info,
'driver_internal_info': DRIVER_INTERNAL_INFO,

View File

@ -51,7 +51,6 @@ class ConsoleUtilsTestCase(db_base.DbTestCase):
super(ConsoleUtilsTestCase, self).setUp()
self.node = obj_utils.get_test_node(
self.context,
driver='fake_ipmitool',
driver_info=INFO_DICT)
self.info = ipmi._parse_driver_info(self.node)

View File

@ -1066,8 +1066,8 @@ class OtherFunctionTestCase(db_base.DbTestCase):
def setUp(self):
super(OtherFunctionTestCase, self).setUp()
self.config(enabled_drivers=['fake_pxe'])
self.node = obj_utils.create_test_node(self.context, driver='fake_pxe')
self.node = obj_utils.create_test_node(self.context,
boot_interface='pxe')
def test_get_dev(self):
expected = '/dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9'
@ -1499,7 +1499,6 @@ class AgentMethodsTestCase(db_base.DbTestCase):
def setUp(self):
super(AgentMethodsTestCase, self).setUp()
self.config(enabled_drivers=['fake_agent'])
self.clean_steps = {
'deploy': [
@ -1516,7 +1515,8 @@ class AgentMethodsTestCase(db_base.DbTestCase):
'priority': 10}
]
}
n = {'driver': 'fake_agent',
n = {'boot_interface': 'pxe',
'deploy_interface': 'direct',
'driver_internal_info': {
'agent_cached_clean_steps': self.clean_steps}}
self.node = obj_utils.create_test_node(self.context, **n)
@ -1752,7 +1752,7 @@ class ValidateImagePropertiesTestCase(db_base.DbTestCase):
@mock.patch.object(image_service, 'get_image_service', autospec=True)
def test_validate_image_properties_glance_image(self, image_service_mock):
node = obj_utils.create_test_node(
self.context, driver='fake_pxe',
self.context, boot_interface='pxe',
instance_info=INST_INFO_DICT,
driver_info=DRV_INFO_DICT,
driver_internal_info=DRV_INTERNAL_INFO_DICT,
@ -1772,7 +1772,7 @@ class ValidateImagePropertiesTestCase(db_base.DbTestCase):
def test_validate_image_properties_glance_image_missing_prop(
self, image_service_mock):
node = obj_utils.create_test_node(
self.context, driver='fake_pxe',
self.context, boot_interface='pxe',
instance_info=INST_INFO_DICT,
driver_info=DRV_INFO_DICT,
driver_internal_info=DRV_INTERNAL_INFO_DICT,
@ -1826,7 +1826,7 @@ class ValidateImagePropertiesTestCase(db_base.DbTestCase):
}
image_service_show_mock.return_value = {'size': 1, 'properties': {}}
node = obj_utils.create_test_node(
self.context, driver='fake_pxe',
self.context, boot_interface='pxe',
instance_info=instance_info,
driver_info=DRV_INFO_DICT,
driver_internal_info=DRV_INTERNAL_INFO_DICT,
@ -1849,7 +1849,7 @@ class ValidateImagePropertiesTestCase(db_base.DbTestCase):
img_service_show_mock.side_effect = exception.ImageRefValidationFailed(
image_href='http://ubuntu', reason='HTTPError')
node = obj_utils.create_test_node(
self.context, driver='fake_pxe',
self.context, boot_interface='pxe',
instance_info=instance_info,
driver_info=DRV_INFO_DICT,
driver_internal_info=DRV_INTERNAL_INFO_DICT,
@ -1869,7 +1869,7 @@ class ValidateParametersTestCase(db_base.DbTestCase):
# make sure we get back the expected things
node = obj_utils.create_test_node(
self.context,
driver='fake_pxe',
boot_interface='pxe',
instance_info=instance_info,
driver_info=driver_info,
driver_internal_info=DRV_INTERNAL_INFO_DICT,
@ -1935,7 +1935,7 @@ class InstanceInfoTestCase(db_base.DbTestCase):
def test_parse_instance_info_good(self):
# make sure we get back the expected things
node = obj_utils.create_test_node(
self.context, driver='fake_pxe',
self.context, boot_interface='pxe',
instance_info=INST_INFO_DICT,
driver_internal_info=DRV_INTERNAL_INFO_DICT
)
@ -2184,7 +2184,8 @@ class TestBuildInstanceInfoForDeploy(db_base.DbTestCase):
def setUp(self):
super(TestBuildInstanceInfoForDeploy, self).setUp()
self.node = obj_utils.create_test_node(self.context,
driver='fake_agent')
boot_interface='pxe',
deploy_interface='direct')
@mock.patch.object(image_service.HttpImageService, 'validate_href',
autospec=True)
@ -2205,7 +2206,6 @@ class TestBuildInstanceInfoForDeploy(db_base.DbTestCase):
return_value=image_info)
glance_mock.return_value.swift_temp_url.return_value = (
'http://temp-url')
self.config(enabled_drivers=['fake_agent'])
with task_manager.acquire(
self.context, self.node.uuid, shared=False) as task:
@ -2267,7 +2267,6 @@ class TestBuildInstanceInfoForDeploy(db_base.DbTestCase):
'image_checksum': 'aa',
'image_container_format': 'bare',
'image_disk_format': 'qcow2'}
self.config(enabled_drivers=['fake_agent'])
with task_manager.acquire(
self.context, self.node.uuid, shared=False) as task:
@ -2303,7 +2302,6 @@ class TestBuildInstanceInfoForDeploy(db_base.DbTestCase):
self.node.driver_internal_info = driver_internal_info
self.node.save()
self.config(enabled_drivers=['fake_agent'])
with task_manager.acquire(
self.context, self.node.uuid, shared=False) as task:
@ -2332,7 +2330,6 @@ class TestBuildInstanceInfoForDeploy(db_base.DbTestCase):
self.node.driver_internal_info = driver_internal_info
self.node.save()
self.config(enabled_drivers=['fake_agent'])
validate_href_mock.side_effect = ['http://image-ref',
'http://kernel-ref',
'http://ramdisk-ref']
@ -2371,7 +2368,6 @@ class TestBuildInstanceInfoForDeploy(db_base.DbTestCase):
self.node.instance_info = i_info
self.node.save()
self.config(enabled_drivers=['fake_agent'])
with task_manager.acquire(
self.context, self.node.uuid, shared=False) as task:

View File

@ -113,23 +113,23 @@ class BaseTestCase(db_base.DbTestCase):
def setUp(self):
super(BaseTestCase, self).setUp()
self.config(enabled=True, group='inspector')
self.config(enabled_drivers=['fake_inspector'])
self.driver = driver_factory.get_driver("fake_inspector")
self.node = obj_utils.get_test_node(self.context)
self.node = obj_utils.get_test_node(self.context,
inspect_interface='inspector')
self.iface = inspector.Inspector()
self.task = mock.MagicMock(spec=task_manager.TaskManager)
self.task.context = self.context
self.task.shared = False
self.task.node = self.node
self.task.driver = self.driver
self.task.driver = mock.Mock(spec=['inspect'], inspect=self.iface)
self.api_version = (1, 0)
class CommonFunctionsTestCase(BaseTestCase):
def test_validate_ok(self):
self.driver.inspect.validate(self.task)
self.iface.validate(self.task)
def test_get_properties(self):
res = self.driver.inspect.get_properties()
res = self.iface.get_properties()
self.assertEqual({}, res)
def test_create_if_enabled(self):
@ -150,14 +150,14 @@ class InspectHardwareTestCase(BaseTestCase):
def test_ok(self, mock_client):
mock_introspect = mock_client.return_value.introspect
self.assertEqual(states.INSPECTWAIT,
self.driver.inspect.inspect_hardware(self.task))
self.iface.inspect_hardware(self.task))
mock_introspect.assert_called_once_with(self.node.uuid)
@mock.patch.object(task_manager, 'acquire', autospec=True)
def test_error(self, mock_acquire, mock_client):
mock_introspect = mock_client.return_value.introspect
mock_introspect.side_effect = RuntimeError('boom')
self.driver.inspect.inspect_hardware(self.task)
self.iface.inspect_hardware(self.task)
mock_introspect.assert_called_once_with(self.node.uuid)
task = mock_acquire.return_value.__enter__.return_value
self.assertIn('boom', task.node.last_error)
@ -222,11 +222,11 @@ class CheckStatusTestCase(BaseTestCase):
class InspectHardwareAbortTestCase(BaseTestCase):
def test_abort_ok(self, mock_client):
mock_abort = mock_client.return_value.abort
self.driver.inspect.abort(self.task)
self.iface.abort(self.task)
mock_abort.assert_called_once_with(self.node.uuid)
def test_abort_error(self, mock_client):
mock_abort = mock_client.return_value.abort
mock_abort.side_effect = RuntimeError('boom')
self.assertRaises(RuntimeError, self.driver.inspect.abort, self.task)
self.assertRaises(RuntimeError, self.iface.abort, self.task)
mock_abort.assert_called_once_with(self.node.uuid)

View File

@ -24,8 +24,8 @@ import mock
from oslo_config import cfg
from oslo_utils import fileutils
from ironic.common import boot_devices
from ironic.common import dhcp_factory
from ironic.common import driver_factory
from ironic.common import exception
from ironic.common import pxe_utils
from ironic.common import states
@ -35,6 +35,7 @@ from ironic.conductor import utils as manager_utils
from ironic.drivers.modules import agent_base_vendor
from ironic.drivers.modules import agent_client
from ironic.drivers.modules import deploy_utils
from ironic.drivers.modules import fake
from ironic.drivers.modules import iscsi_deploy
from ironic.drivers.modules.network import flat as flat_network
from ironic.drivers.modules import pxe
@ -56,12 +57,12 @@ class IscsiDeployPrivateMethodsTestCase(db_base.DbTestCase):
def setUp(self):
super(IscsiDeployPrivateMethodsTestCase, self).setUp()
n = {
'driver': 'fake_pxe',
'boot_interface': 'pxe',
'deploy_interface': 'iscsi',
'instance_info': INST_INFO_DICT,
'driver_info': DRV_INFO_DICT,
'driver_internal_info': DRV_INTERNAL_INFO_DICT,
}
self.config(enabled_drivers=['fake_pxe'])
self.node = obj_utils.create_test_node(self.context, **n)
def test__save_disk_layout(self):
@ -98,12 +99,12 @@ class IscsiDeployMethodsTestCase(db_base.DbTestCase):
instance_info = dict(INST_INFO_DICT)
instance_info['deploy_key'] = 'fake-56789'
n = {
'driver': 'fake_pxe',
'boot_interface': 'pxe',
'deploy_interface': 'iscsi',
'instance_info': instance_info,
'driver_info': DRV_INFO_DICT,
'driver_internal_info': DRV_INTERNAL_INFO_DICT,
}
self.config(enabled_drivers=['fake_pxe'])
self.node = obj_utils.create_test_node(self.context, **n)
@mock.patch.object(disk_utils, 'get_image_mb', autospec=True)
@ -545,14 +546,12 @@ class ISCSIDeployTestCase(db_base.DbTestCase):
def setUp(self):
super(ISCSIDeployTestCase, self).setUp()
self.config(enabled_drivers=['fake_pxe'])
self.driver = driver_factory.get_driver("fake_pxe")
# NOTE(TheJulia): We explicitly set the noop storage interface as the
# default below for deployment tests in order to raise any change
# in the default which could be a breaking behavior change
# as the storage interface is explicitly an "opt-in" interface.
self.node = obj_utils.create_test_node(
self.context, driver='fake_pxe',
self.context, boot_interface='pxe', deploy_interface='iscsi',
instance_info=INST_INFO_DICT,
driver_info=DRV_INFO_DICT,
driver_internal_info=DRV_INTERNAL_INFO_DICT,
@ -869,6 +868,7 @@ class ISCSIDeployTestCase(db_base.DbTestCase):
mock.ANY, task)
m_prep_instance.assert_called_once_with(task)
@mock.patch.object(fake.FakeManagement, 'set_boot_device', autospec=True)
@mock.patch.object(agent_base_vendor.AgentDeployMixin,
'reboot_and_finish_deploy', autospec=True)
@mock.patch.object(agent_base_vendor.AgentDeployMixin,
@ -876,7 +876,8 @@ class ISCSIDeployTestCase(db_base.DbTestCase):
@mock.patch.object(iscsi_deploy, 'do_agent_iscsi_deploy', autospec=True)
def test_continue_deploy_localboot(self, do_agent_iscsi_deploy_mock,
configure_local_boot_mock,
reboot_and_finish_deploy_mock):
reboot_and_finish_deploy_mock,
set_boot_device_mock):
self.node.instance_info = {
'capabilities': {'boot_option': 'local'}}
@ -895,7 +896,10 @@ class ISCSIDeployTestCase(db_base.DbTestCase):
efi_system_part_uuid=None)
reboot_and_finish_deploy_mock.assert_called_once_with(
task.driver.deploy, task)
set_boot_device_mock.assert_called_once_with(
mock.ANY, task, device=boot_devices.DISK, persistent=True)
@mock.patch.object(fake.FakeManagement, 'set_boot_device', autospec=True)
@mock.patch.object(agent_base_vendor.AgentDeployMixin,
'reboot_and_finish_deploy', autospec=True)
@mock.patch.object(agent_base_vendor.AgentDeployMixin,
@ -903,7 +907,8 @@ class ISCSIDeployTestCase(db_base.DbTestCase):
@mock.patch.object(iscsi_deploy, 'do_agent_iscsi_deploy', autospec=True)
def test_continue_deploy_localboot_uefi(self, do_agent_iscsi_deploy_mock,
configure_local_boot_mock,
reboot_and_finish_deploy_mock):
reboot_and_finish_deploy_mock,
set_boot_device_mock):
self.node.instance_info = {
'capabilities': {'boot_option': 'local'}}
@ -923,6 +928,8 @@ class ISCSIDeployTestCase(db_base.DbTestCase):
efi_system_part_uuid='efi-part-uuid')
reboot_and_finish_deploy_mock.assert_called_once_with(
task.driver.deploy, task)
set_boot_device_mock.assert_called_once_with(
mock.ANY, task, device=boot_devices.DISK, persistent=True)
# Cleanup of iscsi_deploy with pxe boot interface
@ -932,11 +939,10 @@ class CleanUpFullFlowTestCase(db_base.DbTestCase):
self.config(image_cache_size=0, group='pxe')
# Configure node
self.config(enabled_drivers=['fake_pxe'])
instance_info = INST_INFO_DICT
instance_info['deploy_key'] = 'fake-56789'
self.node = obj_utils.create_test_node(
self.context, driver='fake_pxe',
self.context, boot_interface='pxe', deploy_interface='iscsi',
instance_info=instance_info,
driver_info=DRV_INFO_DICT,
driver_internal_info=DRV_INTERNAL_INFO_DICT,

View File

@ -56,12 +56,12 @@ class PXEPrivateMethodsTestCase(db_base.DbTestCase):
def setUp(self):
super(PXEPrivateMethodsTestCase, self).setUp()
n = {
'driver': 'fake_pxe',
'driver': 'fake-hardware',
'boot_interface': 'pxe',
'instance_info': INST_INFO_DICT,
'driver_info': DRV_INFO_DICT,
'driver_internal_info': DRV_INTERNAL_INFO_DICT,
}
self.config(enabled_drivers=['fake_pxe'])
self.config_temp_dir('http_root', group='deploy')
self.node = obj_utils.create_test_node(self.context, **n)
@ -727,11 +727,10 @@ class PXEPrivateMethodsTestCase(db_base.DbTestCase):
class CleanUpPxeEnvTestCase(db_base.DbTestCase):
def setUp(self):
super(CleanUpPxeEnvTestCase, self).setUp()
self.config(enabled_drivers=['fake_pxe'])
instance_info = INST_INFO_DICT
instance_info['deploy_key'] = 'fake-56789'
self.node = obj_utils.create_test_node(
self.context, driver='fake_pxe',
self.context, boot_interface='pxe',
instance_info=instance_info,
driver_info=DRV_INFO_DICT,
driver_internal_info=DRV_INTERNAL_INFO_DICT,
@ -751,7 +750,8 @@ class CleanUpPxeEnvTestCase(db_base.DbTestCase):
@mock.patch.object(pxe.PXEBoot, '__init__', lambda self: None)
class PXEBootTestCase(db_base.DbTestCase):
driver = 'fake_pxe'
driver = 'fake-hardware'
boot_interface = 'pxe'
def setUp(self):
super(PXEBootTestCase, self).setUp()
@ -759,12 +759,22 @@ class PXEBootTestCase(db_base.DbTestCase):
self.config_temp_dir('tftp_root', group='pxe')
self.config_temp_dir('images_path', group='pxe')
self.config_temp_dir('http_root', group='deploy')
self.config(enabled_drivers=[self.driver])
instance_info = INST_INFO_DICT
instance_info['deploy_key'] = 'fake-56789'
if self.driver != 'fake-hardware':
# TODO(dtantsur): remove this when removing the vendor classic
# drivers
self.config(enabled_drivers=[self.driver])
self.node = obj_utils.create_test_node(
self.context,
driver=self.driver,
boot_interface=self.boot_interface,
# Avoid fake properties in get_properties() output
# TODO(dtantsur): remove the 'if' condition when removing
# the vendor classic drivers
vendor_interface=('no-vendor' if self.driver == 'fake-hardware'
else None),
instance_info=instance_info,
driver_info=DRV_INFO_DICT,
driver_internal_info=DRV_INTERNAL_INFO_DICT)
@ -836,8 +846,8 @@ class PXEBootTestCase(db_base.DbTestCase):
new_node = obj_utils.create_test_node(
self.context,
uuid='aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee',
driver=self.driver, instance_info=INST_INFO_DICT,
driver_info=DRV_INFO_DICT)
driver=self.driver, boot_interface=self.boot_interface,
instance_info=INST_INFO_DICT, driver_info=DRV_INFO_DICT)
with task_manager.acquire(self.context, new_node.uuid,
shared=True) as task:
self.assertRaises(exception.MissingParameterValue,

View File

@ -1,5 +1,12 @@
---
upgrade:
- |
The deprecated classic drivers ``fake`` and ``fake_soft_power`` were
removed. Please use the ``fake-hardware`` hardware type instead.
The following deprecated classic drivers were removed:
* ``fake``
* ``fake_agent``
* ``fake_inspector``
* ``fake_pxe``
* ``fake_soft_power``
Please use the ``fake-hardware`` hardware type instead.

View File

@ -59,11 +59,8 @@ ironic.drivers =
agent_irmc = ironic.drivers.irmc:IRMCVirtualMediaAgentDriver
agent_pxe_oneview = ironic.drivers.oneview:AgentPXEOneViewDriver
agent_ucs = ironic.drivers.agent:AgentAndUcsDriver
fake_agent = ironic.drivers.fake:FakeAgentDriver
fake_inspector = ironic.drivers.fake:FakeIPMIToolInspectorDriver
fake_ipmitool = ironic.drivers.fake:FakeIPMIToolDriver
fake_ipmitool_socat = ironic.drivers.fake:FakeIPMIToolSocatDriver
fake_pxe = ironic.drivers.fake:FakePXEDriver
fake_ilo = ironic.drivers.fake:FakeIloDriver
fake_drac = ironic.drivers.fake:FakeDracDriver
fake_snmp = ironic.drivers.fake:FakeSNMPDriver