File jsc#ECO-1611-0008-Test-fencer-add-cpg_topology_delay-test-to-verify-en.patch of Package pacemaker.16889

From 6b34194b343cba0e943104b549fe86ea80132193 Mon Sep 17 00:00:00 2001
From: "Gao,Yan" <ygao@suse.com>
Date: Wed, 18 Mar 2020 15:55:18 +0100
Subject: [PATCH 8/9] Test: fencer: add cpg_topology_delay test to verify
 enforced fencing delay with fencing topology

---
 cts/cts-fencing.in | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

Index: pacemaker-2.0.1+20190417.13d370ca9/cts/cts-fencing.in
===================================================================
--- pacemaker-2.0.1+20190417.13d370ca9.orig/cts/cts-fencing.in
+++ pacemaker-2.0.1+20190417.13d370ca9/cts/cts-fencing.in
@@ -1040,6 +1040,35 @@ class Tests(object):
             test.add_stonith_neg_log_pattern("does not advertise support for 'reboot', performing 'off'")
             test.add_stonith_log_pattern("with device 'true1' returned: 0 (OK)")
 
+        # make sure enforced fencing delay is applied only for the first device in the first level
+        for test_type in test_types:
+            if test_type["use_cpg"] == 0:
+                continue
+
+            test = self.new_test("%s_topology_delay" % test_type["prefix"],
+                                 "Verify enforced fencing delay is applied only for the first device in the first level.",
+                                 test_type["use_cpg"])
+            test.add_cmd("stonith_admin",
+                         "-R true1 -a fence_dummy -o \"mode=pass\" -o \"pcmk_host_list=node1 node2 node3\"")
+            test.add_cmd("stonith_admin",
+                         "-R false1  -a fence_dummy -o \"mode=fail\" -o \"pcmk_host_list=node1 node2 node3\"")
+            test.add_cmd("stonith_admin",
+                         "-R true2  -a fence_dummy -o \"mode=pass\" -o \"pcmk_host_list=node1 node2 node3\"")
+            test.add_cmd("stonith_admin",
+                         "-R true3  -a fence_dummy -o \"mode=pass\" -o \"pcmk_host_list=node1 node2 node3\"")
+
+            test.add_cmd("stonith_admin", "-r node3 -i 1 -v true1")
+            test.add_cmd("stonith_admin", "-r node3 -i 1 -v false1")
+            test.add_cmd("stonith_admin", "-r node3 -i 2 -v true2")
+            test.add_cmd("stonith_admin", "-r node3 -i 2 -v true3")
+
+            test.add_cmd("stonith_admin", "-F node3 --delay 1")
+
+            test.add_stonith_log_pattern("Delaying 'off' action targeting node3 on true1 for enforced 1s")
+            test.add_stonith_neg_log_pattern("Delaying 'off' action targeting node3 on false1")
+            test.add_stonith_neg_log_pattern("Delaying 'off' action targeting node3 on true2")
+            test.add_stonith_neg_log_pattern("Delaying 'off' action targeting node3 on true3")
+
     def build_nodeid_tests(self):
         """ Register tests that use a corosync node id """
 
openSUSE Build Service is sponsored by