File pacemaker-lrmd-pengine-remove-versioned-parameters-tests.patch of Package pacemaker

commit 2990b45d29abacca569a20a02a6db8ee694f4d90
Author: Ken Gaillot <kgaillot@redhat.com>
Date:   Mon May 8 11:00:20 2017 -0500

    Feature: lrmd,pengine: remove versioned parameters from documentation and tests

diff --git a/doc/Pacemaker_Explained/en-US/Ch-Rules.txt b/doc/Pacemaker_Explained/en-US/Ch-Rules.txt
index f65f8a1ec..ac12fe634 100644
--- a/doc/Pacemaker_Explained/en-US/Ch-Rules.txt
+++ b/doc/Pacemaker_Explained/en-US/Ch-Rules.txt
@@ -163,12 +163,15 @@ special, built-in node attributes for each node that can also be used.
  unrelated to the now-common use of "container" for resource isolation).
  '(since 1.1.13)'
 
-|#ra-version
-|The installed version of the resource agent on the node, as defined
+////
+// put a pipe in front of first two lines
+ #ra-version
+ The installed version of the resource agent on the node, as defined
  by the +version+ attribute of the +resource-agent+ tag in the agent's
  metadata. Valid only within rules controlling resource options. This can be
  useful during rolling upgrades of a backward-incompatible resource agent.
- '(coming in 1.1.17)'
+ '(coming in 1.1.18)'
+////
 
 |=========================================================
 
diff --git a/lrmd/Makefile.am b/lrmd/Makefile.am
index 64450cdc7..e801fbce9 100644
--- a/lrmd/Makefile.am
+++ b/lrmd/Makefile.am
@@ -36,11 +36,14 @@ endif
 lrmd_CFLAGS		= $(CFLAGS_HARDENED_EXE)
 lrmd_LDFLAGS		= $(LDFLAGS_HARDENED_EXE)
 
+#VERSIONED_LDADD		= $(top_builddir)/lib/lrmd/liblrmd.la		\
+#			$(top_builddir)/lib/pengine/libpe_rules.la
+VERSIONED_LDADD		=
+
 lrmd_LDADD		= $(top_builddir)/lib/common/libcrmcommon.la	\
 			$(top_builddir)/lib/services/libcrmservice.la	\
-			$(top_builddir)/lib/lrmd/liblrmd.la		\
 			$(top_builddir)/lib/fencing/libstonithd.la	\
-			$(top_builddir)/lib/pengine/libpe_rules.la ${COMPAT_LIBS}
+			$(VERSIONED_LDADD) ${COMPAT_LIBS}
 lrmd_SOURCES		= main.c lrmd.c
 
 pacemaker_remoted_CPPFLAGS	= -DSUPPORT_REMOTE $(AM_CPPFLAGS)
diff --git a/lrmd/regression.py.in b/lrmd/regression.py.in
index 5bf47c7bd..329051b2c 100755
--- a/lrmd/regression.py.in
+++ b/lrmd/regression.py.in
@@ -918,6 +918,52 @@ if __name__ == "__main__":
         test.add_cmd("-c exec -r test_rsc -a stop %s -l \"NEW_EVENT event_type:exec_complete rsc_id:test_rsc action:stop rc:ok op_status:complete\"" % (timeout))
         test.add_cmd("-c unregister_rsc -r test_rsc %s -l \"NEW_EVENT event_type:unregister rsc_id:test_rsc action:none rc:ok op_status:complete\"" % (timeout))
 
+    def build_versioned_tests(self):
+        """ Register tests for versioned resource parameters """
+
+        ### Verify that versioned resource parameters are chosen properly ###
+
+        # We'll default to one state file, then check the version to use a different one
+        state_file_default = "@CRM_RSCTMP_DIR@/versioned_params_default.state"
+        state_file_expected = "@CRM_RSCTMP_DIR@/versioned_params_expected.state"
+
+        # Versioned attributes are passed as a single key-value pair.
+        # Here, we define the value to choose the state file;
+        # ocf:heartbeat:Dummy should always be at least version 0.9.
+        versioned_key = "#versioned_attributes"
+        versioned_attrs = """<versioned_attributes>
+          <instance_attributes id="id01" score="2">
+            <rule id="id02" score="INFINITY">
+              <expression id="id03" type="version" attribute="#ra-version" operation="gt" value="0.8"/>
+            </rule>
+            <nvpair id="id04" name="state" value="%s"/>
+          </instance_attributes>
+          <instance_attributes id="id05" score="1">
+            <nvpair id="id06" name="state" value="%s"/>
+          </instance_attributes>
+        </versioned_attributes>""" % (state_file_expected, state_file_default)
+        cmd_params = "-k '%s' -v '%s' " % (versioned_key, versioned_attrs)
+
+        test = self.new_test("versioned_params", "Verify use of versioned resource parameters")
+
+        # First, remove the possible state files, so we can reliably tell what gets created.
+        test.add_sys_cmd("rm", "-f %s %s" % (state_file_expected, state_file_default))
+
+        # Register and start the resource.
+        test.add_cmd("-c register_rsc -r test_rsc -P pacemaker -C ocf -T Dummy "
+                     "-l 'NEW_EVENT event_type:register rsc_id:test_rsc action:none rc:ok op_status:complete' "
+                     "%s" % (self.action_timeout))
+        test.add_cmd("-c exec -r test_rsc -a start -t 6000 %s" % cmd_params)
+
+        # Check the created state file.
+        test.add_expected_fail_sys_cmd("ls", state_file_default, 2)
+        test.add_sys_cmd("ls", state_file_expected)
+
+        # Stop and unregister the resource.
+        test.add_cmd("-c exec -r test_rsc -a stop -t 4000 %s" % cmd_params)
+        test.add_cmd("-c unregister_rsc -r test_rsc " + self.action_timeout +
+                     "-l \"NEW_EVENT event_type:unregister rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
+
     def build_custom_tests(self):
         """ Register tests that target specific cases """
 
@@ -1000,50 +1046,6 @@ if __name__ == "__main__":
         test.add_cmd("-c unregister_rsc -r \"test_rsc\" "+self.action_timeout+
                      "-l \"NEW_EVENT event_type:unregister rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
 
-        ### Verify that versioned resource parameters are chosen properly ###
-
-        # We'll default to one state file, then check the version to use a different one
-        state_file_default = "@CRM_RSCTMP_DIR@/versioned_params_default.state"
-        state_file_expected = "@CRM_RSCTMP_DIR@/versioned_params_expected.state"
-
-        # Versioned attributes are passed as a single key-value pair.
-        # Here, we define the value to choose the state file;
-        # ocf:heartbeat:Dummy should always be at least version 0.9.
-        versioned_key = "#versioned_attributes"
-        versioned_attrs = """<versioned_attributes>
-          <instance_attributes id="id01" score="2">
-            <rule id="id02" score="INFINITY">
-              <expression id="id03" type="version" attribute="#ra-version" operation="gt" value="0.8"/>
-            </rule>
-            <nvpair id="id04" name="state" value="%s"/>
-          </instance_attributes>
-          <instance_attributes id="id05" score="1">
-            <nvpair id="id06" name="state" value="%s"/>
-          </instance_attributes>
-        </versioned_attributes>""" % (state_file_expected, state_file_default)
-        cmd_params = "-k '%s' -v '%s' " % (versioned_key, versioned_attrs)
-
-        test = self.new_test("versioned_params", "Verify use of versioned resource parameters")
-
-        # First, remove the possible state files, so we can reliably tell what gets created.
-        test.add_sys_cmd("rm", "-f %s %s" % (state_file_expected, state_file_default))
-
-        # Register and start the resource.
-        test.add_cmd("-c register_rsc -r test_rsc -P pacemaker -C ocf -T Dummy "
-                     "-l 'NEW_EVENT event_type:register rsc_id:test_rsc action:none rc:ok op_status:complete' "
-                     "%s" % (self.action_timeout))
-        test.add_cmd("-c exec -r test_rsc -a start -t 6000 %s" % cmd_params)
-
-        # Check the created state file.
-        test.add_expected_fail_sys_cmd("ls", state_file_default, 2)
-        test.add_sys_cmd("ls", state_file_expected)
-
-        # Stop and unregister the resource.
-        test.add_cmd("-c exec -r test_rsc -a stop -t 4000 %s" % cmd_params)
-        test.add_cmd("-c unregister_rsc -r test_rsc " + self.action_timeout +
-                     "-l \"NEW_EVENT event_type:unregister rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
-
-
         ### get metadata ###
         test = self.new_test("get_ocf_metadata", "Retrieve metadata for a resource")
         test.add_cmd_check_stdout("-c metadata -C \"ocf\" -P \"pacemaker\" -T \"Dummy\"",
@@ -1261,6 +1263,7 @@ def main(argv):
     tests.build_generic_tests()
     tests.build_multi_rsc_tests()
     tests.build_negative_tests()
+    #tests.build_versioned_tests()
     tests.build_custom_tests()
     tests.build_stress_tests()
 
diff --git a/pengine/regression.sh b/pengine/regression.sh
index 2de5e728a..e2e7bf67e 100755
--- a/pengine/regression.sh
+++ b/pengine/regression.sh
@@ -315,7 +315,7 @@ do_test 11-a-then-bm-b-move-a-clone-starting "Advanced migrate logic, A clone th
 do_test a-promote-then-b-migrate "A promote then B start. migrate B"
 do_test a-demote-then-b-migrate "A demote then B stop. migrate B"
 
-do_test migrate-versioned "Disable migration for versioned resources"
+#do_test migrate-versioned "Disable migration for versioned resources"
 
 #echo ""
 #do_test complex1 "Complex	"
@@ -847,8 +847,8 @@ do_test isolation-start-all   "Start docker isolated resources."
 do_test isolation-restart-all "Restart docker isolated resources."
 do_test isolation-clone       "Cloned isolated primitive."
 
-echo ""
-do_test versioned-resources     "Start resources with #ra-version rules"
+#echo ""
+#do_test versioned-resources     "Start resources with #ra-version rules"
 
 echo ""
 test_results
openSUSE Build Service is sponsored by