summaryrefslogtreecommitdiff
path: root/ironic_python_agent/tests/unit
diff options
context:
space:
mode:
authorDmitry Tantsur <dtantsur@protonmail.com>2021-03-30 12:21:00 +0200
committerDmitry Tantsur <dtantsur@protonmail.com>2021-03-30 12:25:14 +0200
commitafcc5d392cab2bf5649ec2bcfdc0cb26090b6a58 (patch)
treeaeec5f5f90e3f6a7812ce00ab4ea3a19a7ab3eb1 /ironic_python_agent/tests/unit
parent49d123dd6e32ea1455da1a2f11d6e624d435c308 (diff)
downloadironic-python-agent-afcc5d392cab2bf5649ec2bcfdc0cb26090b6a58.tar.gz
Fix incorrect lsblk tag and add a virtual media job
Follow-up to 8dd6589e66d03e45e1d510601da9531a30842cff: PATH is not a valid lsblk tag, we need to use KNAME with -p flag. Also add a vmedia job to avoid breakages in the future. It's added non-voting because we have a deadlock with this change: https://review.opendev.org/c/openstack/ironic/+/783722 Change-Id: Ifffeac9c1c4d394526d655eaa14c9fe7bd3a1e5e
Diffstat (limited to 'ironic_python_agent/tests/unit')
-rw-r--r--ironic_python_agent/tests/unit/test_utils.py30
1 files changed, 16 insertions, 14 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)