summaryrefslogtreecommitdiff
path: root/ironic_python_agent
diff options
context:
space:
mode:
Diffstat (limited to 'ironic_python_agent')
-rw-r--r--ironic_python_agent/tests/unit/test_utils.py30
-rw-r--r--ironic_python_agent/utils.py4
2 files changed, 18 insertions, 16 deletions
diff --git a/ironic_python_agent/tests/unit/test_utils.py b/ironic_python_agent/tests/unit/test_utils.py
index 02f2f95d..7dc55dde 100644
--- a/ironic_python_agent/tests/unit/test_utils.py
+++ b/ironic_python_agent/tests/unit/test_utils.py
@@ -152,20 +152,21 @@ class GetAgentParamsTestCase(ironic_agent_base.IronicAgentTest):
execute_mock):
execute_mock.side_effect = processutils.ProcessExecutionError
self.assertIsNone(utils._find_vmedia_device_by_labels(['l1', 'l2']))
- execute_mock.assert_called_once_with('lsblk', '-P', '-oPATH,LABEL')
+ execute_mock.assert_called_once_with('lsblk', '-p', '-P',
+ '-oKNAME,LABEL')
@mock.patch.object(utils, 'execute', autospec=True)
def test__find_vmedia_device_by_labels(self, execute_mock):
# NOTE(TheJulia): Case is intentionally mixed here to ensure
# proper matching occurs
- disk_list = ('PATH="/dev/sda" LABEL=""\n'
- 'PATH="/dev/sda2" LABEL="Meow"\n'
- 'PATH="/dev/sda3" LABEL="Recovery HD"\n'
- 'PATH="/dev/sda1" LABEL="EFI"\n'
- 'PATH="/dev/sdb" LABEL=""\n'
- 'PATH="/dev/sdb1" LABEL=""\n'
- 'PATH="/dev/sdb2" LABEL=""\n'
- 'PATH="/dev/sdc" LABEL="meow"\n')
+ disk_list = ('KNAME="/dev/sda" LABEL=""\n'
+ 'KNAME="/dev/sda2" LABEL="Meow"\n'
+ 'KNAME="/dev/sda3" LABEL="Recovery HD"\n'
+ 'KNAME="/dev/sda1" LABEL="EFI"\n'
+ 'KNAME="/dev/sdb" LABEL=""\n'
+ 'KNAME="/dev/sdb1" LABEL=""\n'
+ 'KNAME="/dev/sdb2" LABEL=""\n'
+ 'KNAME="/dev/sdc" LABEL="meow"\n')
invalid_disk = ('KNAME="sda1" SIZE="1610612736" TYPE="part" TRAN=""\n'
'KNAME="sda" SIZE="1610612736" TYPE="disk" '
'TRAN="sata"\n')
@@ -178,7 +179,7 @@ class GetAgentParamsTestCase(ironic_agent_base.IronicAgentTest):
self.assertEqual('/dev/sdc',
utils._find_vmedia_device_by_labels(['cat', 'meOw']))
execute_mock.assert_has_calls([
- mock.call('lsblk', '-P', '-oPATH,LABEL'),
+ mock.call('lsblk', '-p', '-P', '-oKNAME,LABEL'),
mock.call('lsblk', '-n', '-s', '-P', '-b',
'-oKNAME,TRAN,TYPE,SIZE', '/dev/sda2'),
mock.call('lsblk', '-n', '-s', '-P', '-b',
@@ -187,12 +188,13 @@ class GetAgentParamsTestCase(ironic_agent_base.IronicAgentTest):
@mock.patch.object(utils, 'execute', autospec=True)
def test__find_vmedia_device_by_labels_not_found(self, execute_mock):
- disk_list = ('PATH="/dev/sdb" LABEL="evil"\n'
- 'PATH="/dev/sdb1" LABEL="banana"\n'
- 'PATH="/dev/sdb2" LABEL=""\n')
+ disk_list = ('KNAME="/dev/sdb" LABEL="evil"\n'
+ 'KNAME="/dev/sdb1" LABEL="banana"\n'
+ 'KNAME="/dev/sdb2" LABEL=""\n')
execute_mock.return_value = (disk_list, '')
self.assertIsNone(utils._find_vmedia_device_by_labels(['l1', 'l2']))
- execute_mock.assert_called_once_with('lsblk', '-P', '-oPATH,LABEL')
+ execute_mock.assert_called_once_with('lsblk', '-p', '-P',
+ '-oKNAME,LABEL')
@mock.patch.object(utils, '_check_vmedia_device', autospec=True)
@mock.patch.object(utils, '_find_vmedia_device_by_labels', autospec=True)
diff --git a/ironic_python_agent/utils.py b/ironic_python_agent/utils.py
index f045a4fe..63d22e76 100644
--- a/ironic_python_agent/utils.py
+++ b/ironic_python_agent/utils.py
@@ -129,7 +129,7 @@ def _find_vmedia_device_by_labels(labels):
"""Find device matching any of the provided labels for virtual media"""
candidates = []
try:
- lsblk_output, _e = execute('lsblk', '-P', '-oPATH,LABEL')
+ lsblk_output, _e = execute('lsblk', '-p', '-P', '-oKNAME,LABEL')
except processutils.ProcessExecutionError as e:
_early_log('Was unable to execute the lsblk command. %s', e)
return
@@ -137,7 +137,7 @@ def _find_vmedia_device_by_labels(labels):
for device in ironic_utils.parse_device_tags(lsblk_output):
for label in labels:
if label.upper() == device['LABEL'].upper():
- candidates.append(device['PATH'])
+ candidates.append(device['KNAME'])
for candidate in candidates:
# We explicitly take the device and run it past _check_vmedia_device