Removes config lock usage.

Also add a mock implementation of DetachInstanceDisk
for the python tests.

Signed-off-by: BSRK Aditya <[email protected]>
---
 lib/config/__init__.py           |   10 ++++------
 test/py/testutils/config_mock.py |    3 +++
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/lib/config/__init__.py b/lib/config/__init__.py
index 6091672..ed6d1b0 100644
--- a/lib/config/__init__.py
+++ b/lib/config/__init__.py
@@ -389,13 +389,11 @@ class ConfigWriter(object):
     self._UnlockedDetachInstanceDisk(inst_uuid, disk_uuid)
     self._UnlockedRemoveDisk(disk_uuid)
 
-  @ConfigSync()
   def DetachInstanceDisk(self, inst_uuid, disk_uuid):
-    """Detach a disk from an instance.
-
-    This is a simple wrapper over L{_UnlockedDetachInstanceDisk}.
-    """
-    self._UnlockedDetachInstanceDisk(inst_uuid, disk_uuid)
+    """Detach a disk from an instance."""
+    utils.SimpleRetry(True, self._wconfd.DetachInstanceDisk, 0.1, 30,
+                      args=[inst_uuid, disk_uuid])
+    self.OutDate()
 
   def _UnlockedGetDiskInfo(self, disk_uuid):
     """Returns information about a disk.
diff --git a/test/py/testutils/config_mock.py b/test/py/testutils/config_mock.py
index e694dc0..accd31b 100644
--- a/test/py/testutils/config_mock.py
+++ b/test/py/testutils/config_mock.py
@@ -924,3 +924,6 @@ class ConfigMock(config.ConfigWriter):
 
   def SetInstancePrimaryNode(self, inst_uuid, target_node_uuid):
     self._UnlockedGetInstanceInfo(inst_uuid).primary_node = target_node_uuid
+
+  def DetachInstanceDisk(self, inst_uuid, disk_uuid):
+    self._UnlockedDetachInstanceDisk(inst_uuid, disk_uuid)
-- 
1.7.10.4

Reply via email to