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