diff --git a/qa/qa_cluster.py b/qa/qa_cluster.py index 489800b56d01e724a11bb31c8b2d085eb8d4916e..371fea325700914bcf6aa4956e97632305164e00 100644 --- a/qa/qa_cluster.py +++ b/qa/qa_cluster.py @@ -61,12 +61,24 @@ def TestClusterInit(rapi_user, rapi_secret): master = qa_config.GetMasterNode() # First create the RAPI credentials - cred_string = "%s %s write" % (rapi_user, rapi_secret) - cmd = ("echo %s > %s" % - (utils.ShellQuote(cred_string), - utils.ShellQuote(constants.RAPI_USERS_FILE))) - AssertEqual(StartSSH(master['primary'], cmd).wait(), 0) + 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: + cmd = ["mv", tmpru, constants.RAPI_USERS_FILE] + AssertEqual(StartSSH(master["primary"], + utils.ShellQuoteArgs(cmd)).wait(), 0) + finally: + cmd = ["rm", "-f", tmpru] + AssertEqual(StartSSH(master["primary"], + utils.ShellQuoteArgs(cmd)).wait(), 0) + finally: + fh.close() + # Initialize cluster cmd = ['gnt-cluster', 'init'] if master.get('secondary', None):