Merge "Extend root device hints to support device name"
This commit is contained in:
commit
3ce3b16803
ironic_python_agent
releasenotes/notes
@ -461,7 +461,8 @@ class GenericHardwareManager(HardwareManager):
|
|||||||
|
|
||||||
def check_device_attrs(device):
|
def check_device_attrs(device):
|
||||||
for key in ('model', 'wwn', 'serial', 'vendor',
|
for key in ('model', 'wwn', 'serial', 'vendor',
|
||||||
'wwn_with_extension', 'wwn_vendor_extension'):
|
'wwn_with_extension', 'wwn_vendor_extension',
|
||||||
|
'name'):
|
||||||
if key not in root_device_hints:
|
if key not in root_device_hints:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -304,14 +304,10 @@ class TestGenericHardwareManager(test_base.BaseTestCase):
|
|||||||
|
|
||||||
@mock.patch.object(hardware, 'list_all_block_devices')
|
@mock.patch.object(hardware, 'list_all_block_devices')
|
||||||
@mock.patch.object(utils, 'parse_root_device_hints')
|
@mock.patch.object(utils, 'parse_root_device_hints')
|
||||||
def test_get_os_install_device_root_device_hints(self, mock_root_device,
|
def _get_os_install_device_root_device_hints(self, hints, expected_device,
|
||||||
mock_dev):
|
mock_root_device, mock_dev):
|
||||||
model = 'fastable sd131 7'
|
model = 'fastable sd131 7'
|
||||||
mock_root_device.return_value = {'model': model,
|
mock_root_device.return_value = hints
|
||||||
'wwn': 'fake-wwn',
|
|
||||||
'serial': 'fake-serial',
|
|
||||||
'vendor': 'fake-vendor',
|
|
||||||
'size': 10}
|
|
||||||
mock_dev.return_value = [
|
mock_dev.return_value = [
|
||||||
hardware.BlockDevice(name='/dev/sda',
|
hardware.BlockDevice(name='/dev/sda',
|
||||||
model='TinyUSB Drive',
|
model='TinyUSB Drive',
|
||||||
@ -333,10 +329,35 @@ class TestGenericHardwareManager(test_base.BaseTestCase):
|
|||||||
serial='fake-serial'),
|
serial='fake-serial'),
|
||||||
]
|
]
|
||||||
|
|
||||||
self.assertEqual('/dev/sdb', self.hardware.get_os_install_device())
|
self.assertEqual(expected_device,
|
||||||
|
self.hardware.get_os_install_device())
|
||||||
mock_root_device.assert_called_once_with()
|
mock_root_device.assert_called_once_with()
|
||||||
mock_dev.assert_called_once_with()
|
mock_dev.assert_called_once_with()
|
||||||
|
|
||||||
|
def test_get_os_install_device_root_device_hints_model(self):
|
||||||
|
self._get_os_install_device_root_device_hints(
|
||||||
|
{'model': 'fastable sd131 7'}, '/dev/sdb')
|
||||||
|
|
||||||
|
def test_get_os_install_device_root_device_hints_wwn(self):
|
||||||
|
self._get_os_install_device_root_device_hints(
|
||||||
|
{'wwn': 'wwn0'}, '/dev/sda')
|
||||||
|
|
||||||
|
def test_get_os_install_device_root_device_hints_serial(self):
|
||||||
|
self._get_os_install_device_root_device_hints(
|
||||||
|
{'serial': 'serial0'}, '/dev/sda')
|
||||||
|
|
||||||
|
def test_get_os_install_device_root_device_hints_size(self):
|
||||||
|
self._get_os_install_device_root_device_hints(
|
||||||
|
{'size': 10}, '/dev/sdb')
|
||||||
|
|
||||||
|
def test_get_os_install_device_root_device_hints_vendor(self):
|
||||||
|
self._get_os_install_device_root_device_hints(
|
||||||
|
{'vendor': 'fake-vendor'}, '/dev/sdb')
|
||||||
|
|
||||||
|
def test_get_os_install_device_root_device_hints_name(self):
|
||||||
|
self._get_os_install_device_root_device_hints(
|
||||||
|
{'name': '/dev/sdb'}, '/dev/sdb')
|
||||||
|
|
||||||
@mock.patch.object(hardware, 'list_all_block_devices')
|
@mock.patch.object(hardware, 'list_all_block_devices')
|
||||||
@mock.patch.object(utils, 'parse_root_device_hints')
|
@mock.patch.object(utils, 'parse_root_device_hints')
|
||||||
def test_get_os_install_device_root_device_hints_no_device_found(
|
def test_get_os_install_device_root_device_hints_no_device_found(
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Root device hints extended to support the device name.
|
Loading…
x
Reference in New Issue
Block a user