MarkInstanceDisksActive is used by instance migration. Add a mock MarkInstanceDisksActive for tests.
Signed-off-by: BSRK Aditya <[email protected]> --- lib/config/__init__.py | 11 +++++++++-- test/py/testutils/config_mock.py | 3 +++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/config/__init__.py b/lib/config/__init__.py index 61e5c20..d9e5c6c 100644 --- a/lib/config/__init__.py +++ b/lib/config/__init__.py @@ -1893,7 +1893,6 @@ class ConfigWriter(object): self._SetInstanceStatus(inst_uuid, constants.ADMINST_DOWN, None, constants.USER_SOURCE) - @ConfigSync() def MarkInstanceDisksActive(self, inst_uuid): """Mark the status of instance disks active. @@ -1901,7 +1900,15 @@ class ConfigWriter(object): @return: the updated instance object """ - return self._SetInstanceStatus(inst_uuid, None, True, None) + def WithRetry(): + result = self._wconfd.MarkInstanceDisksActive(inst_uuid) + self.OutDate() + + if result is None: + raise utils.RetryAgain() + else: + return result + return objects.Instance.FromDict(utils.Retry(WithRetry, 0.1, 30)) @ConfigSync() def MarkInstanceDisksInactive(self, inst_uuid): diff --git a/test/py/testutils/config_mock.py b/test/py/testutils/config_mock.py index 7c06fbc..1cdfba4 100644 --- a/test/py/testutils/config_mock.py +++ b/test/py/testutils/config_mock.py @@ -918,3 +918,6 @@ class ConfigMock(config.ConfigWriter): if update_serial: self._ConfigData().cluster.serial_no += 1 # pylint: disable=E1103 self._ConfigData().cluster.mtime = now + + def MarkInstanceDisksActive(self, inst_uuid): + return self._SetInstanceStatus(inst_uuid, None, True, None) -- 1.7.10.4
