File bug-981489_pacemaker-cts-remote-failure-with-kill.patch of Package pacemaker.3577

commit 48246b5916745a56cb0ceb7b4e148b9e587708fe
Author: Ken Gaillot <kgaillot@redhat.com>
Date:   Wed Dec 23 14:36:51 2015 -0600

    Test: cts: simulate pacemaker_remote failure with kill
    
    Previously, failure was simulated by stopping pacemaker_remote, but
    that will eventually cause a graceful stop rather than a failure,
    so first kill the process.
    
    This also corrects a pattern that caused false BadNews.

diff --git a/cts/CTStests.py b/cts/CTStests.py
index e6f3abe..fb1c5f2 100644
--- a/cts/CTStests.py
+++ b/cts/CTStests.py
@@ -2764,6 +2764,14 @@ class RemoteDriver(CTSTest):
                 self.pcmk_started = 1
                 break
 
+    def kill_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)
+
     def start_metal(self, node):
         pcmk_started = 0
 
@@ -2855,7 +2863,7 @@ class RemoteDriver(CTSTest):
 
         # force stop the pcmk remote daemon. this will result in fencing
         self.debug("Force stopped active remote node")
-        self.stop_pcmk_remote(node)
+        self.kill_pcmk_remote(node)
 
         self.debug("Waiting for remote node to be fenced.")
         self.set_timer("remoteMetalFence")
@@ -3093,8 +3101,8 @@ class RemoteStonithd(RemoteDriver):
     def errorstoignore(self):
         ignore_pats = [
             r"Unexpected disconnect on remote-node",
-            r"crmd.*: error.*: Operation remote_.*_monitor",
-            r"pengine.*: Recover remote_.*\s*\(.*\)",
+            r"crmd.*:\s+error.*: Operation remote_.*_monitor",
+            r"pengine.*:\s+Recover remote_.*\s*\(.*\)",
             r"Calculated Transition .* /var/lib/pacemaker/pengine/pe-error",
             r"error.*: Resource .*ocf::.* is active on 2 nodes attempting recovery",
         ]
openSUSE Build Service is sponsored by