File bsc#1121272-0001-Test-cts-simulate-failure-of-pacemaker_remoted-by-fr.patch of Package pacemaker.21299
From 5ac38cfa07e31955c3ac11b8d870d39eb314af91 Mon Sep 17 00:00:00 2001
From: "Gao,Yan" <ygao@suse.com>
Date: Tue, 4 Dec 2018 14:13:52 +0100
Subject: [PATCH 1/3] Test: cts: simulate failure of pacemaker_remoted by
freezing it with SIGSTOP
Previously, failure of pacemaker_remoted was simulated by sending
SIGKILL and issuing additional stop to pacemaker_remote.service. But
stop of pacemaker_remote.service would also result in stop of
sbd_remote.service if used, which'd practically leave noone eating the
poison pill.
---
cts/CTStests.py | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/cts/CTStests.py b/cts/CTStests.py
index 08f8b0062..2bd3a0f23 100644
--- a/cts/CTStests.py
+++ b/cts/CTStests.py
@@ -2744,13 +2744,11 @@ class RemoteDriver(CTSTest):
self.pcmk_started = 1
break
- def kill_pcmk_remote(self, node):
+ def freeze_pcmk_remote(self, node):
""" Simulate a Pacemaker Remote daemon failure. """
- # We kill the process to prevent a graceful stop,
- # then stop it to prevent the OS from restarting it.
- self.rsh(node, "killall -9 pacemaker_remoted")
- self.stop_pcmk_remote(node)
+ # We freeze the process.
+ self.rsh(node, "killall -STOP pacemaker_remoted")
def start_metal(self, node):
pcmk_started = 0
@@ -2841,9 +2839,9 @@ class RemoteDriver(CTSTest):
watch = self.create_watch(watchpats, 120)
watch.setwatch()
- # force stop the pcmk remote daemon. this will result in fencing
+ # freeze the pcmk remote daemon. this will result in fencing
self.debug("Force stopped active remote node")
- self.kill_pcmk_remote(node)
+ self.freeze_pcmk_remote(node)
self.debug("Waiting for remote node to be fenced.")
self.set_timer("remoteMetalFence")
--
2.16.4