From d2204b1a4b7afde158f565a05208bb88ee59645c Mon Sep 17 00:00:00 2001
From: Klaus Aehlig <aehlig@google.com>
Date: Thu, 14 Mar 2013 12:52:47 +0100
Subject: [PATCH] Add parameter pnode to OpInstanceSetParams

This parameter will be used to set the new primary node
of an instance, assuming that the disks have been moved
by other means (outside ganeti's control).

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
---
 lib/opcodes.py                 | 1 +
 src/Ganeti/OpCodes.hs          | 1 +
 test/hs/Test/Ganeti/OpCodes.hs | 5 +++--
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/opcodes.py b/lib/opcodes.py
index 969fe714e..64ca2311c 100644
--- a/lib/opcodes.py
+++ b/lib/opcodes.py
@@ -1684,6 +1684,7 @@ class OpInstanceSetParams(OpCode):
      "Per-instance hypervisor parameters, hypervisor-dependent"),
     ("disk_template", None, ht.TMaybe(_BuildDiskTemplateCheck(False)),
      "Disk template for instance"),
+    ("pnode", None, ht.TMaybeString, "New primary node"),
     ("remote_node", None, ht.TMaybeString,
      "Secondary node (used when changing disk template)"),
     ("os_name", None, ht.TMaybeString,
diff --git a/src/Ganeti/OpCodes.hs b/src/Ganeti/OpCodes.hs
index 7eba05015..1fea2289a 100644
--- a/src/Ganeti/OpCodes.hs
+++ b/src/Ganeti/OpCodes.hs
@@ -388,6 +388,7 @@ $(genOpCode "OpCode"
      , pRuntimeMem
      , pInstHvParams
      , pOptDiskTemplate
+     , pPrimaryNode
      , pRemoteNode
      , pOsNameChange
      , pInstOsParams
diff --git a/test/hs/Test/Ganeti/OpCodes.hs b/test/hs/Test/Ganeti/OpCodes.hs
index c303fd8d5..17c685077 100644
--- a/test/hs/Test/Ganeti/OpCodes.hs
+++ b/test/hs/Test/Ganeti/OpCodes.hs
@@ -263,8 +263,9 @@ instance Arbitrary OpCodes.OpCode where
         OpCodes.OpInstanceSetParams <$> genFQDN <*> arbitrary <*>
           arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*>
           pure emptyJSObject <*> arbitrary <*> pure emptyJSObject <*>
-          arbitrary <*> genMaybe genNodeNameNE <*> genMaybe genNameNE <*>
-          pure emptyJSObject <*> arbitrary <*> arbitrary <*> arbitrary
+          arbitrary <*> genMaybe genNodeNameNE <*> genMaybe genNodeNameNE <*>
+          genMaybe genNameNE <*> pure emptyJSObject <*> arbitrary <*>
+          arbitrary <*> arbitrary
       "OP_INSTANCE_GROW_DISK" ->
         OpCodes.OpInstanceGrowDisk <$> genFQDN <*> arbitrary <*>
           arbitrary <*> arbitrary <*> arbitrary
-- 
GitLab