Revision a77e3d33

b/qa/ganeti-qa.py
469 469
    if qa_config.TestEnabled("instance-add-plain-disk"):
470 470
      # Make sure that the cluster doesn't have any pre-existing problem
471 471
      qa_cluster.AssertClusterVerify()
472

  
473
      # Create and allocate instances
472 474
      instance1 = qa_instance.TestInstanceAddWithPlainDisk([node])
473
      instance2 = qa_instance.TestInstanceAddWithPlainDisk([node])
474
      # cluster-verify checks that disks are allocated correctly
475
      qa_cluster.AssertClusterVerify()
476
      qa_instance.TestInstanceRemove(instance1)
477
      qa_instance.TestInstanceRemove(instance2)
475
      try:
476
        instance2 = qa_instance.TestInstanceAddWithPlainDisk([node])
477
        try:
478
          # cluster-verify checks that disks are allocated correctly
479
          qa_cluster.AssertClusterVerify()
480

  
481
          # Remove instances
482
          qa_instance.TestInstanceRemove(instance2)
483
          qa_instance.TestInstanceRemove(instance1)
484
        finally:
485
          qa_config.ReleaseInstance(instance2)
486
      finally:
487
        qa_config.ReleaseInstance(instance1)
488

  
478 489
    if qa_config.TestEnabled("instance-add-drbd-disk"):
479 490
      snode = qa_config.AcquireNode()
480 491
      try:
481 492
        qa_cluster.TestSetExclStorCluster(False)
482 493
        instance = qa_instance.TestInstanceAddWithDrbdDisk([node, snode])
483
        qa_cluster.TestSetExclStorCluster(True)
484
        exp_err = [constants.CV_EINSTANCEUNSUITABLENODE]
485
        qa_cluster.AssertClusterVerify(fail=True, errors=exp_err)
486
        qa_instance.TestInstanceRemove(instance)
494
        try:
495
          qa_cluster.TestSetExclStorCluster(True)
496
          exp_err = [constants.CV_EINSTANCEUNSUITABLENODE]
497
          qa_cluster.AssertClusterVerify(fail=True, errors=exp_err)
498
          qa_instance.TestInstanceRemove(instance)
499
        finally:
500
          qa_config.ReleaseInstance(instance)
487 501
      finally:
488 502
        qa_config.ReleaseNode(snode)
489 503
    qa_cluster.TestSetExclStorCluster(old_es)
......
506 520
      inodes = qa_config.AcquireManyNodes(num_nodes)
507 521
      try:
508 522
        instance = RunTest(create_fun, inodes)
523
        try:
524
          RunTestIf("cluster-epo", qa_cluster.TestClusterEpo)
525
          RunDaemonTests(instance)
526
          for node in inodes:
527
            RunTestIf("haskell-confd", qa_node.TestNodeListDrbd, node)
528
          if len(inodes) > 1:
529
            RunTestIf("group-rwops", qa_group.TestAssignNodesIncludingSplit,
530
                      constants.INITIAL_NODE_GROUP_NAME,
531
                      inodes[0]["primary"], inodes[1]["primary"])
532
          if qa_config.TestEnabled("instance-convert-disk"):
533
            RunTest(qa_instance.TestInstanceShutdown, instance)
534
            RunTest(qa_instance.TestInstanceConvertDiskToPlain,
535
                    instance, inodes)
536
            RunTest(qa_instance.TestInstanceStartup, instance)
537
          RunCommonInstanceTests(instance)
538
          RunGroupListTests()
539
          RunExportImportTests(instance, inodes)
540
          RunHardwareFailureTests(instance, inodes)
541
          RunRepairDiskSizes()
542
          RunTest(qa_instance.TestInstanceRemove, instance)
543
        finally:
544
          qa_config.ReleaseInstance(instance)
509 545

  
510
        RunTestIf("cluster-epo", qa_cluster.TestClusterEpo)
511
        RunDaemonTests(instance)
512
        for node in inodes:
513
          RunTestIf("haskell-confd", qa_node.TestNodeListDrbd, node)
514
        if len(inodes) > 1:
515
          RunTestIf("group-rwops", qa_group.TestAssignNodesIncludingSplit,
516
                    constants.INITIAL_NODE_GROUP_NAME,
517
                    inodes[0]["primary"], inodes[1]["primary"])
518
        if qa_config.TestEnabled("instance-convert-disk"):
519
          RunTest(qa_instance.TestInstanceShutdown, instance)
520
          RunTest(qa_instance.TestInstanceConvertDiskToPlain, instance, inodes)
521
          RunTest(qa_instance.TestInstanceStartup, instance)
522
        RunCommonInstanceTests(instance)
523
        RunGroupListTests()
524
        RunExportImportTests(instance, inodes)
525
        RunHardwareFailureTests(instance, inodes)
526
        RunRepairDiskSizes()
527
        RunTest(qa_instance.TestInstanceRemove, instance)
528 546
        del instance
529 547
      finally:
530 548
        qa_config.ReleaseManyNodes(inodes)
......
578 596
        for use_client in [True, False]:
579 597
          rapi_instance = RunTest(qa_rapi.TestRapiInstanceAdd, pnode,
580 598
                                  use_client)
581
          if qa_config.TestEnabled("instance-plain-rapi-common-tests"):
582
            RunCommonInstanceTests(rapi_instance)
583
          RunTest(qa_rapi.TestRapiInstanceRemove, rapi_instance, use_client)
599
          try:
600
            if qa_config.TestEnabled("instance-plain-rapi-common-tests"):
601
              RunCommonInstanceTests(rapi_instance)
602
            RunTest(qa_rapi.TestRapiInstanceRemove, rapi_instance, use_client)
603
          finally:
604
            qa_config.ReleaseInstance(rapi_instance)
584 605
          del rapi_instance
585 606

  
586 607
  finally:
......
603 624
    if qa_config.TestEnabled(["instance-add-plain-disk", "instance-export"]):
604 625
      for shutdown in [False, True]:
605 626
        instance = RunTest(qa_instance.TestInstanceAddWithPlainDisk, [pnode])
606
        expnode = qa_config.AcquireNode(exclude=pnode)
607 627
        try:
608
          if shutdown:
609
            # Stop instance before exporting and removing it
610
            RunTest(qa_instance.TestInstanceShutdown, instance)
611
          RunTest(qa_instance.TestInstanceExportWithRemove, instance, expnode)
612
          RunTest(qa_instance.TestBackupList, expnode)
628
          expnode = qa_config.AcquireNode(exclude=pnode)
629
          try:
630
            if shutdown:
631
              # Stop instance before exporting and removing it
632
              RunTest(qa_instance.TestInstanceShutdown, instance)
633
            RunTest(qa_instance.TestInstanceExportWithRemove, instance, expnode)
634
            RunTest(qa_instance.TestBackupList, expnode)
635
          finally:
636
            qa_config.ReleaseNode(expnode)
613 637
        finally:
614
          qa_config.ReleaseNode(expnode)
638
          qa_config.ReleaseInstance(instance)
615 639
        del expnode
616 640
        del instance
617 641
      qa_cluster.AssertClusterVerify()
b/qa/qa_instance.py
210 210
  """gnt-instance remove"""
211 211
  AssertCommand(["gnt-instance", "remove", "-f", instance["name"]])
212 212

  
213
  qa_config.ReleaseInstance(instance)
214

  
215 213

  
216 214
@InstanceCheck(INST_DOWN, INST_UP, FIRST_ARG)
217 215
def TestInstanceStartup(instance):
......
675 673
  """gnt-backup export --remove-instance"""
676 674
  AssertCommand(["gnt-backup", "export", "-n", node["primary"],
677 675
                 "--remove-instance", instance["name"]])
678
  qa_config.ReleaseInstance(instance)
679 676

  
680 677

  
681 678
@InstanceCheck(INST_UP, INST_UP, FIRST_ARG)
b/qa/qa_rapi.py
614 614

  
615 615
  _WaitForRapiJob(job_id)
616 616

  
617
  qa_config.ReleaseInstance(instance)
618

  
619 617

  
620 618
@InstanceCheck(INST_UP, INST_UP, FIRST_ARG)
621 619
def TestRapiInstanceMigrate(instance):

Also available in: Unified diff