Revision b2525349 qa/qa_cluster.py

b/qa/qa_cluster.py
33 33
from ganeti import pathutils
34 34

  
35 35
import qa_config
36
import qa_daemon
37 36
import qa_utils
38 37
import qa_error
39 38
import qa_instance
......
348 347
  AssertCommand(["gnt-cluster", "verify-disks"])
349 348

  
350 349

  
350
# pylint: disable=W0613
351 351
def TestClusterVerifyDisksBrokenDRBD(instance, inst_nodes):
352 352
  """gnt-cluster verify-disks with broken DRBD"""
353
  qa_daemon.TestPauseWatcher()
353
  pass
354 354

  
355
  try:
356
    info = qa_instance.GetInstanceInfo(instance.name)
357
    snode = inst_nodes[1]
358
    for idx, minor in enumerate(info["drbd-minors"][snode.primary]):
359
      if idx % 2 == 0:
360
        break_drbd_cmd = \
361
          "(drbdsetup %d down >/dev/null 2>&1;" \
362
          " drbdsetup down resource%d >/dev/null 2>&1) || /bin/true" % \
363
          (minor, minor)
364
      else:
365
        break_drbd_cmd = \
366
          "(drbdsetup %d detach >/dev/null 2>&1;" \
367
          " drbdsetup detach %d >/dev/null 2>&1) || /bin/true" % \
368
          (minor, minor)
369
      AssertCommand(break_drbd_cmd, node=snode)
370

  
371
    verify_output = GetCommandOutput(qa_config.GetMasterNode().primary,
372
                                     "gnt-cluster verify-disks")
373
    activation_msg = "Activating disks for instance '%s'" % instance.name
374
    if activation_msg not in verify_output:
375
      raise qa_error.Error("gnt-cluster verify-disks did not activate broken"
376
                           " DRBD disks:\n%s" % verify_output)
377

  
378
    verify_output = GetCommandOutput(qa_config.GetMasterNode().primary,
379
                                     "gnt-cluster verify-disks")
380
    if activation_msg in verify_output:
381
      raise qa_error.Error("gnt-cluster verify-disks wants to activate broken"
382
                           " DRBD disks on second attempt:\n%s" % verify_output)
383

  
384
    AssertCommand(_CLUSTER_VERIFY)
385
  finally:
386
    qa_daemon.TestResumeWatcher()
355
# FIXME (thomasth): reenable once it works (see issue 516!)
356
# qa_daemon.TestPauseWatcher()
357
#
358
# try:
359
#   info = qa_instance.GetInstanceInfo(instance.name)
360
#   snode = inst_nodes[1]
361
#   for idx, minor in enumerate(info["drbd-minors"][snode.primary]):
362
#     if idx % 2 == 0:
363
#       break_drbd_cmd = \
364
#         "(drbdsetup %d down >/dev/null 2>&1;" \
365
#         " drbdsetup down resource%d >/dev/null 2>&1) || /bin/true" % \
366
#         (minor, minor)
367
#     else:
368
#       break_drbd_cmd = \
369
#         "(drbdsetup %d detach >/dev/null 2>&1;" \
370
#         " drbdsetup detach %d >/dev/null 2>&1) || /bin/true" % \
371
#         (minor, minor)
372
#     AssertCommand(break_drbd_cmd, node=snode)
373
#
374
#   verify_output = GetCommandOutput(qa_config.GetMasterNode().primary,
375
#                                    "gnt-cluster verify-disks")
376
#   activation_msg = "Activating disks for instance '%s'" % instance.name
377
#   if activation_msg not in verify_output:
378
#     raise qa_error.Error("gnt-cluster verify-disks did not activate broken"
379
#                          " DRBD disks:\n%s" % verify_output)
380
#
381
#   verify_output = GetCommandOutput(qa_config.GetMasterNode().primary,
382
#                                    "gnt-cluster verify-disks")
383
#   if activation_msg in verify_output:
384
#     raise qa_error.Error("gnt-cluster verify-disks wants to activate broken"
385
#                          " DRBD disks on second attempt:\n%s" % verify_output)
386
#
387
#   AssertCommand(_CLUSTER_VERIFY)
388
# finally:
389
#   qa_daemon.TestResumeWatcher()
387 390

  
388 391

  
389 392
def TestJobqueue():

Also available in: Unified diff