From ac9f5c7d8bd47b7d87a85e853fe2e9340d1ab456 Mon Sep 17 00:00:00 2001 From: liyingjun Date: Fri, 8 Aug 2014 15:54:17 +0800 Subject: [PATCH] Fix wrong command for _rescan_multipath The _run_multipath command is wrong in [1], it should be 'multipath -r' not 'multipath - r'. And adds test for this. [1]: https://github.com/openstack/nova/blob/master/nova/virt/libvirt/volume.py#L590 Change-Id: I3c5d12cc11988d65a8fc9e6143d26c2d1220d253 Closes-bug: 1362916 (cherry picked from commit 51f3eb66ef498500df4af2faa7b7eb8fb3a5f438) --- nova/tests/virt/libvirt/test_libvirt_volume.py | 6 ++++++ nova/virt/libvirt/volume.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/nova/tests/virt/libvirt/test_libvirt_volume.py b/nova/tests/virt/libvirt/test_libvirt_volume.py index c6333ce32667..ff207067fe77 100644 --- a/nova/tests/virt/libvirt/test_libvirt_volume.py +++ b/nova/tests/virt/libvirt/test_libvirt_volume.py @@ -238,6 +238,12 @@ class LibvirtVolumeTestCase(test.NoDBTestCase): } } + def test_rescan_multipath(self): + libvirt_driver = volume.LibvirtISCSIVolumeDriver(self.fake_conn) + libvirt_driver._rescan_multipath() + expected_multipath_cmd = ('multipath', '-r') + self.assertIn(expected_multipath_cmd, self.executes) + def test_libvirt_iscsi_driver(self): # NOTE(vish) exists is to make driver assume connecting worked self.stubs.Set(os.path, 'exists', lambda x: True) diff --git a/nova/virt/libvirt/volume.py b/nova/virt/libvirt/volume.py index 21f74e6b5746..84ef1e2fd05f 100644 --- a/nova/virt/libvirt/volume.py +++ b/nova/virt/libvirt/volume.py @@ -599,7 +599,7 @@ class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver): check_exit_code=[0, 1, 21, 255]) def _rescan_multipath(self): - self._run_multipath('-r', check_exit_code=[0, 1, 21]) + self._run_multipath(['-r'], check_exit_code=[0, 1, 21]) def _get_host_device(self, iscsi_properties): return ("/dev/disk/by-path/ip-%s-iscsi-%s-lun-%s" %