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:
"instance-import": true,
"instance-info": true,
"instance-list": true,
+ "instance-migrate": true,
"instance-modify": true,
"instance-reboot": true,
"instance-reinstall": true,
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()
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()