commit 90b0453250669c0d429d25bdd6a4e3b91d18bebd
Merge: 39c54b8 3eec3aa
Author: Klaus Aehlig <[email protected]>
Date:   Mon Jun 1 11:14:31 2015 +0200

    Merge branch 'stable-2.12' into stable-2.13
    
    * stable-2.12
      Make WConfD's updateLocksWaiting safe
      Tests specifying safeUpdateLocksWaiting
      Provide a repeatable version of updateLocksWaiting
      Verify that updateLocks is idempotent
      Always accept no-op requests
      Allow unconditional failovers off offline nodes
      Remove now unused variable
      Fix bug in ssconf comparison, disable it for vcluster
      QA: test renewing the cluster certificate only
      QA: Assert equality of ssconf_master_candidate_certs
      QA: Add more verify steps in renew crypto QA
    
    * stable-2.11
      (no changes)
    
    * stable-2.10
      Substitute 'suffix' for 'revision'
    
    Conflicts:
        qa/qa_cluster.py
        src/Ganeti/HTools/Cluster.hs
        src/Ganeti/HTools/Node.hs
    (All trivial by taking the union of the changes.)

diff --cc qa/qa_cluster.py
index 166a5ee,138b5f9..14db293
--- a/qa/qa_cluster.py
+++ b/qa/qa_cluster.py
@@@ -1234,17 -1236,22 +1266,27 @@@ def TestClusterRenewCrypto()
      AssertCommand(["gnt-cluster", "renew-crypto", "--force",
                     "--new-cluster-certificate", "--new-confd-hmac-key",
                     "--new-rapi-certificate", "--new-cluster-domain-secret",
 -                   "--new-node-certificates"])
 +                   "--new-node-certificates", "--new-ssh-keys",
 +                   "--no-ssh-key-check"])
+     _AssertSsconfCertFiles()
+     AssertCommand(["gnt-cluster", "verify"])
  
      # Only renew node certificates
      AssertCommand(["gnt-cluster", "renew-crypto", "--force",
                     "--new-node-certificates"])
+     _AssertSsconfCertFiles()
+     AssertCommand(["gnt-cluster", "verify"])
+ 
+     # Only renew cluster certificate
+     AssertCommand(["gnt-cluster", "renew-crypto", "--force",
+                    "--new-cluster-certificate"])
+     _AssertSsconfCertFiles()
+     AssertCommand(["gnt-cluster", "verify"])
  
 +    # Only renew SSH keys
 +    AssertCommand(["gnt-cluster", "renew-crypto", "--force",
 +                   "--new-ssh-keys", "--no-ssh-key-check"])
 +
      # Restore RAPI certificate
      AssertCommand(["gnt-cluster", "renew-crypto", "--force",
                     "--rapi-certificate=%s" % rapi_cert_backup])
diff --cc src/Ganeti/HTools/Cluster.hs
index d5367f6,f76a05b..2e8f0ca
--- a/src/Ganeti/HTools/Cluster.hs
+++ b/src/Ganeti/HTools/Cluster.hs
@@@ -468,10 -458,10 +468,11 @@@ applyMoveEx force nl inst Failover 
    let (old_pdx, old_sdx, old_p, old_s) = instanceNodes nl inst
        int_p = Node.removePri old_p inst
        int_s = Node.removeSec old_s inst
 -      new_nl = do -- Maybe monad
 -        new_p <- Node.addPriEx (Node.offline old_p) int_s inst
 +      new_nl = do -- OpResult
 +        Node.checkMigration old_p old_s
 +        new_p <- Node.addPriEx (Node.offline old_p || force) int_s inst
-         new_s <- Node.addSec int_p inst old_sdx
+         new_s <- Node.addSecExEx (Node.offline old_p) (Node.offline old_p)
+                    int_p inst old_sdx
          let new_inst = Instance.setBoth inst old_sdx old_pdx
          return (Container.addTwo old_pdx new_s old_sdx new_p nl,
                  new_inst, old_sdx, old_pdx)
diff --cc src/Ganeti/HTools/Node.hs
index 616c4ee,fecc5fc..cb17f24
--- a/src/Ganeti/HTools/Node.hs
+++ b/src/Ganeti/HTools/Node.hs
@@@ -70,7 -66,7 +70,8 @@@ module Ganeti.HTools.Nod
    , addPriEx
    , addSec
    , addSecEx
+   , addSecExEx
 +  , checkMigration
    -- * Stats
    , availDisk
    , availMem

-- 
Klaus Aehlig
Google Germany GmbH, Dienerstr. 12, 80331 Muenchen
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschaeftsfuehrer: Graham Law, Christine Elizabeth Flores

Reply via email to