QA: Downgrade the cluster key type in 2.16
authorHrvoje Ribicic <riba@google.com>
Fri, 6 Nov 2015 01:53:50 +0000 (02:53 +0100)
committerHrvoje Ribicic <riba@google.com>
Fri, 20 Nov 2015 10:14:23 +0000 (11:14 +0100)
The downgrade/upgrade QA test starts from a freshly-built cluster which
would have RSA keys in 2.16. Downgrading such a cluster is prevented by
one of the preceding patches, for good reason, so this patch makes sure
to switch to DSA keys before running the upgrade test.

As this code is meant to be here only in 2.16, it also includes a kill
switch in case it is merged up silently.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

qa/qa_cluster.py

index a0b553e..1ad2fb9 100644 (file)
@@ -1394,6 +1394,14 @@ def TestUpgrade():
     nodes = qa_config.AcquireManyNodes(n)
     live_instances.append(cf(nodes))
 
+  # 2.16 only - prior to performing a downgrade, we have to make sure that the
+  # SSH keys used are such that the lower version can still use them,
+  # regardless of cluster defaults.
+  if constants.VERSION_MINOR != 16:
+    raise qa_error.Error("Please remove the key type downgrade code in 2.17")
+  AssertCommand(["gnt-cluster", "renew-crypto", "--no-ssh-key-check", "-f",
+                 "--new-ssh-keys", "--ssh-key-type=dsa"])
+
   AssertRedirectedCommand(["gnt-cluster", "upgrade", "--to", other_version])
   AssertRedirectedCommand(["gnt-cluster", "verify"])