If we select the primary as new secondary, better to fail than return
wrong data to Ganeti.

Signed-off-by: Iustin Pop <[email protected]>
Reviewed-by: Guido Trotter <[email protected]>
(cherry picked from commit f25508bef4e85032f0468e5a6f0f8930ff154e66)

Signed-off-by: Iustin Pop <[email protected]>
---
 htools/Ganeti/HTools/IAlloc.hs |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/htools/Ganeti/HTools/IAlloc.hs b/htools/Ganeti/HTools/IAlloc.hs
index 81e6dfd..91b3706 100644
--- a/htools/Ganeti/HTools/IAlloc.hs
+++ b/htools/Ganeti/HTools/IAlloc.hs
@@ -283,6 +283,8 @@ processRelocate gl nl il idx 1 exndx = do
       snode = Instance.sNode inst
   when (snode == sorig) $
        fail "Internal error: instance didn't change secondary node?!"
+  when (snode == pnode) $
+       fail "Internal error: selected primary as new secondary?!"
 
   nodes' <- if (nodes == [pnode, snode])
             then return [snode] -- only the new secondary is needed
-- 
1.7.7

Reply via email to