From: Michael Hanselmann Date: Fri, 16 Jul 2010 17:44:06 +0000 (+0200) Subject: QA: Test instance migration via CLI and RAPI X-Git-Tag: v2.2.0rc0~17 X-Git-Url: https://code.grnet.gr/git/ganeti-local/commitdiff_plain/938bde86d2831eff1c20ab4bfbb5885b94f79667 QA: Test instance migration via CLI and RAPI Signed-off-by: Michael Hanselmann Reviewed-by: Iustin Pop --- diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py index a981612..12c39c0 100755 --- a/qa/ganeti-qa.py +++ b/qa/ganeti-qa.py @@ -254,6 +254,12 @@ def RunHardwareFailureTests(instance, pnode, snode): if qa_config.TestEnabled('instance-failover'): RunTest(qa_instance.TestInstanceFailover, instance) + if qa_config.TestEnabled("instance-migrate"): + RunTest(qa_instance.TestInstanceMigrate, instance) + + if qa_rapi.Enabled(): + RunTest(qa_rapi.TestRapiInstanceMigrate, instance) + if qa_config.TestEnabled('instance-replace-disks'): othernode = qa_config.AcquireNode(exclude=[pnode, snode]) try: diff --git a/qa/qa-sample.json b/qa/qa-sample.json index 68669c0..fe42edf 100644 --- a/qa/qa-sample.json +++ b/qa/qa-sample.json @@ -72,6 +72,7 @@ "instance-import": true, "instance-info": true, "instance-list": true, + "instance-migrate": true, "instance-modify": true, "instance-reboot": true, "instance-reinstall": true, diff --git a/qa/qa_instance.py b/qa/qa_instance.py index 28b246c..411b72c 100644 --- a/qa/qa_instance.py +++ b/qa/qa_instance.py @@ -160,6 +160,20 @@ def TestInstanceFailover(instance): utils.ShellQuoteArgs(cmd)).wait(), 0) +def TestInstanceMigrate(instance): + """gnt-instance migrate""" + master = qa_config.GetMasterNode() + + cmd = ["gnt-instance", "migrate", "--force", instance["name"]] + AssertEqual(StartSSH(master["primary"], + utils.ShellQuoteArgs(cmd)).wait(), 0) + + # ... and back + cmd = ["gnt-instance", "migrate", "--force", instance["name"]] + AssertEqual(StartSSH(master["primary"], + utils.ShellQuoteArgs(cmd)).wait(), 0) + + def TestInstanceInfo(instance): """gnt-instance info""" master = qa_config.GetMasterNode() diff --git a/qa/qa_rapi.py b/qa/qa_rapi.py index a8a54f7..7583c52 100644 --- a/qa/qa_rapi.py +++ b/qa/qa_rapi.py @@ -341,6 +341,14 @@ def TestRapiInstanceRemove(instance, use_client): qa_config.ReleaseInstance(instance) +def TestRapiInstanceMigrate(instance): + """Test migrating instance via RAPI""" + # Move to secondary node + _WaitForRapiJob(_rapi_client.MigrateInstance(instance["name"])) + # And back to previous primary + _WaitForRapiJob(_rapi_client.MigrateInstance(instance["name"])) + + def TestInterClusterInstanceMove(src_instance, dest_instance, pnode, snode): """Test tools/move-instance""" master = qa_config.GetMasterNode()