Removes config lock usage. Also add a mock implementation of RemoveInstanceDisk for the python tests. Moved _UnlockedDetachInstanceDisk to config_mock.py as it is no longer used by non test code.
Signed-off-by: BSRK Aditya <[email protected]> --- lib/config/__init__.py | 13 ++++--------- test/py/testutils/config_mock.py | 4 ++++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/config/__init__.py b/lib/config/__init__.py index ed6d1b0..73efd63 100644 --- a/lib/config/__init__.py +++ b/lib/config/__init__.py @@ -378,16 +378,11 @@ class ConfigWriter(object): del self._ConfigData().disks[disk_uuid] self._ConfigData().cluster.serial_no += 1 - @ConfigSync() def RemoveInstanceDisk(self, inst_uuid, disk_uuid): - """Detach a disk from an instance and remove it from the config. - - This is a simple wrapper over L{_UnlockedDetachInstanceDisk} and - L{_UnlockedRemoveDisk}. - - """ - self._UnlockedDetachInstanceDisk(inst_uuid, disk_uuid) - self._UnlockedRemoveDisk(disk_uuid) + """Detach a disk from an instance and remove it from the config.""" + utils.SimpleRetry(True, self._wconfd.RemoveInstanceDisk, 0.1, 30, + args=[inst_uuid, disk_uuid]) + self.OutDate() def DetachInstanceDisk(self, inst_uuid, disk_uuid): """Detach a disk from an instance.""" diff --git a/test/py/testutils/config_mock.py b/test/py/testutils/config_mock.py index accd31b..55e3b6f 100644 --- a/test/py/testutils/config_mock.py +++ b/test/py/testutils/config_mock.py @@ -927,3 +927,7 @@ class ConfigMock(config.ConfigWriter): def DetachInstanceDisk(self, inst_uuid, disk_uuid): self._UnlockedDetachInstanceDisk(inst_uuid, disk_uuid) + + def RemoveInstanceDisk(self, inst_uuid, disk_uuid): + self._UnlockedDetachInstanceDisk(inst_uuid, disk_uuid) + self._UnlockedRemoveDisk(disk_uuid) -- 1.7.10.4
