diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py index 070a1b34a6c26f9c912782703d4749c7a0ccfbb5..b06155f35e5f43e21dee2b448c6fb20d9aff59d5 100755 --- a/qa/ganeti-qa.py +++ b/qa/ganeti-qa.py @@ -234,7 +234,7 @@ def RunExportImportTests(instance, pnode): pnode2 = qa_config.AcquireNode(exclude=pnode) try: RunTest(qa_rapi.TestInterClusterInstanceMove, instance, newinst, - pnode2, pnode) + pnode, pnode2) finally: qa_config.ReleaseNode(pnode2) finally: diff --git a/qa/qa_rapi.py b/qa/qa_rapi.py index 5f679567be510b7b09acadd3f38a610f5948869c..add87e405ee881a66456d275ba1e8d879ce062b7 100644 --- a/qa/qa_rapi.py +++ b/qa/qa_rapi.py @@ -1,6 +1,6 @@ # -# Copyright (C) 2007, 2008 Google Inc. +# Copyright (C) 2007, 2008, 2009, 2010 Google Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -405,22 +405,26 @@ def TestInterClusterInstanceMove(src_instance, dest_instance, pnode, snode): rapi_pw_file.flush() # TODO: Run some instance tests before moving back - for srcname, destname in [(src_instance["name"], dest_instance["name"]), - (dest_instance["name"], src_instance["name"])]: + + # note: pnode is the *current* primary node, so we move it first to + # snode, then back + for si, di, pn, sn in [(src_instance["name"], dest_instance["name"], + snode["primary"], pnode["primary"]), + (dest_instance["name"], src_instance["name"], + pnode["primary"], snode["primary"])]: cmd = [ "../tools/move-instance", "--verbose", "--src-ca-file=%s" % _rapi_ca.name, "--src-username=%s" % _rapi_username, "--src-password-file=%s" % rapi_pw_file.name, - "--dest-instance-name=%s" % destname, - "--dest-primary-node=%s" % pnode["primary"], - "--dest-secondary-node=%s" % snode["primary"], + "--dest-instance-name=%s" % di, + "--dest-primary-node=%s" % pn, + "--dest-secondary-node=%s" % sn, "--net=0:mac=%s" % constants.VALUE_GENERATE, - master["primary"], master["primary"], - srcname, + si, ] AssertEqual(StartLocalCommand(cmd).wait(), 0)