LVM: Retry lvextend commands on code 139
Retry lvextend commands upon segfault, similar to other LVM calls. This affects the volume extend path. Change-Id: I0c0cb5308246a3dce736eade67b40be063aa78bb Related-Bug: #1901783 Related-Bug: #1932188 Closes-Bug: #1940436
This commit is contained in:
parent
a22c913c79
commit
c4b8956763
@ -832,8 +832,7 @@ class LVM(executor.Executor):
|
|||||||
try:
|
try:
|
||||||
cmd = LVM.LVM_CMD_PREFIX + ['lvextend', '-L', new_size,
|
cmd = LVM.LVM_CMD_PREFIX + ['lvextend', '-L', new_size,
|
||||||
'%s/%s' % (self.vg_name, lv_name)]
|
'%s/%s' % (self.vg_name, lv_name)]
|
||||||
self._execute(*cmd, root_helper=self._root_helper,
|
self._run_lvm_command(cmd)
|
||||||
run_as_root=True)
|
|
||||||
except putils.ProcessExecutionError as err:
|
except putils.ProcessExecutionError as err:
|
||||||
LOG.exception('Error extending Volume')
|
LOG.exception('Error extending Volume')
|
||||||
LOG.error('Cmd :%s', err.cmd)
|
LOG.error('Cmd :%s', err.cmd)
|
||||||
|
@ -456,7 +456,7 @@ class BrickLvmTestCase(test.TestCase):
|
|||||||
|
|
||||||
@ddt.data(True, False)
|
@ddt.data(True, False)
|
||||||
def test_lv_extend(self, has_snapshot):
|
def test_lv_extend(self, has_snapshot):
|
||||||
with mock.patch.object(self.vg, '_execute'):
|
with mock.patch.object(self.vg, '_execute', return_value=('', '')):
|
||||||
with mock.patch.object(self.vg, 'lv_has_snapshot'):
|
with mock.patch.object(self.vg, 'lv_has_snapshot'):
|
||||||
self.vg.deactivate_lv = mock.MagicMock()
|
self.vg.deactivate_lv = mock.MagicMock()
|
||||||
self.vg.activate_lv = mock.MagicMock()
|
self.vg.activate_lv = mock.MagicMock()
|
||||||
|
Loading…
Reference in New Issue
Block a user