LGTM On Fri, Oct 9, 2015 at 11:28 AM 'Klaus Aehlig' via ganeti-devel < [email protected]> wrote:
> > Sorry, of course I meant to merge in the following way. > > > commit 8a7fb7536dbaf23ece958237626a89005c7c6e89 > Merge: a00e399 767b759 > Author: Klaus Aehlig <[email protected]> > Date: Fri Oct 9 11:04:28 2015 +0200 > > Merge branch 'stable-2.12' into stable-2.13 > > * stable-2.12 > QA: Retrieve only the RAPI certificate > QA: Allow usage of specific RAPI certificates and files > QA: Reload certificates only when renew-crypto has been run > QA: Restart Ganeti after adding the RAPI users file > QA: Add reading the RAPI password from a file > QA: Allow the RAPI user to be set > QA: Do not remove nodes from cluster without destroying it > QA: Refactor RAPI handling > Increase default disk size of burnin to 1G > break line with more than 80 characters > Only search for Python-2 interpreters > Fix faulty comments / indentation > Handle Xen 4.3 states better > > * stable-2.11 > (no changes) > > * stable-2.10 > Add a test for parsing of admin_state in IAlloc backend > At IAlloc backend guess state from admin state > > * stable-2.9 > Update harep's man page to notify users of its limitations > > Conflicts: > qa/qa_cluster.py: trivial > qa/rapi-workload.py: keep removed (see c0065e0fa1730a477) > > diff --cc qa/qa_cluster.py > index 14db293,e33552e..a4f887e > --- a/qa/qa_cluster.py > +++ b/qa/qa_cluster.py > @@@ -49,10 -48,11 +48,11 @@@ import qa_erro > import qa_instance > import qa_job_utils > import qa_logging > + import qa_rapi > import qa_utils > > -from qa_utils import AssertEqual, AssertCommand, GetCommandOutput, \ > - CheckFileUnmodified > +from qa_utils import AssertEqual, AssertCommand, > AssertRedirectedCommand, \ > + GetCommandOutput, CheckFileUnmodified > > > # Prefix for LVM volumes created by QA code during tests > @@@ -182,44 -182,8 +182,25 @@@ def TestClusterInitDisk() > AssertCommand(["gnt-cluster", "init", "-D", param, name], fail=True) > > > - def TestClusterInit(rapi_user, rapi_secret): > + def TestClusterInit(): > """gnt-cluster init""" > - master = qa_config.GetMasterNode() > - > - rapi_users_path = qa_utils.MakeNodePath(master, > pathutils.RAPI_USERS_FILE) > - rapi_dir = os.path.dirname(rapi_users_path) > - > - # First create the RAPI credentials > - fh = tempfile.NamedTemporaryFile() > - try: > - fh.write("%s %s write\n" % (rapi_user, rapi_secret)) > - fh.flush() > - > - tmpru = qa_utils.UploadFile(master.primary, fh.name) > - try: > - AssertCommand(["mkdir", "-p", rapi_dir]) > - AssertCommand(["mv", tmpru, rapi_users_path]) > - finally: > - AssertCommand(["rm", "-f", tmpru]) > - finally: > - fh.close() > - > + # If we don't modify the SSH setup by Ganeti, we have to ensure > connectivity > + # before > ++ master = qa_config.GetMasterNode() > + if not qa_config.GetModifySshSetup(): > + (key_type, _, priv_key_file, pub_key_file, auth_key_path) = \ > + qa_config.GetSshConfig() > + AssertCommand("echo -e 'y\n' | ssh-keygen -t %s -f %s -q -N ''" > + % (key_type, priv_key_file)) > + AssertCommand("cat %s >> %s" % (pub_key_file, auth_key_path)) > + for node in qa_config.get("nodes"): > + if node != master: > + for key_file in [priv_key_file, pub_key_file]: > + AssertCommand("scp -oStrictHostKeyChecking=no %s %s:%s" % > + (key_file, node.primary, key_file)) > + AssertCommand("ssh %s \'cat %s >> %s\'" > + % (node.primary, pub_key_file, auth_key_path)) > + > # Initialize cluster > enabled_disk_templates = qa_config.GetEnabledDiskTemplates() > cmd = [ > diff --cc qa/qa_rapi.py > index 68527b9,807383e..d997c24 > --- a/qa/qa_rapi.py > +++ b/qa/qa_rapi.py > @@@ -32,9 -32,9 +32,10 @@@ > > """ > > +import copy > import functools > import itertools > + import os.path > import random > import re > import tempfile > > -- > Klaus Aehlig > Google Germany GmbH, Dienerstr. 12, 80331 Muenchen > Registergericht und -nummer: Hamburg, HRB 86891 > Sitz der Gesellschaft: Hamburg > Geschaeftsfuehrer: Matthew Scott Sucherman, Paul Terence Manicle > -- Lisa Velden Software Engineer [email protected] Google Germany GmbH Dienerstraße 12 80331 München Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg
