diff options
| author | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-03-30 12:21:00 +0200 |
|---|---|---|
| committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-03-30 12:25:14 +0200 |
| commit | afcc5d392cab2bf5649ec2bcfdc0cb26090b6a58 (patch) | |
| tree | aeec5f5f90e3f6a7812ce00ab4ea3a19a7ab3eb1 /ironic_python_agent/tests/unit/test_utils.py | |
| parent | 49d123dd6e32ea1455da1a2f11d6e624d435c308 (diff) | |
| download | ironic-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/test_utils.py')
| -rw-r--r-- | ironic_python_agent/tests/unit/test_utils.py | 30 |
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) |
