File jsc#ECO-1611-0008-Test-fencer-add-cpg_topology_delay-test-to-verify-en-1.1.patch of Package pacemaker.19778
From 432ee3a6da93e32577a2e259a18eaa88a60894e1 Mon Sep 17 00:00:00 2001
From: "Gao,Yan" <ygao@suse.com>
Date: Wed, 18 Mar 2020 15:55:18 +0100
Subject: [PATCH 08/15] Test: fencer: add cpg_topology_delay test to verify
enforced fencing delay with fencing topology
---
fencing/regression.py.in | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/fencing/regression.py.in b/fencing/regression.py.in
index 28a4e2fca..66fa05fec 100644
--- a/fencing/regression.py.in
+++ b/fencing/regression.py.in
@@ -952,6 +952,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 """
--
2.26.1