Revision d0a44ec0 qa/qa_instance.py

b/qa/qa_instance.py
24 24
"""
25 25

  
26 26
import operator
27
import os
27 28
import re
28 29

  
29 30
from ganeti import utils
......
573 574
  AssertCommand(["gnt-instance", "modify", "--online", instance.name])
574 575

  
575 576

  
577
@InstanceCheck(INST_UP, INST_UP, FIRST_ARG)
578
def TestInstanceModifyPrimaryAndBack(instance, currentnode, othernode):
579
  """gnt-instance modify --new-primary
580

  
581
  This will leave the instance on its original primary node, not other node.
582

  
583
  """
584
  if instance.disk_template != constants.DT_FILE:
585
    print qa_utils.FormatInfo("Test only supported for the file disk template")
586
    return
587

  
588
  name = instance.name
589
  current = currentnode.primary
590
  other = othernode.primary
591

  
592
  filestorage = qa_config.get("file-storage-dir")
593
  disk = os.path.join(filestorage, name)
594

  
595
  AssertCommand(["gnt-instance", "modify", "--new-primary=%s" % other, name],
596
                fail=True)
597
  AssertCommand(["gnt-instance", "shutdown", name])
598
  AssertCommand(["scp", "-r", disk, "%s:%s" % (other, filestorage)])
599
  AssertCommand(["gnt-instance", "modify", "--new-primary=%s" % other, name])
600
  AssertCommand(["gnt-instance", "startup", name])
601

  
602
  # and back
603
  AssertCommand(["gnt-instance", "shutdown", name])
604
  AssertCommand(["rm", "-rf", disk], node=other)
605
  AssertCommand(["gnt-instance", "modify", "--new-primary=%s" % current, name])
606
  AssertCommand(["gnt-instance", "startup", name])
607

  
608

  
576 609
@InstanceCheck(INST_DOWN, INST_DOWN, FIRST_ARG)
577 610
def TestInstanceStoppedModify(instance):
578 611
  """gnt-instance modify (stopped instance)"""

Also available in: Unified diff