This removes the config lock on MarkInstanceDisksInactive. Moved the old implementation of MarkInstanceDisksInactive to config_mock for test purposes.
Signed-off-by: BSRK Aditya <[email protected]> --- lib/config/__init__.py | 12 ++++-------- test/py/testutils/config_mock.py | 3 +++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/config/__init__.py b/lib/config/__init__.py index 991141f..de921e5 100644 --- a/lib/config/__init__.py +++ b/lib/config/__init__.py @@ -1846,15 +1846,11 @@ class ConfigWriter(object): return result return objects.Instance.FromDict(utils.Retry(WithRetry, 0.1, 30)) - @ConfigSync() def MarkInstanceDisksInactive(self, inst_uuid): - """Mark the status of instance disks inactive. - - @rtype: L{objects.Instance} - @return: the updated instance object - - """ - return self._SetInstanceStatus(inst_uuid, None, False, None) + """Mark the status of instance disks inactive.""" + utils.SimpleRetry(True, self._wconfd.MarkInstanceDisksInactive, 0.1, 30, + args=[inst_uuid]) + self.OutDate() def _UnlockedGetInstanceList(self): """Get the list of instances. diff --git a/test/py/testutils/config_mock.py b/test/py/testutils/config_mock.py index aa36af9..5e783e2 100644 --- a/test/py/testutils/config_mock.py +++ b/test/py/testutils/config_mock.py @@ -932,6 +932,9 @@ class ConfigMock(config.ConfigWriter): def MarkInstanceDisksActive(self, inst_uuid): return self._SetInstanceStatus(inst_uuid, None, True, None) + def MarkInstanceDisksInactive(self, inst_uuid): + return self._SetInstanceStatus(inst_uuid, None, False, None) + def SetInstancePrimaryNode(self, inst_uuid, target_node_uuid): self._UnlockedGetInstanceInfo(inst_uuid).primary_node = target_node_uuid -- 1.7.10.4
