Revision b5f33afa qa/qa_instance.py

b/qa/qa_instance.py
71 71
            "--disk-template=%s" % disk_template,
72 72
            "--node=%s" % node] +
73 73
           _GetGenericAddParameters(instance))
74
    cmd.append(instance["name"])
74
    cmd.append(instance.name)
75 75

  
76 76
    AssertCommand(cmd)
77 77

  
78
    _CheckSsconfInstanceList(instance["name"])
78
    _CheckSsconfInstanceList(instance.name)
79 79
    qa_config.SetInstanceTemplate(instance, disk_template)
80 80

  
81 81
    return instance
......
147 147
  @param instance: the instance
148 148

  
149 149
  """
150
  info = _GetInstanceInfo(instance["name"])
150
  info = _GetInstanceInfo(instance.name)
151 151
  vols = info["volumes"]
152 152
  for node in info["nodes"]:
153 153
    AssertCommand(["lvremove", "-f"] + vols, node=node)
......
208 208
@InstanceCheck(None, INST_DOWN, FIRST_ARG)
209 209
def TestInstanceRemove(instance):
210 210
  """gnt-instance remove"""
211
  AssertCommand(["gnt-instance", "remove", "-f", instance["name"]])
211
  AssertCommand(["gnt-instance", "remove", "-f", instance.name])
212 212

  
213 213

  
214 214
@InstanceCheck(INST_DOWN, INST_UP, FIRST_ARG)
215 215
def TestInstanceStartup(instance):
216 216
  """gnt-instance startup"""
217
  AssertCommand(["gnt-instance", "startup", instance["name"]])
217
  AssertCommand(["gnt-instance", "startup", instance.name])
218 218

  
219 219

  
220 220
@InstanceCheck(INST_UP, INST_DOWN, FIRST_ARG)
221 221
def TestInstanceShutdown(instance):
222 222
  """gnt-instance shutdown"""
223
  AssertCommand(["gnt-instance", "shutdown", instance["name"]])
223
  AssertCommand(["gnt-instance", "shutdown", instance.name])
224 224

  
225 225

  
226 226
@InstanceCheck(INST_UP, INST_UP, FIRST_ARG)
......
228 228
  """gnt-instance reboot"""
229 229
  options = qa_config.get("options", {})
230 230
  reboot_types = options.get("reboot-types", constants.REBOOT_TYPES)
231
  name = instance["name"]
231
  name = instance.name
232 232
  for rtype in reboot_types:
233 233
    AssertCommand(["gnt-instance", "reboot", "--type=%s" % rtype, name])
234 234

  
......
246 246
@InstanceCheck(INST_DOWN, INST_DOWN, FIRST_ARG)
247 247
def TestInstanceReinstall(instance):
248 248
  """gnt-instance reinstall"""
249
  AssertCommand(["gnt-instance", "reinstall", "-f", instance["name"]])
249
  AssertCommand(["gnt-instance", "reinstall", "-f", instance.name])
250 250

  
251 251
  # Test with non-existant OS definition
252 252
  AssertCommand(["gnt-instance", "reinstall", "-f",
253 253
                 "--os-type=NonExistantOsForQa",
254
                 instance["name"]],
254
                 instance.name],
255 255
                fail=True)
256 256

  
257 257

  
......
336 336
                              " test")
337 337
    return
338 338

  
339
  cmd = ["gnt-instance", "failover", "--force", instance["name"]]
339
  cmd = ["gnt-instance", "failover", "--force", instance.name]
340 340

  
341 341
  # failover ...
342 342
  AssertCommand(cmd)
......
354 354
                              " test")
355 355
    return
356 356

  
357
  cmd = ["gnt-instance", "migrate", "--force", instance["name"]]
357
  cmd = ["gnt-instance", "migrate", "--force", instance.name]
358 358
  af_par = constants.BE_ALWAYS_FAILOVER
359 359
  af_field = "be/" + constants.BE_ALWAYS_FAILOVER
360
  af_init_val = _GetBoolInstanceField(instance["name"], af_field)
360
  af_init_val = _GetBoolInstanceField(instance.name, af_field)
361 361

  
362 362
  # migrate ...
363 363
  AssertCommand(cmd)
......
368 368
  if toggle_always_failover:
369 369
    AssertCommand(["gnt-instance", "modify", "-B",
370 370
                   ("%s=%s" % (af_par, not af_init_val)),
371
                   instance["name"]])
371
                   instance.name])
372 372
  AssertCommand(cmd)
373 373
  # TODO: Verify the choice between failover and migration
374 374
  qa_utils.RunInstanceCheck(instance, True)
375 375
  if toggle_always_failover:
376 376
    AssertCommand(["gnt-instance", "modify", "-B",
377
                   ("%s=%s" % (af_par, af_init_val)), instance["name"]])
377
                   ("%s=%s" % (af_par, af_init_val)), instance.name])
378 378

  
379 379
  # TODO: Split into multiple tests
380
  AssertCommand(["gnt-instance", "shutdown", instance["name"]])
380
  AssertCommand(["gnt-instance", "shutdown", instance.name])
381 381
  qa_utils.RunInstanceCheck(instance, False)
382 382
  AssertCommand(cmd, fail=True)
383 383
  AssertCommand(["gnt-instance", "migrate", "--force", "--allow-failover",
384
                 instance["name"]])
385
  AssertCommand(["gnt-instance", "start", instance["name"]])
384
                 instance.name])
385
  AssertCommand(["gnt-instance", "start", instance.name])
386 386
  AssertCommand(cmd)
387 387
  # @InstanceCheck enforces the check that the instance is running
388 388
  qa_utils.RunInstanceCheck(instance, True)
......
390 390
  AssertCommand(["gnt-instance", "modify", "-B",
391 391
                 ("%s=%s" %
392 392
                  (constants.BE_ALWAYS_FAILOVER, constants.VALUE_TRUE)),
393
                 instance["name"]])
393
                 instance.name])
394 394

  
395 395
  AssertCommand(cmd)
396 396
  qa_utils.RunInstanceCheck(instance, True)
......
400 400
  AssertCommand(["gnt-instance", "modify", "-B",
401 401
                 ("%s=%s" %
402 402
                  (constants.BE_ALWAYS_FAILOVER, constants.VALUE_FALSE)),
403
                 instance["name"]])
403
                 instance.name])
404 404

  
405 405
  AssertCommand(cmd)
406 406
  qa_utils.RunInstanceCheck(instance, True)
......
408 408

  
409 409
def TestInstanceInfo(instance):
410 410
  """gnt-instance info"""
411
  AssertCommand(["gnt-instance", "info", instance["name"]])
411
  AssertCommand(["gnt-instance", "info", instance.name])
412 412

  
413 413

  
414 414
@InstanceCheck(INST_UP, INST_UP, FIRST_ARG)
......
456 456
      ])
457 457

  
458 458
  for alist in args:
459
    AssertCommand(["gnt-instance", "modify"] + alist + [instance["name"]])
459
    AssertCommand(["gnt-instance", "modify"] + alist + [instance.name])
460 460

  
461 461
  # check no-modify
462
  AssertCommand(["gnt-instance", "modify", instance["name"]], fail=True)
462
  AssertCommand(["gnt-instance", "modify", instance.name], fail=True)
463 463

  
464 464
  # Marking offline while instance is running must fail...
465
  AssertCommand(["gnt-instance", "modify", "--offline", instance["name"]],
465
  AssertCommand(["gnt-instance", "modify", "--offline", instance.name],
466 466
                 fail=True)
467 467

  
468 468
  # ...while making it online is ok, and should work
469
  AssertCommand(["gnt-instance", "modify", "--online", instance["name"]])
469
  AssertCommand(["gnt-instance", "modify", "--online", instance.name])
470 470

  
471 471

  
472 472
@InstanceCheck(INST_DOWN, INST_DOWN, FIRST_ARG)
473 473
def TestInstanceStoppedModify(instance):
474 474
  """gnt-instance modify (stopped instance)"""
475
  name = instance["name"]
475
  name = instance.name
476 476

  
477 477
  # Instance was not marked offline; try marking it online once more
478 478
  AssertCommand(["gnt-instance", "modify", "--online", name])
......
497 497
@InstanceCheck(INST_DOWN, INST_DOWN, FIRST_ARG)
498 498
def TestInstanceConvertDiskToPlain(instance, inodes):
499 499
  """gnt-instance modify -t"""
500
  name = instance["name"]
500
  name = instance.name
501 501
  template = qa_config.GetInstanceTemplate(instance)
502 502
  if template != "drbd":
503 503
    print qa_utils.FormatInfo("Unsupported template %s, skipping conversion"
......
515 515
  if qa_config.GetExclusiveStorage():
516 516
    print qa_utils.FormatInfo("Test not supported with exclusive_storage")
517 517
    return
518
  name = instance["name"]
518
  name = instance.name
519 519
  all_size = qa_config.get("disk")
520 520
  all_grow = qa_config.get("disk-growth")
521 521
  if not all_grow:
......
548 548
@InstanceCheck(INST_UP, INST_UP, FIRST_ARG)
549 549
def TestInstanceConsole(instance):
550 550
  """gnt-instance console"""
551
  AssertCommand(["gnt-instance", "console", "--show-cmd", instance["name"]])
551
  AssertCommand(["gnt-instance", "console", "--show-cmd", instance.name])
552 552

  
553 553

  
554 554
@InstanceCheck(INST_UP, INST_UP, FIRST_ARG)
......
557 557
  def buildcmd(args):
558 558
    cmd = ["gnt-instance", "replace-disks"]
559 559
    cmd.extend(args)
560
    cmd.append(instance["name"])
560
    cmd.append(instance.name)
561 561
    return cmd
562 562

  
563 563
  if not IsDiskReplacingSupported(instance):
......
589 589
    AssertCommand(buildcmd(data))
590 590

  
591 591
  AssertCommand(buildcmd(["-a"]))
592
  AssertCommand(["gnt-instance", "stop", instance["name"]])
592
  AssertCommand(["gnt-instance", "stop", instance.name])
593 593
  AssertCommand(buildcmd(["-a"]), fail=True)
594
  AssertCommand(["gnt-instance", "activate-disks", instance["name"]])
594
  AssertCommand(["gnt-instance", "activate-disks", instance.name])
595 595
  AssertCommand(["gnt-instance", "activate-disks", "--wait-for-sync",
596
                 instance["name"]])
596
                 instance.name])
597 597
  AssertCommand(buildcmd(["-a"]))
598
  AssertCommand(["gnt-instance", "start", instance["name"]])
598
  AssertCommand(["gnt-instance", "start", instance.name])
599 599

  
600 600

  
601 601
def _AssertRecreateDisks(cmdargs, instance, fail=False, check=True,
......
612 612
  if destroy:
613 613
    _DestroyInstanceVolumes(instance)
614 614
  AssertCommand((["gnt-instance", "recreate-disks"] + cmdargs +
615
                 [instance["name"]]), fail)
615
                 [instance.name]), fail)
616 616
  if not fail and check:
617 617
    # Quick check that the disks are there
618
    AssertCommand(["gnt-instance", "activate-disks", instance["name"]])
618
    AssertCommand(["gnt-instance", "activate-disks", instance.name])
619 619
    AssertCommand(["gnt-instance", "activate-disks", "--wait-for-sync",
620
                   instance["name"]])
621
    AssertCommand(["gnt-instance", "deactivate-disks", instance["name"]])
620
                   instance.name])
621
    AssertCommand(["gnt-instance", "deactivate-disks", instance.name])
622 622

  
623 623

  
624 624
@InstanceCheck(INST_UP, INST_UP, FIRST_ARG)
......
640 640
    _AssertRecreateDisks(["-I", "hail"], instance, fail=True, destroy=False)
641 641
  else:
642 642
    _AssertRecreateDisks(["-n", other_seq], instance, fail=True, destroy=False)
643
  AssertCommand(["gnt-instance", "stop", instance["name"]])
643
  AssertCommand(["gnt-instance", "stop", instance.name])
644 644
  # Disks exist: this should fail
645 645
  _AssertRecreateDisks([], instance, fail=True, destroy=False)
646 646
  # Recreate disks in place
......
656 656
  # Move disks back
657 657
  _AssertRecreateDisks(["-n", orig_seq], instance, check=False)
658 658
  # This and InstanceCheck decoration check that the disks are working
659
  AssertCommand(["gnt-instance", "reinstall", "-f", instance["name"]])
660
  AssertCommand(["gnt-instance", "start", instance["name"]])
659
  AssertCommand(["gnt-instance", "reinstall", "-f", instance.name])
660
  AssertCommand(["gnt-instance", "start", instance.name])
661 661

  
662 662

  
663 663
@InstanceCheck(INST_UP, INST_UP, FIRST_ARG)
664 664
def TestInstanceExport(instance, node):
665 665
  """gnt-backup export -n ..."""
666
  name = instance["name"]
666
  name = instance.name
667 667
  AssertCommand(["gnt-backup", "export", "-n", node.primary, name])
668 668
  return qa_utils.ResolveInstanceName(name)
669 669

  
......
672 672
def TestInstanceExportWithRemove(instance, node):
673 673
  """gnt-backup export --remove-instance"""
674 674
  AssertCommand(["gnt-backup", "export", "-n", node.primary,
675
                 "--remove-instance", instance["name"]])
675
                 "--remove-instance", instance.name])
676 676

  
677 677

  
678 678
@InstanceCheck(INST_UP, INST_UP, FIRST_ARG)
679 679
def TestInstanceExportNoTarget(instance):
680 680
  """gnt-backup export (without target node, should fail)"""
681
  AssertCommand(["gnt-backup", "export", instance["name"]], fail=True)
681
  AssertCommand(["gnt-backup", "export", instance.name], fail=True)
682 682

  
683 683

  
684 684
@InstanceCheck(None, INST_DOWN, FIRST_ARG)
......
692 692
          "--src-dir=%s/%s" % (pathutils.EXPORT_DIR, name),
693 693
          "--node=%s" % node.primary] +
694 694
         _GetGenericAddParameters(newinst, force_mac=constants.VALUE_GENERATE))
695
  cmd.append(newinst["name"])
695
  cmd.append(newinst.name)
696 696
  AssertCommand(cmd)
697 697
  qa_config.SetInstanceTemplate(newinst, templ)
698 698

  
......
719 719
  @param set_online: function to call to set the node on-line
720 720

  
721 721
  """
722
  info = _GetInstanceInfo(instance["name"])
722
  info = _GetInstanceInfo(instance.name)
723 723
  set_offline(snode)
724 724
  try:
725 725
    TestInstanceRemove(instance)

Also available in: Unified diff