Also add a mock implementation of SetInstancePrimaryNode
for the tests.

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

diff --git a/lib/config/__init__.py b/lib/config/__init__.py
index 6cc1da2..6091672 100644
--- a/lib/config/__init__.py
+++ b/lib/config/__init__.py
@@ -2130,7 +2130,6 @@ class ConfigWriter(object):
     """
     return self._UnlockedGetInstanceNames(inst_uuids)
 
-  @ConfigSync()
   def SetInstancePrimaryNode(self, inst_uuid, target_node_uuid):
     """Sets the primary node of an existing instance
 
@@ -2140,7 +2139,9 @@ class ConfigWriter(object):
     @type target_node_uuid: string
 
     """
-    self._UnlockedGetInstanceInfo(inst_uuid).primary_node = target_node_uuid
+    utils.SimpleRetry(True, self._wconfd.SetInstancePrimaryNode, 0.1, 30,
+                      args=[inst_uuid, target_node_uuid])
+    self.OutDate()
 
   @ConfigSync()
   def SetDiskNodes(self, disk_uuid, nodes):
diff --git a/test/py/testutils/config_mock.py b/test/py/testutils/config_mock.py
index 1cdfba4..e694dc0 100644
--- a/test/py/testutils/config_mock.py
+++ b/test/py/testutils/config_mock.py
@@ -921,3 +921,6 @@ class ConfigMock(config.ConfigWriter):
 
   def MarkInstanceDisksActive(self, inst_uuid):
     return self._SetInstanceStatus(inst_uuid, None, True, None)
+
+  def SetInstancePrimaryNode(self, inst_uuid, target_node_uuid):
+    self._UnlockedGetInstanceInfo(inst_uuid).primary_node = target_node_uuid
-- 
1.7.10.4

Reply via email to