Add a unit test for removing a disk from a running instance without using hotplug.
Signed-off-by: Yiannis Tsiouris <[email protected]> Signed-off-by: Filippos Giannakos <[email protected]> --- test/py/cmdlib/instance_unittest.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/py/cmdlib/instance_unittest.py b/test/py/cmdlib/instance_unittest.py index 74d48721b..8a285e537 100644 --- a/test/py/cmdlib/instance_unittest.py +++ b/test/py/cmdlib/instance_unittest.py @@ -3069,6 +3069,27 @@ class TestLUInstanceSetParams(CmdlibTestCase): self.ExecOpCode(op) self.assertFalse(self.rpc.call_file_storage_dir_remove.called) + def testRemoveUsedDiskWithoutHotplug(self): + inst = self.cfg.AddNewInstance(disks=[self.cfg.CreateDisk(), + self.cfg.CreateDisk()]) + op = self.CopyOpCode(self.op, + instance_name=inst.name, + disks=[[constants.DDM_REMOVE, -1, + {}]]) # without hotplug + self.rpc.call_instance_info.side_effect = [ + self.RpcResultsBuilder() \ + .CreateSuccessfulNodeResult(self.master, + { + "memory": self.mocked_snode_memory_free, + "vcpus": self.mocked_running_inst_vcpus, + "state": self.mocked_running_inst_state, + "time": self.mocked_running_inst_time + })] + self.ExecOpCodeExpectOpPrereqError( + op, "can't remove volume from a running instance without using hotplug") + self.assertFalse(self.rpc.call_blockdev_shutdown.called) + self.assertFalse(self.rpc.call_blockdev_remove.called) + def testModifyDiskWithSize(self): op = self.CopyOpCode(self.op, disks=[[constants.DDM_MODIFY, 0, -- 2.11.0
