diff options
Diffstat (limited to 'xml/test-2')
60 files changed, 1747 insertions, 0 deletions
diff --git a/xml/test-2/010-rsc_colocation-dropped-for-noop-sa.ref b/xml/test-2/010-rsc_colocation-dropped-for-noop-sa.ref new file mode 100644 index 0000000..a4a4a23 --- /dev/null +++ b/xml/test-2/010-rsc_colocation-dropped-for-noop-sa.ref @@ -0,0 +1,60 @@ +<!-- + Contrieved example of how rsc_colocation/@score-attribute might have been used + + This was never implemented and, apparently, will not work. + --> +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"> + <instance_attributes id="virt-063-attrs"> + <nvpair id="virt-063-AddrHttpdTogether" name="AddrHttpdTogether" value="INFINITY"/> + </instance_attributes> + </node> + <node id="virt-064" uname="virt-064"> + <instance_attributes id="virt-064-attrs"> + <nvpair id="virt-064-AddrHttpdTogether" name="AddrHttpdTogether" value="INFINITY"/> + </instance_attributes> + </node> + <node id="virt-069" uname="virt-069"> + <instance_attributes id="virt-069-attrs"> + <!-- IPaddr2 won't work here, is DNS-load-balanced or something... --> + <nvpair id="virt-069-AddrHttpdTogether" name="AddrHttpdTogether" value="-INFINITY"/> + </instance_attributes> + </node> + + </nodes> + <resources> + + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + + <!-- this never worked like that --> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/010-rsc_colocation-dropped-for-noop-sa.ref.err b/xml/test-2/010-rsc_colocation-dropped-for-noop-sa.ref.err new file mode 100644 index 0000000..50791bf --- /dev/null +++ b/xml/test-2/010-rsc_colocation-dropped-for-noop-sa.ref.err @@ -0,0 +1,2 @@ +INFO: Constraints-colocation: colocation-addr-httpd: dropping score-attribute +INFO: Constraints-colocation: ... was actually never in effect diff --git a/xml/test-2/010-rsc_colocation-dropped-for-noop-sa.xml b/xml/test-2/010-rsc_colocation-dropped-for-noop-sa.xml new file mode 100644 index 0000000..70bedfd --- /dev/null +++ b/xml/test-2/010-rsc_colocation-dropped-for-noop-sa.xml @@ -0,0 +1,62 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<!-- + Contrieved example of how rsc_colocation/@score-attribute might have been used + + This was never implemented and, apparently, will not work. + --> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"> + <instance_attributes id="virt-063-attrs"> + <nvpair id="virt-063-AddrHttpdTogether" name="AddrHttpdTogether" value="INFINITY"/> + </instance_attributes> + </node> + <node id="virt-064" uname="virt-064"> + <instance_attributes id="virt-064-attrs"> + <nvpair id="virt-064-AddrHttpdTogether" name="AddrHttpdTogether" value="INFINITY"/> + </instance_attributes> + </node> + <node id="virt-069" uname="virt-069"> + <instance_attributes id="virt-069-attrs"> + <!-- IPaddr2 won't work here, is DNS-load-balanced or something... --> + <nvpair id="virt-069-AddrHttpdTogether" name="AddrHttpdTogether" value="-INFINITY"/> + </instance_attributes> + </node> + + </nodes> + <resources> + + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + + <!-- this never worked like that --> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" + score-attribute="AddrHttpdTogether"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/020-rsc-requires-inline.ref b/xml/test-2/020-rsc-requires-inline.ref new file mode 100644 index 0000000..cef2958 --- /dev/null +++ b/xml/test-2/020-rsc-requires-inline.ref @@ -0,0 +1,45 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <!-- relying on order (+ colocation) to guarantee "requires" + transitively (unfencing/fencing/quorum)? --> + <op id="myAddr-start" name="start" interval="0" timeout="40s"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + <meta_attributes id="_2TO3_myAddr-meta"><nvpair id="_2TO3_myAddr-start-meta-requires" name="requires" value="nothing"/> + </meta_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" score="INFINITY"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/020-rsc-requires-inline.ref.err b/xml/test-2/020-rsc-requires-inline.ref.err new file mode 100644 index 0000000..9c65697 --- /dev/null +++ b/xml/test-2/020-rsc-requires-inline.ref.err @@ -0,0 +1 @@ +DEBUG: Resources-operation: myAddr-start (rsc=myAddr): moving requires under meta_attributes as requires unless already defined there for matching start|promote diff --git a/xml/test-2/020-rsc-requires-inline.xml b/xml/test-2/020-rsc-requires-inline.xml new file mode 100644 index 0000000..630bb18 --- /dev/null +++ b/xml/test-2/020-rsc-requires-inline.xml @@ -0,0 +1,45 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <!-- relying on order (+ colocation) to guarantee "requires" + transitively (unfencing/fencing/quorum)? --> + <op id="myAddr-start" name="start" interval="0" timeout="40s" + requires="nothing"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" score="INFINITY"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/021-rsc-requires-nvpair.ref b/xml/test-2/021-rsc-requires-nvpair.ref new file mode 100644 index 0000000..3c239e4 --- /dev/null +++ b/xml/test-2/021-rsc-requires-nvpair.ref @@ -0,0 +1,47 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + <meta_attributes id="_2TO3_myAddr-start-metaparams"> + <!-- relying on order (+ colocation) to guarantee "requires" + transitively (unfencing/fencing/quorum)? --> + + <nvpair id="myAddr-start-requires" name="requires" value="nothing"/> + </meta_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" score="INFINITY"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/021-rsc-requires-nvpair.ref.err b/xml/test-2/021-rsc-requires-nvpair.ref.err new file mode 100644 index 0000000..6650f15 --- /dev/null +++ b/xml/test-2/021-rsc-requires-nvpair.ref.err @@ -0,0 +1 @@ +DEBUG: Resources-operation: myAddr-start (rsc=myAddr, meta=myAddr-start-metaparams): moving requires under meta_attributes as requires unless already defined there for matching start|promote diff --git a/xml/test-2/021-rsc-requires-nvpair.xml b/xml/test-2/021-rsc-requires-nvpair.xml new file mode 100644 index 0000000..6f75c20 --- /dev/null +++ b/xml/test-2/021-rsc-requires-nvpair.xml @@ -0,0 +1,48 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s"> + <meta_attributes id="myAddr-start-metaparams"> + <!-- relying on order (+ colocation) to guarantee "requires" + transitively (unfencing/fencing/quorum)? --> + <nvpair id="myAddr-start-requires" name="requires" value="nothing"/> + </meta_attributes> + </op> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" score="INFINITY"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/022-rsc-requires-counterexamples.ref b/xml/test-2/022-rsc-requires-counterexamples.ref new file mode 100644 index 0000000..c100eef --- /dev/null +++ b/xml/test-2/022-rsc-requires-counterexamples.ref @@ -0,0 +1,48 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s"> + <meta_attributes id="myAddr-start-metaparams"> + <!-- fake-requires != requires --> + <nvpair id="myAddr-start-requires" name="fake-requires" value="nothing"/> + </meta_attributes> + </op> + <!-- stop != start --> + <op id="myAddr-stop" name="stop" interval="0" timeout="40s"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" score="INFINITY"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/022-rsc-requires-counterexamples.ref.err b/xml/test-2/022-rsc-requires-counterexamples.ref.err new file mode 100644 index 0000000..6f6a995 --- /dev/null +++ b/xml/test-2/022-rsc-requires-counterexamples.ref.err @@ -0,0 +1,2 @@ +INFO: Resources-operation: myAddr-stop (rsc=myAddr): dropping requires +INFO: Resources-operation: ... only start/promote operation taken into account diff --git a/xml/test-2/022-rsc-requires-counterexamples.xml b/xml/test-2/022-rsc-requires-counterexamples.xml new file mode 100644 index 0000000..ce9717b --- /dev/null +++ b/xml/test-2/022-rsc-requires-counterexamples.xml @@ -0,0 +1,50 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s"> + <meta_attributes id="myAddr-start-metaparams"> + <!-- fake-requires != requires --> + <nvpair id="myAddr-start-requires" name="fake-requires" value="nothing"/> + </meta_attributes> + </op> + <!-- stop != start --> + <op id="myAddr-stop" name="stop" interval="0" timeout="40s" + requires="nothing"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" score="INFINITY"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/023-rsc-requires-no-override.ref b/xml/test-2/023-rsc-requires-no-override.ref new file mode 100644 index 0000000..233a66a --- /dev/null +++ b/xml/test-2/023-rsc-requires-no-override.ref @@ -0,0 +1,56 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <!-- possible override from op attribute --> + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s"/> + <!-- stop != start --> + <op id="myAddr-stop" name="stop" interval="0" timeout="40s"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + <meta_attributes id="myAddr-meta"> + <nvpair id="myAddr-requires" name="requires" value="quorum"/> + </meta_attributes> + </primitive> + + <!-- possible override from op's meta-attribute --> + <clone id="master"> + <meta_attributes id="master-meta"> + <nvpair id="master-promotable" name="promotable" value="true"/> + <nvpair id="master-promoted-node-max" name="promoted-node-max" value="1"/> + <nvpair id="master-clone-max" name="clone-max" value="3"/> + <nvpair id="master-promoted-max" name="promoted-max" value="1"/> + <nvpair id="master-clone-node-max" name="clone-node-max" value="1"/> + </meta_attributes> + <primitive id="stateful" class="ocf" type="Stateful" provider="pacemaker"> + <operations> + <op id="stateful-monitor-15s" interval="15s" name="monitor" timeout="60s"/> + <op id="stateful-monitor-16s" interval="16s" name="monitor" timeout="60s" role="Master"/> + <op id="stateful-promote" interval="0" name="promote" timeout="40s"/> + <!-- demote != promote --> + <op id="stateful-demote" interval="0" name="demote" timeout="40s"/> + </operations> + <meta_attributes id="stateful-meta"> + <nvpair id="stateful-requires" name="requires" value="quorum"/> + </meta_attributes> + </primitive> + </clone> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/023-rsc-requires-no-override.ref.err b/xml/test-2/023-rsc-requires-no-override.ref.err new file mode 100644 index 0000000..ad680b6 --- /dev/null +++ b/xml/test-2/023-rsc-requires-no-override.ref.err @@ -0,0 +1,4 @@ +DEBUG: Resources-operation: myAddr-start (rsc=myAddr): moving requires under meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: stateful-promote (rsc=stateful, meta=stateful-promote-meta): moving requires under meta_attributes as requires unless already defined there for matching start|promote +INFO: Resources-operation: stateful-demote (rsc=stateful, meta=stateful-demote-meta): dropping requires +INFO: Resources-operation: ... only start/promote operation taken into account diff --git a/xml/test-2/023-rsc-requires-no-override.xml b/xml/test-2/023-rsc-requires-no-override.xml new file mode 100644 index 0000000..8f3d765 --- /dev/null +++ b/xml/test-2/023-rsc-requires-no-override.xml @@ -0,0 +1,66 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <!-- possible override from op attribute --> + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s" + requires="nothing"/> + <!-- stop != start --> + <op id="myAddr-stop" name="stop" interval="0" timeout="40s"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + <meta_attributes id="myAddr-meta"> + <nvpair id="myAddr-requires" name="requires" value="quorum"/> + </meta_attributes> + </primitive> + + <!-- possible override from op's meta-attribute --> + <clone id="master"> + <meta_attributes id="master-meta"> + <nvpair id="master-promotable" name="promotable" value="true"/> + <nvpair id="master-promoted-node-max" name="promoted-node-max" value="1"/> + <nvpair id="master-clone-max" name="clone-max" value="3"/> + <nvpair id="master-promoted-max" name="promoted-max" value="1"/> + <nvpair id="master-clone-node-max" name="clone-node-max" value="1"/> + </meta_attributes> + <primitive id="stateful" class="ocf" type="Stateful" provider="pacemaker"> + <operations> + <op id="stateful-monitor-15s" interval="15s" name="monitor" timeout="60s"/> + <op id="stateful-monitor-16s" interval="16s" name="monitor" timeout="60s" role="Master"/> + <op id="stateful-promote" interval="0" name="promote" timeout="40s"> + <meta_attributes id="stateful-promote-meta"> + <nvpair id="stateful-promote-requires" name="requires" value="nothing"/> + </meta_attributes> + </op> + <!-- demote != promote --> + <op id="stateful-demote" interval="0" name="demote" timeout="40s"> + <meta_attributes id="stateful-demote-meta"> + <nvpair id="stateful-demote-requires" name="requires" value="nothing"/> + </meta_attributes> + </op> + </operations> + <meta_attributes id="stateful-meta"> + <nvpair id="stateful-requires" name="requires" value="quorum"/> + </meta_attributes> + </primitive> + </clone> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/024-rsc-requires-no-selfclash.ref b/xml/test-2/024-rsc-requires-no-selfclash.ref new file mode 100644 index 0000000..358ccd7 --- /dev/null +++ b/xml/test-2/024-rsc-requires-no-selfclash.ref @@ -0,0 +1,116 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <!-- potential clash between pre-existing + meta_attributes/nvpair[@name = 'requires'] vs. + op[@name = 'start' + or + @name = 'promote']/@requires + and/or + op[@name = 'start' + or + @name = 'promote']/meta_attributes/nvpair[@name = 'requires'] --> + <primitive id="myAddr1" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr1-monitor" name="monitor" interval="30s"/> + <op id="myAddr1-start" name="start" interval="0" timeout="40s"/> + </operations> + <instance_attributes id="myAddr1-params"> + <nvpair id="myAddr1-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + <meta_attributes id="myAddr1-meta"> + <nvpair id="myAddr1-requires" name="requires" value="quorum"/> + </meta_attributes> + </primitive> + + <!-- potential clash between op[@name = 'start' + or + @name = 'promote']/@requires + and op[@name = 'start' + or + @name = 'promote']/meta_attributes/nvpair[@name = 'requires'] + (would-eliminate-override-meta-attribute is missing, + allowing for direct clash in the propagation logic) --> + <primitive id="myAddr2" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr2-monitor" name="monitor" interval="30s"/> + <op id="myAddr2-start" name="start" interval="0" timeout="40s"/> + </operations> + <instance_attributes id="myAddr2-params"> + <nvpair id="myAddr2-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + <meta_attributes id="_2TO3_myAddr2-meta"><nvpair id="_2TO3_myAddr2-start-meta-requires" name="requires" value="nothing"/> + </meta_attributes> + </primitive> + + <!-- potential clash between multiple op[@name = 'start' + or + @name = 'promote']/@requires + (would-eliminate-override-meta-attribute is missing, + allowing for direct clash in the propagation logic) --> + <clone id="master1"> + <meta_attributes id="master1-meta"> + <nvpair id="master1-promotable" name="promotable" value="true"/> + <nvpair id="master1-promoted-node-max" name="promoted-node-max" value="1"/> + <nvpair id="master1-clone-max" name="clone-max" value="3"/> + <nvpair id="master1-promoted-max" name="promoted-max" value="1"/> + <nvpair id="master1-clone-node-max" name="clone-node-max" value="1"/> + </meta_attributes> + <primitive id="stateful1" class="ocf" type="Stateful" provider="pacemaker"> + <operations> + <op id="stateful1-monitor-15s" interval="15s" name="monitor" timeout="60s"/> + <op id="stateful1-monitor-16s" interval="16s" name="monitor" timeout="60s" role="Master"/> + <op id="stateful1-promote" interval="0" name="promote" timeout="40s"/> + <op id="stateful1-start" interval="0" name="start" timeout="40s"/> + <!-- demote != promote --> + <op id="stateful1-demote" interval="0" name="demote" timeout="40s"/> + </operations> + <meta_attributes id="_2TO3_stateful1-meta"><nvpair id="_2TO3_stateful1-start-meta-requires" name="requires" value="fencing"/> + </meta_attributes> + </primitive> + </clone> + + <!-- potential clash between multiple + op[@name = 'start' + or + @name = 'promote']/meta_attributes/nvpair[@name = 'requires'] + (would-eliminate-override-meta-attribute is missing, + allowing for direct clash in the propagation logic) --> + <clone id="master2"> + <meta_attributes id="master2-meta"> + <nvpair id="master2-promotable" name="promotable" value="true"/> + <nvpair id="master2-promoted-node-max" name="promoted-node-max" value="1"/> + <nvpair id="master2-clone-max" name="clone-max" value="3"/> + <nvpair id="master2-promoted-max" name="promoted-max" value="1"/> + <nvpair id="master2-clone-node-max" name="clone-node-max" value="1"/> + </meta_attributes> + <primitive id="stateful2" class="ocf" type="Stateful" provider="pacemaker"> + <operations> + <op id="stateful2-monitor-15s" interval="15s" name="monitor" timeout="60s"/> + <op id="stateful2-monitor-16s" interval="16s" name="monitor" timeout="60s" role="Master"/> + <op id="stateful2-promote" interval="0" name="promote" timeout="40s"/> + <op id="stateful2-start" interval="0" name="start" timeout="40s"/> + <!-- demote != promote --> + <op id="stateful2-demote" interval="0" name="demote" timeout="40s"/> + </operations> + <meta_attributes id="_2TO3_stateful2-promote-meta3"> + + <nvpair id="stateful2-promote-requires3-1" name="requires" value="fencing"/> + </meta_attributes> + </primitive> + </clone> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/024-rsc-requires-no-selfclash.ref.err b/xml/test-2/024-rsc-requires-no-selfclash.ref.err new file mode 100644 index 0000000..b275532 --- /dev/null +++ b/xml/test-2/024-rsc-requires-no-selfclash.ref.err @@ -0,0 +1,14 @@ +DEBUG: Resources-operation: myAddr1-start (rsc=myAddr1, meta=myAddr1-start-meta): moving requires under meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: myAddr1-start (rsc=myAddr1): moving requires under meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: myAddr2-start (rsc=myAddr2, meta=myAddr2-start-meta): moving requires under meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: myAddr2-start (rsc=myAddr2): moving requires under meta_attributes as requires unless already defined there for matching start|promote +INFO: Resources-operation: stateful1-demote (rsc=stateful1, meta=stateful1-demote-meta): dropping requires +INFO: Resources-operation: ... only start/promote operation taken into account +DEBUG: Resources-operation: stateful1-promote (rsc=stateful1): moving requires under meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: stateful1-start (rsc=stateful1): moving requires under meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: stateful2-promote (rsc=stateful2, meta=stateful2-promote-meta1): moving requires under meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: stateful2-promote (rsc=stateful2, meta=stateful2-promote-meta1): moving requires under meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: stateful2-promote (rsc=stateful2, meta=stateful2-promote-meta2): moving requires under meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: stateful2-start (rsc=stateful2, meta=stateful2-promote-meta3): moving requires under meta_attributes as requires unless already defined there for matching start|promote +INFO: Resources-operation: stateful2-demote (rsc=stateful2, meta=stateful2-promote-meta): dropping requires +INFO: Resources-operation: ... only start/promote operation taken into account diff --git a/xml/test-2/024-rsc-requires-no-selfclash.xml b/xml/test-2/024-rsc-requires-no-selfclash.xml new file mode 100644 index 0000000..096c61c --- /dev/null +++ b/xml/test-2/024-rsc-requires-no-selfclash.xml @@ -0,0 +1,141 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <!-- potential clash between pre-existing + meta_attributes/nvpair[@name = 'requires'] vs. + op[@name = 'start' + or + @name = 'promote']/@requires + and/or + op[@name = 'start' + or + @name = 'promote']/meta_attributes/nvpair[@name = 'requires'] --> + <primitive id="myAddr1" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr1-monitor" name="monitor" interval="30s"/> + <op id="myAddr1-start" name="start" interval="0" timeout="40s" + requires="nothing"> + <meta_attributes id="myAddr1-start-meta"> + <nvpair id="myAddr1-start-requires" name="requires" value="stonith"/> + </meta_attributes> + </op> + </operations> + <instance_attributes id="myAddr1-params"> + <nvpair id="myAddr1-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + <meta_attributes id="myAddr1-meta"> + <nvpair id="myAddr1-requires" name="requires" value="quorum"/> + </meta_attributes> + </primitive> + + <!-- potential clash between op[@name = 'start' + or + @name = 'promote']/@requires + and op[@name = 'start' + or + @name = 'promote']/meta_attributes/nvpair[@name = 'requires'] + (would-eliminate-override-meta-attribute is missing, + allowing for direct clash in the propagation logic) --> + <primitive id="myAddr2" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr2-monitor" name="monitor" interval="30s"/> + <op id="myAddr2-start" name="start" interval="0" timeout="40s" + requires="nothing"> + <meta_attributes id="myAddr2-start-meta"> + <nvpair id="myAddr2-start-requires" name="requires" value="stonith"/> + </meta_attributes> + </op> + </operations> + <instance_attributes id="myAddr2-params"> + <nvpair id="myAddr2-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <!-- potential clash between multiple op[@name = 'start' + or + @name = 'promote']/@requires + (would-eliminate-override-meta-attribute is missing, + allowing for direct clash in the propagation logic) --> + <clone id="master1"> + <meta_attributes id="master1-meta"> + <nvpair id="master1-promotable" name="promotable" value="true"/> + <nvpair id="master1-promoted-node-max" name="promoted-node-max" value="1"/> + <nvpair id="master1-clone-max" name="clone-max" value="3"/> + <nvpair id="master1-promoted-max" name="promoted-max" value="1"/> + <nvpair id="master1-clone-node-max" name="clone-node-max" value="1"/> + </meta_attributes> + <primitive id="stateful1" class="ocf" type="Stateful" provider="pacemaker"> + <operations> + <op id="stateful1-monitor-15s" interval="15s" name="monitor" timeout="60s"/> + <op id="stateful1-monitor-16s" interval="16s" name="monitor" timeout="60s" role="Master"/> + <op id="stateful1-promote" interval="0" name="promote" timeout="40s" + requires="quorum"/> + <op id="stateful1-start" interval="0" name="start" timeout="40s" + requires="fencing"/> + <!-- demote != promote --> + <op id="stateful1-demote" interval="0" name="demote" timeout="40s"> + <meta_attributes id="stateful1-demote-meta"> + <nvpair id="stateful1-demote-requires" name="requires" value="nothing"/> + </meta_attributes> + </op> + </operations> + </primitive> + </clone> + + <!-- potential clash between multiple + op[@name = 'start' + or + @name = 'promote']/meta_attributes/nvpair[@name = 'requires'] + (would-eliminate-override-meta-attribute is missing, + allowing for direct clash in the propagation logic) --> + <clone id="master2"> + <meta_attributes id="master2-meta"> + <nvpair id="master2-promotable" name="promotable" value="true"/> + <nvpair id="master2-promoted-node-max" name="promoted-node-max" value="1"/> + <nvpair id="master2-clone-max" name="clone-max" value="3"/> + <nvpair id="master2-promoted-max" name="promoted-max" value="1"/> + <nvpair id="master2-clone-node-max" name="clone-node-max" value="1"/> + </meta_attributes> + <primitive id="stateful2" class="ocf" type="Stateful" provider="pacemaker"> + <operations> + <op id="stateful2-monitor-15s" interval="15s" name="monitor" timeout="60s"/> + <op id="stateful2-monitor-16s" interval="16s" name="monitor" timeout="60s" role="Master"/> + <op id="stateful2-promote" interval="0" name="promote" timeout="40s"> + <meta_attributes id="stateful2-promote-meta1"> + <nvpair id="stateful2-promote-requires1-1" name="requires" value="quorum"/> + <nvpair id="stateful2-promote-requires1-2" name="requires" value="nothing"/> + </meta_attributes> + <meta_attributes id="stateful2-promote-meta2"> + <nvpair id="stateful2-promote-requires2-1" name="requires" value="unfencing"/> + </meta_attributes> + </op> + <op id="stateful2-start" interval="0" name="start" timeout="40s"> + <meta_attributes id="stateful2-promote-meta3"> + <nvpair id="stateful2-promote-requires3-1" name="requires" value="fencing"/> + </meta_attributes> + </op> + <!-- demote != promote --> + <op id="stateful2-demote" interval="0" name="demote" timeout="40s"> + <meta_attributes id="stateful2-promote-meta"> + <nvpair id="stateful2-promote-requires" name="requires" value="nothing"/> + </meta_attributes> + </op> + </operations> + </primitive> + </clone> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/030-clu-props-plain-rename.ref b/xml/test-2/030-clu-props-plain-rename.ref new file mode 100644 index 0000000..2f446c3 --- /dev/null +++ b/xml/test-2/030-clu-props-plain-rename.ref @@ -0,0 +1,25 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config> + <cluster_property_set id="cluster-opts"> + <nvpair id="cluster-opts-cluster_recheck_interval" name="cluster-recheck-interval" value="10min"/> + <nvpair id="cluster-opts-dc_deadtime" name="dc-deadtime" value="15s"/> + <nvpair id="cluster-opts-election_timeout" name="election-timeout" value="90s"/> + <nvpair id="cluster-opts-no_quorum_policy" name="no-quorum-policy" value="freeze"/> + <nvpair id="cluster-opts-remove_after_stop" name="remove-after-stop" value="false"/> + <nvpair id="cluster-opts-shutdown_escalation" name="shutdown-escalation" value="15min"/> + <nvpair id="cluster-opts-startup_fencing" name="startup-fencing" value="true"/> + <nvpair id="cluster-opts-stonith_action" name="stonith-action" value="off"/> + <nvpair id="cluster-opts-stonith_enabled" name="stonith-enabled" value="off"/> + <nvpair id="cluster-opts-stop_orphan_actions" name="stop-orphan-actions" value="true"/> + <nvpair id="cluster-opts-stop_orphan_resources" name="stop-orphan-resources" value="true"/> + <nvpair id="cluster-opts-symmetric_cluster" name="symmetric-cluster" value="true"/> + <nvpair id="cluster-opts-transition_idle_timeout" name="cluster-delay" value="50s"/> + </cluster_property_set> + </crm_config> + <nodes/> + <resources/> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/030-clu-props-plain-rename.ref.err b/xml/test-2/030-clu-props-plain-rename.ref.err new file mode 100644 index 0000000..878c504 --- /dev/null +++ b/xml/test-2/030-clu-props-plain-rename.ref.err @@ -0,0 +1,13 @@ +DEBUG: Cluster properties: cluster-opts-cluster_recheck_interval: renaming cluster_recheck_interval as cluster-recheck-interval +DEBUG: Cluster properties: cluster-opts-dc_deadtime: renaming dc_deadtime as dc-deadtime +DEBUG: Cluster properties: cluster-opts-election_timeout: renaming election_timeout as election-timeout +DEBUG: Cluster properties: cluster-opts-no_quorum_policy: renaming no_quorum_policy as no-quorum-policy +DEBUG: Cluster properties: cluster-opts-remove_after_stop: renaming remove_after_stop as remove-after-stop +DEBUG: Cluster properties: cluster-opts-shutdown_escalation: renaming shutdown_escalation as shutdown-escalation +DEBUG: Cluster properties: cluster-opts-startup_fencing: renaming startup_fencing as startup-fencing +DEBUG: Cluster properties: cluster-opts-stonith_action: renaming stonith_action as stonith-action +DEBUG: Cluster properties: cluster-opts-stonith_enabled: renaming stonith_enabled as stonith-enabled +DEBUG: Cluster properties: cluster-opts-stop_orphan_actions: renaming stop_orphan_actions as stop-orphan-actions +DEBUG: Cluster properties: cluster-opts-stop_orphan_resources: renaming stop_orphan_resources as stop-orphan-resources +DEBUG: Cluster properties: cluster-opts-symmetric_cluster: renaming symmetric_cluster as symmetric-cluster +DEBUG: Cluster properties: cluster-opts-transition_idle_timeout: renaming transition_idle_timeout as cluster-delay diff --git a/xml/test-2/030-clu-props-plain-rename.xml b/xml/test-2/030-clu-props-plain-rename.xml new file mode 100644 index 0000000..f7a0a52 --- /dev/null +++ b/xml/test-2/030-clu-props-plain-rename.xml @@ -0,0 +1,26 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config> + <cluster_property_set id="cluster-opts"> + <nvpair id="cluster-opts-cluster_recheck_interval" name="cluster_recheck_interval" value="10min"/> + <nvpair id="cluster-opts-dc_deadtime" name="dc_deadtime" value="15s"/> + <nvpair id="cluster-opts-election_timeout" name="election_timeout" value="90s"/> + <nvpair id="cluster-opts-no_quorum_policy" name="no_quorum_policy" value="freeze"/> + <nvpair id="cluster-opts-remove_after_stop" name="remove_after_stop" value="false"/> + <nvpair id="cluster-opts-shutdown_escalation" name="shutdown_escalation" value="15min"/> + <nvpair id="cluster-opts-startup_fencing" name="startup_fencing" value="true"/> + <nvpair id="cluster-opts-stonith_action" name="stonith_action" value="off"/> + <nvpair id="cluster-opts-stonith_enabled" name="stonith_enabled" value="off"/> + <nvpair id="cluster-opts-stop_orphan_actions" name="stop_orphan_actions" value="true"/> + <nvpair id="cluster-opts-stop_orphan_resources" name="stop_orphan_resources" value="true"/> + <nvpair id="cluster-opts-symmetric_cluster" name="symmetric_cluster" value="true"/> + <nvpair id="cluster-opts-transition_idle_timeout" name="transition_idle_timeout" value="50s"/> + </cluster_property_set> + </crm_config> + <nodes/> + <resources/> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/031-clu-props-drop.ref b/xml/test-2/031-clu-props-drop.ref new file mode 100644 index 0000000..03e5618 --- /dev/null +++ b/xml/test-2/031-clu-props-drop.ref @@ -0,0 +1,14 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config> + + <cluster_property_set id="cluster-opts-2"> + <nvpair id="cluster-opts-cluster-infrastructure-2" name="cluster-infrastructure" value="corosync"/> + </cluster_property_set> + </crm_config> + <nodes/> + <resources/> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/031-clu-props-drop.ref.err b/xml/test-2/031-clu-props-drop.ref.err new file mode 100644 index 0000000..b26de82 --- /dev/null +++ b/xml/test-2/031-clu-props-drop.ref.err @@ -0,0 +1,10 @@ +INFO: Cluster properties: cluster-opts-cluster-infrastructure: dropping cluster-infrastructure for matching heartbeat|openais|classic openais|classic openais (with plugin)|cman +INFO: Cluster properties: ... corosync (2+) infrastructure can be used instead, though the value is not of significance +INFO: Cluster properties: cluster-opts-default-migration-threshold: dropping default-migration-threshold +INFO: Cluster properties: ... migration-threshold in rsc_defaults can be configured instead +INFO: Cluster properties: cluster-opts-default_migration_threshold: dropping default_migration_threshold +INFO: Cluster properties: ... migration-threshold in rsc_defaults can be configured instead +INFO: Cluster properties: cluster-opts-expected-quorum-votes: dropping expected-quorum-votes +INFO: Cluster properties: ... corosync (2+) infrastructure tracks quorum on its own +INFO: Cluster properties: cluster-opts-notification-agent: dropping notification-agent +INFO: Cluster properties: ... standalone alerts can be configured instead diff --git a/xml/test-2/031-clu-props-drop.xml b/xml/test-2/031-clu-props-drop.xml new file mode 100644 index 0000000..663569c --- /dev/null +++ b/xml/test-2/031-clu-props-drop.xml @@ -0,0 +1,21 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config> + <cluster_property_set id="cluster-opts"> + <nvpair id="cluster-opts-cluster-infrastructure" name="cluster-infrastructure" value="heartbeat"/> + <nvpair id="cluster-opts-default-migration-threshold" name="default-migration-threshold" value="10"/> + <nvpair id="cluster-opts-default_migration_threshold" name="default_migration_threshold" value="10"/> + <nvpair id="cluster-opts-expected-quorum-votes" name="expected-quorum-votes" value="3"/> + <nvpair id="cluster-opts-notification-agent" name="notification-agent" value="/etc/pacemaker/notif.sh"/> + </cluster_property_set> + <cluster_property_set id="cluster-opts-2"> + <nvpair id="cluster-opts-cluster-infrastructure-2" name="cluster-infrastructure" value="corosync"/> + </cluster_property_set> + </crm_config> + <nodes/> + <resources/> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/032-clu-props-move.ref b/xml/test-2/032-clu-props-move.ref new file mode 100644 index 0000000..3477ab7 --- /dev/null +++ b/xml/test-2/032-clu-props-move.ref @@ -0,0 +1,18 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config> + + </crm_config> + <nodes/> + <resources/> + <constraints/> + <op_defaults><meta_attributes id="_2TO3_-op-defaults"> + <nvpair id="cluster-opts-default-action-timeout" name="timeout" value="30s"/> + </meta_attributes> + </op_defaults><rsc_defaults><meta_attributes id="_2TO3_-rsc-defaults"> + <nvpair id="cluster-opts-default-resource-stickiness" name="resource-stickiness" value="100"/> + <nvpair id="cluster-opts-is-managed-default" name="is-managed" value="true"/> + </meta_attributes> + </rsc_defaults></configuration> + <status/> +</cib> diff --git a/xml/test-2/032-clu-props-move.ref.err b/xml/test-2/032-clu-props-move.ref.err new file mode 100644 index 0000000..ed5d3d3 --- /dev/null +++ b/xml/test-2/032-clu-props-move.ref.err @@ -0,0 +1,3 @@ +DEBUG: Cluster properties: cluster-opts-default-action-timeout: moving default-action-timeout under op_defaults as timeout unless already defined there +DEBUG: Cluster properties: cluster-opts-default-resource-stickiness: moving default-resource-stickiness under rsc_defaults as resource-stickiness unless already defined there +DEBUG: Cluster properties: cluster-opts-is-managed-default: moving is-managed-default under rsc_defaults as is-managed unless already defined there diff --git a/xml/test-2/032-clu-props-move.xml b/xml/test-2/032-clu-props-move.xml new file mode 100644 index 0000000..1f34d7b --- /dev/null +++ b/xml/test-2/032-clu-props-move.xml @@ -0,0 +1,16 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config> + <cluster_property_set id="cluster-opts"> + <nvpair id="cluster-opts-default-action-timeout" name="default-action-timeout" value="30s"/> + <nvpair id="cluster-opts-default-resource-stickiness" name="default-resource-stickiness" value="100"/> + <nvpair id="cluster-opts-is-managed-default" name="is-managed-default" value="true"/> + </cluster_property_set> + </crm_config> + <nodes/> + <resources/> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/033-clu-props-move-merge.ref b/xml/test-2/033-clu-props-move-merge.ref new file mode 100644 index 0000000..f8e5a9f --- /dev/null +++ b/xml/test-2/033-clu-props-move-merge.ref @@ -0,0 +1,21 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config> + + </crm_config> + <rsc_defaults> + <meta_attributes id="rsc-defaults"> + <nvpair id="rsc-defaults-is-managed" name="is-managed" value="false"/> + + <nvpair id="cluster-opts-default-resource-stickiness" name="resource-stickiness" value="100"/> + </meta_attributes> + </rsc_defaults> + <nodes/> + <resources/> + <constraints/> + <op_defaults><meta_attributes id="_2TO3_-op-defaults"> + <nvpair id="cluster-opts-default-action-timeout" name="timeout" value="30s"/> + </meta_attributes> + </op_defaults></configuration> + <status/> +</cib> diff --git a/xml/test-2/033-clu-props-move-merge.ref.err b/xml/test-2/033-clu-props-move-merge.ref.err new file mode 100644 index 0000000..ed5d3d3 --- /dev/null +++ b/xml/test-2/033-clu-props-move-merge.ref.err @@ -0,0 +1,3 @@ +DEBUG: Cluster properties: cluster-opts-default-action-timeout: moving default-action-timeout under op_defaults as timeout unless already defined there +DEBUG: Cluster properties: cluster-opts-default-resource-stickiness: moving default-resource-stickiness under rsc_defaults as resource-stickiness unless already defined there +DEBUG: Cluster properties: cluster-opts-is-managed-default: moving is-managed-default under rsc_defaults as is-managed unless already defined there diff --git a/xml/test-2/033-clu-props-move-merge.xml b/xml/test-2/033-clu-props-move-merge.xml new file mode 100644 index 0000000..c34085b --- /dev/null +++ b/xml/test-2/033-clu-props-move-merge.xml @@ -0,0 +1,21 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config> + <cluster_property_set id="cluster-opts"> + <nvpair id="cluster-opts-default-action-timeout" name="default-action-timeout" value="30s"/> + <nvpair id="cluster-opts-default-resource-stickiness" name="default-resource-stickiness" value="100"/> + <nvpair id="cluster-opts-is-managed-default" name="is-managed-default" value="true"/> + </cluster_property_set> + </crm_config> + <rsc_defaults> + <meta_attributes id="rsc-defaults"> + <nvpair id="rsc-defaults-is-managed" name="is-managed" value="false"/> + </meta_attributes> + </rsc_defaults> + <nodes/> + <resources/> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/034-clu-props-move-redef.ref b/xml/test-2/034-clu-props-move-redef.ref new file mode 100644 index 0000000..88fb44c --- /dev/null +++ b/xml/test-2/034-clu-props-move-redef.ref @@ -0,0 +1,14 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config> + + </crm_config> + <nodes/> + <resources/> + <constraints/> + <rsc_defaults><meta_attributes id="_2TO3_-rsc-defaults"> + <nvpair id="cluster-opts-default-resource-failure-stickiness" name="migration-threshold" value="1"/> + </meta_attributes> + </rsc_defaults></configuration> + <status/> +</cib> diff --git a/xml/test-2/034-clu-props-move-redef.ref.err b/xml/test-2/034-clu-props-move-redef.ref.err new file mode 100644 index 0000000..f8c148f --- /dev/null +++ b/xml/test-2/034-clu-props-move-redef.ref.err @@ -0,0 +1,3 @@ +DEBUG: Cluster properties: cluster-opts-default-resource-failure-stickiness: moving default-resource-failure-stickiness under rsc_defaults as migration-threshold unless already defined there, redefined as 1, for matching -INFINITY +INFO: Cluster properties: cluster-opts-default_resource_failure_stickiness: dropping default_resource_failure_stickiness +INFO: Cluster properties: ... migration-threshold in rsc_defaults can be configured instead diff --git a/xml/test-2/034-clu-props-move-redef.xml b/xml/test-2/034-clu-props-move-redef.xml new file mode 100644 index 0000000..fcadf20 --- /dev/null +++ b/xml/test-2/034-clu-props-move-redef.xml @@ -0,0 +1,15 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config> + <cluster_property_set id="cluster-opts"> + <nvpair id="cluster-opts-default-resource-failure-stickiness" name="default-resource-failure-stickiness" value="-INFINITY"/> + <nvpair id="cluster-opts-default_resource_failure_stickiness" name="default_resource_failure_stickiness" value="0"/> + </cluster_property_set> + </crm_config> + <nodes/> + <resources/> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/040-nodes-rename-type.ref b/xml/test-2/040-nodes-rename-type.ref new file mode 100644 index 0000000..58d58d8 --- /dev/null +++ b/xml/test-2/040-nodes-rename-type.ref @@ -0,0 +1,15 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063" type="member"/> + <node id="virt-064" uname="virt-064" type="member"/> + <node id="virt-069" uname="virt-069" type="member"/> + + </nodes> + <resources/> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/040-nodes-rename-type.ref.err b/xml/test-2/040-nodes-rename-type.ref.err new file mode 100644 index 0000000..ce68fa4 --- /dev/null +++ b/xml/test-2/040-nodes-rename-type.ref.err @@ -0,0 +1,2 @@ +DEBUG: Cluster node: virt-063 (id=virt-063): keeping type as type, redefined as member, for matching normal +DEBUG: Cluster node: virt-064 (id=virt-064): keeping type as type, redefined as member, for matching normal diff --git a/xml/test-2/040-nodes-rename-type.xml b/xml/test-2/040-nodes-rename-type.xml new file mode 100644 index 0000000..939b768 --- /dev/null +++ b/xml/test-2/040-nodes-rename-type.xml @@ -0,0 +1,16 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063" type="normal"/> + <node id="virt-064" uname="virt-064" type="normal"/> + <node id="virt-069" uname="virt-069" type="member"/> + + </nodes> + <resources/> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/050-rsc-attrs-instance-plain-rename.ref b/xml/test-2/050-rsc-attrs-instance-plain-rename.ref new file mode 100644 index 0000000..1fd7c44 --- /dev/null +++ b/xml/test-2/050-rsc-attrs-instance-plain-rename.ref @@ -0,0 +1,24 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes/> + <resources> + + <primitive class="stonith" id="fence-vbox" type="fence_vbox"> + <instance_attributes id="fence-vbox-params"> + <nvpair id="fence-vbox-params-ipaddr" name="ipaddr" value="192.0.3.10"/> + <nvpair id="fence-vbox-params-login" name="login" value="vboxadmin"/> + <nvpair id="fence-vbox-params-passwd_script" name="passwd_script" value="/usr/local/cluster/vboxpass.sh"/> + <nvpair id="fence-vbox-params-plug" name="plug" value="vboxhost"/> + <nvpair id="fence-vbox-pcmk_monitor_cmd" name="pcmk_monitor_action" value="metadata"/> + </instance_attributes> + <operations> + <op id="fence-vbox-monitor" interval="60s" name="monitor"/> + </operations> + </primitive> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/050-rsc-attrs-instance-plain-rename.ref.err b/xml/test-2/050-rsc-attrs-instance-plain-rename.ref.err new file mode 100644 index 0000000..a3129e5 --- /dev/null +++ b/xml/test-2/050-rsc-attrs-instance-plain-rename.ref.err @@ -0,0 +1 @@ +DEBUG: Resource instance_attributes: fence-vbox-pcmk_monitor_cmd: renaming pcmk_monitor_cmd as pcmk_monitor_action diff --git a/xml/test-2/050-rsc-attrs-instance-plain-rename.xml b/xml/test-2/050-rsc-attrs-instance-plain-rename.xml new file mode 100644 index 0000000..ccf2404 --- /dev/null +++ b/xml/test-2/050-rsc-attrs-instance-plain-rename.xml @@ -0,0 +1,25 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes/> + <resources> + + <primitive class="stonith" id="fence-vbox" type="fence_vbox"> + <instance_attributes id="fence-vbox-params"> + <nvpair id="fence-vbox-params-ipaddr" name="ipaddr" value="192.0.3.10"/> + <nvpair id="fence-vbox-params-login" name="login" value="vboxadmin"/> + <nvpair id="fence-vbox-params-passwd_script" name="passwd_script" value="/usr/local/cluster/vboxpass.sh"/> + <nvpair id="fence-vbox-params-plug" name="plug" value="vboxhost"/> + <nvpair id="fence-vbox-pcmk_monitor_cmd" name="pcmk_monitor_cmd" value="metadata"/> + </instance_attributes> + <operations> + <op id="fence-vbox-monitor" interval="60s" name="monitor"/> + </operations> + </primitive> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/051-rsc-attrs-instance-pcmk_arg_map.ref b/xml/test-2/051-rsc-attrs-instance-pcmk_arg_map.ref new file mode 100644 index 0000000..8aa8047 --- /dev/null +++ b/xml/test-2/051-rsc-attrs-instance-pcmk_arg_map.ref @@ -0,0 +1,48 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes/> + <resources> + + <primitive class="stonith" id="fence-vbox1" type="fence_vbox"> + <instance_attributes id="fence-vbox1-params"> + <nvpair id="fence-vbox1-params-ipaddr" name="ipaddr" value="192.0.3.10"/> + <nvpair id="fence-vbox1-params-login" name="login" value="vboxadmin"/> + <nvpair id="fence-vbox1-params-passwd_script" name="passwd_script" value="/usr/local/cluster/vboxpass.sh"/> + <nvpair id="fence-vbox1-params-plug" name="plug" value="vboxhost"/> + <nvpair id="fence-vbox1-pcmk_arg_map" name="pcmk_host_argument" value="port"/> + </instance_attributes> + <operations> + <op id="fence-vbox1-monitor" interval="60s" name="monitor"/> + </operations> + </primitive> + + <primitive class="stonith" id="fence-vbox2" type="fence_vbox"> + <instance_attributes id="fence-vbox2-params"> + <nvpair id="fence-vbox2-params-ipaddr" name="ipaddr" value="192.0.3.10"/> + <nvpair id="fence-vbox2-params-login" name="login" value="vboxadmin"/> + <nvpair id="fence-vbox2-params-passwd_script" name="passwd_script" value="/usr/local/cluster/vboxpass.sh"/> + <nvpair id="fence-vbox2-params-plug" name="plug" value="vboxhost"/> + </instance_attributes> + <operations> + <op id="fence-vbox2-monitor" interval="60s" name="monitor"/> + </operations> + </primitive> + + <primitive class="stonith" id="fence-vbox3" type="fence_vbox"> + <instance_attributes id="fence-vbox3-params"> + <nvpair id="fence-vbox3-params-ipaddr" name="ipaddr" value="192.0.3.10"/> + <nvpair id="fence-vbox3-params-login" name="login" value="vboxadmin"/> + <nvpair id="fence-vbox3-params-passwd_script" name="passwd_script" value="/usr/local/cluster/vboxpass.sh"/> + <nvpair id="fence-vbox3-params-plug" name="plug" value="vboxhost"/> + </instance_attributes> + <operations> + <op id="fence-vbox3-monitor" interval="60s" name="monitor"/> + </operations> + </primitive> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/051-rsc-attrs-instance-pcmk_arg_map.ref.err b/xml/test-2/051-rsc-attrs-instance-pcmk_arg_map.ref.err new file mode 100644 index 0000000..a0149c1 --- /dev/null +++ b/xml/test-2/051-rsc-attrs-instance-pcmk_arg_map.ref.err @@ -0,0 +1,3 @@ +DEBUG: Resource instance_attributes: fence-vbox1-pcmk_arg_map: renaming pcmk_arg_map as pcmk_host_argument for matching port: prefix that will, meanwhile, get dropped +DEBUG: Resource instance_attributes: fence-vbox2-pcmk_arg_map: dropping pcmk_arg_map +DEBUG: Resource instance_attributes: fence-vbox3-pcmk_arg_map: dropping pcmk_arg_map diff --git a/xml/test-2/051-rsc-attrs-instance-pcmk_arg_map.xml b/xml/test-2/051-rsc-attrs-instance-pcmk_arg_map.xml new file mode 100644 index 0000000..75ad2a7 --- /dev/null +++ b/xml/test-2/051-rsc-attrs-instance-pcmk_arg_map.xml @@ -0,0 +1,51 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes/> + <resources> + + <primitive class="stonith" id="fence-vbox1" type="fence_vbox"> + <instance_attributes id="fence-vbox1-params"> + <nvpair id="fence-vbox1-params-ipaddr" name="ipaddr" value="192.0.3.10"/> + <nvpair id="fence-vbox1-params-login" name="login" value="vboxadmin"/> + <nvpair id="fence-vbox1-params-passwd_script" name="passwd_script" value="/usr/local/cluster/vboxpass.sh"/> + <nvpair id="fence-vbox1-params-plug" name="plug" value="vboxhost"/> + <nvpair id="fence-vbox1-pcmk_arg_map" name="pcmk_arg_map" value="port:port"/> + </instance_attributes> + <operations> + <op id="fence-vbox1-monitor" interval="60s" name="monitor"/> + </operations> + </primitive> + + <primitive class="stonith" id="fence-vbox2" type="fence_vbox"> + <instance_attributes id="fence-vbox2-params"> + <nvpair id="fence-vbox2-params-ipaddr" name="ipaddr" value="192.0.3.10"/> + <nvpair id="fence-vbox2-params-login" name="login" value="vboxadmin"/> + <nvpair id="fence-vbox2-params-passwd_script" name="passwd_script" value="/usr/local/cluster/vboxpass.sh"/> + <nvpair id="fence-vbox2-params-plug" name="plug" value="vboxhost"/> + <nvpair id="fence-vbox2-pcmk_arg_map" name="pcmk_arg_map" value="dropme:sure,port:port"/> + </instance_attributes> + <operations> + <op id="fence-vbox2-monitor" interval="60s" name="monitor"/> + </operations> + </primitive> + + <primitive class="stonith" id="fence-vbox3" type="fence_vbox"> + <instance_attributes id="fence-vbox3-params"> + <nvpair id="fence-vbox3-params-ipaddr" name="ipaddr" value="192.0.3.10"/> + <nvpair id="fence-vbox3-params-login" name="login" value="vboxadmin"/> + <nvpair id="fence-vbox3-params-passwd_script" name="passwd_script" value="/usr/local/cluster/vboxpass.sh"/> + <nvpair id="fence-vbox3-params-plug" name="plug" value="vboxhost"/> + <nvpair id="fence-vbox3-pcmk_arg_map" name="pcmk_arg_map" value="port:port,dropme:justhope"/> + </instance_attributes> + <operations> + <op id="fence-vbox3-monitor" interval="60s" name="monitor"/> + </operations> + </primitive> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/060-rsc-attrs-meta-isolation.ref b/xml/test-2/060-rsc-attrs-meta-isolation.ref new file mode 100644 index 0000000..91c43c0 --- /dev/null +++ b/xml/test-2/060-rsc-attrs-meta-isolation.ref @@ -0,0 +1,25 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes/> + <resources> + + <!-- from c713bbe39:pengine/test10/isolation-restart-all.xml --> + <primitive class="ocf" id="fake" provider="heartbeat" type="Dummy"> + <instance_attributes id="fake-instance_attributes"> + <nvpair id="fake-instance_attributes-docker_image" name="pcmk_docker_image" value="centos:dock-wrapper-test"/> + <nvpair id="fake-instance_attributes-docker_privileged" name="pcmk_docker_privileged" value="false"/> + </instance_attributes> + <operations> + <op id="fake-monitor-interval-60s" interval="60s" name="monitor"/> + </operations> + <meta_attributes id="fake-meta_attributes"> + <nvpair id="fake-meta_attributes-isolation-wrapper" name="target-role" value="Stopped"/> + </meta_attributes> + </primitive> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/060-rsc-attrs-meta-isolation.ref.err b/xml/test-2/060-rsc-attrs-meta-isolation.ref.err new file mode 100644 index 0000000..fb40cc4 --- /dev/null +++ b/xml/test-2/060-rsc-attrs-meta-isolation.ref.err @@ -0,0 +1,4 @@ +WARNING: Resource meta_attributes: fake (meta=fake-meta_attributes): renaming isolation-wrapper as target-role, redefined as Stopped +WARNING: Resource meta_attributes: ... i.e. resource at hand disabled; isolation wrappers obsoleted with bundle resources +WARNING: Resource meta_attributes: fake (meta=fake-meta_attributes): renaming isolation-wrapper as target-role, redefined as Stopped +WARNING: Resource meta_attributes: ... i.e. resource at hand disabled; isolation wrappers obsoleted with bundle resources diff --git a/xml/test-2/060-rsc-attrs-meta-isolation.xml b/xml/test-2/060-rsc-attrs-meta-isolation.xml new file mode 100644 index 0000000..9c7dcb9 --- /dev/null +++ b/xml/test-2/060-rsc-attrs-meta-isolation.xml @@ -0,0 +1,27 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes/> + <resources> + + <!-- from c713bbe39:pengine/test10/isolation-restart-all.xml --> + <primitive class="ocf" id="fake" provider="heartbeat" type="Dummy"> + <instance_attributes id="fake-instance_attributes"> + <nvpair id="fake-instance_attributes-docker_image" name="pcmk_docker_image" value="centos:dock-wrapper-test"/> + <nvpair id="fake-instance_attributes-docker_privileged" name="pcmk_docker_privileged" value="false"/> + </instance_attributes> + <operations> + <op id="fake-monitor-interval-60s" interval="60s" name="monitor"/> + </operations> + <meta_attributes id="fake-meta_attributes"> + <nvpair id="fake-meta_attributes-isolation-wrapper" name="isolation-wrapper" value="docker-wrapper"/> + <nvpair id="fake-meta_attributes-isolation-wrapper2" name="isolation-wrapper" value="docker-wrapper"/> + </meta_attributes> + </primitive> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/061-rsc-attrs-meta-exchange.ref b/xml/test-2/061-rsc-attrs-meta-exchange.ref new file mode 100644 index 0000000..8148d76 --- /dev/null +++ b/xml/test-2/061-rsc-attrs-meta-exchange.ref @@ -0,0 +1,27 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes/> + <resources> + + <primitive class="ocf" id="res1" provider="heartbeat" type="Dummy"> + <operations> + <op id="res1-monitor-interval-60s" interval="60s" name="monitor"/> + </operations> + <meta_attributes id="res1-meta_attributes"> + <nvpair id="res1-resource-failure-stickiness" name="migration-threshold" value="1"/> + </meta_attributes> + </primitive> + + <primitive class="ocf" id="res2" provider="heartbeat" type="Dummy"> + <operations> + <op id="res2-monitor-interval-60s" interval="60s" name="monitor"/> + </operations> + + </primitive> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/061-rsc-attrs-meta-exchange.ref.err b/xml/test-2/061-rsc-attrs-meta-exchange.ref.err new file mode 100644 index 0000000..2938b77 --- /dev/null +++ b/xml/test-2/061-rsc-attrs-meta-exchange.ref.err @@ -0,0 +1,3 @@ +DEBUG: Resource meta_attributes: res1 (meta=res1-meta_attributes): renaming resource-failure-stickiness as migration-threshold, redefined as 1, for matching -INFINITY +INFO: Resource meta_attributes: res2 (meta=res2-meta_attributes): dropping resource-failure-stickiness +INFO: Resource meta_attributes: ... migration-threshold can be configured instead diff --git a/xml/test-2/061-rsc-attrs-meta-exchange.xml b/xml/test-2/061-rsc-attrs-meta-exchange.xml new file mode 100644 index 0000000..cb0c0eb --- /dev/null +++ b/xml/test-2/061-rsc-attrs-meta-exchange.xml @@ -0,0 +1,30 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes/> + <resources> + + <primitive class="ocf" id="res1" provider="heartbeat" type="Dummy"> + <operations> + <op id="res1-monitor-interval-60s" interval="60s" name="monitor"/> + </operations> + <meta_attributes id="res1-meta_attributes"> + <nvpair id="res1-resource-failure-stickiness" name="resource-failure-stickiness" value="-INFINITY"/> + </meta_attributes> + </primitive> + + <primitive class="ocf" id="res2" provider="heartbeat" type="Dummy"> + <operations> + <op id="res2-monitor-interval-60s" interval="60s" name="monitor"/> + </operations> + <meta_attributes id="res2-meta_attributes"> + <nvpair id="res2-resource-failure-stickiness" name="resource-failure-stickiness" value="0"/> + </meta_attributes> + </primitive> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref b/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref new file mode 100644 index 0000000..20aba39 --- /dev/null +++ b/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref @@ -0,0 +1,48 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <!-- borrowed from 021-rsc-requires-nvpair --> + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + <meta_attributes id="_2TO3_myAddr-start-instanceparams"> + <!-- relying on order (+ colocation) to guarantee "requires" + transitively (unfencing/fencing/quorum)? --> + + <nvpair id="myAddr-start-requires" name="requires" value="nothing"/> + </meta_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" score="INFINITY"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref.err b/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref.err new file mode 100644 index 0000000..6f707bb --- /dev/null +++ b/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref.err @@ -0,0 +1 @@ +DEBUG: Resources-operation instance_attributes: myAddr-start (rsc=myAddr, meta=myAddr-start-instanceparams): moving requires under per-resource-meta_attributes as requires unless already defined there for matching start|promote diff --git a/xml/test-2/070-rsc-op-attrs-inst-requires-start.xml b/xml/test-2/070-rsc-op-attrs-inst-requires-start.xml new file mode 100644 index 0000000..2661f7d --- /dev/null +++ b/xml/test-2/070-rsc-op-attrs-inst-requires-start.xml @@ -0,0 +1,49 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <!-- borrowed from 021-rsc-requires-nvpair --> + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s"> + <instance_attributes id="myAddr-start-instanceparams"> + <!-- relying on order (+ colocation) to guarantee "requires" + transitively (unfencing/fencing/quorum)? --> + <nvpair id="myAddr-start-requires" name="requires" value="nothing"/> + </instance_attributes> + </op> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" score="INFINITY"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref new file mode 100644 index 0000000..3dd5168 --- /dev/null +++ b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref @@ -0,0 +1,42 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <!-- borrowed from 021-rsc-requires-nvpair --> + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-stop" name="stop" interval="0" timeout="40s"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" score="INFINITY"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref.err b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref.err new file mode 100644 index 0000000..6b6f8f7 --- /dev/null +++ b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref.err @@ -0,0 +1,2 @@ +INFO: Resources-operation instance_attributes: myAddr-stop (rsc=myAddr, meta=myAddr-stop-instanceparams): dropping requires +INFO: Resources-operation instance_attributes: ... only start/promote operation taken into account diff --git a/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.xml b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.xml new file mode 100644 index 0000000..4f364f4 --- /dev/null +++ b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.xml @@ -0,0 +1,49 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <!-- borrowed from 021-rsc-requires-nvpair --> + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-stop" name="stop" interval="0" timeout="40s"> + <instance_attributes id="myAddr-stop-instanceparams"> + <!-- relying on order (+ colocation) to guarantee "requires" + transitively (unfencing/fencing/quorum)? --> + <nvpair id="myAddr-stop-requires" name="requires" value="nothing"/> + </instance_attributes> + </op> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"/> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints> + + <rsc_order id="order-addr-httpd" first="myAddr" then="myHttpd"/> + <rsc_colocation id="colocation-addr-httpd" rsc="myHttpd" with-rsc="myAddr" score="INFINITY"/> + + </constraints> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref new file mode 100644 index 0000000..c63230c --- /dev/null +++ b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref @@ -0,0 +1,54 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <!-- possible override from op's instance attribute over + op attribute --> + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s"/> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + <meta_attributes id="_2TO3_myAddr-meta"><nvpair id="_2TO3_myAddr-start-meta-requires" name="requires" value="nothing"/> + </meta_attributes> + </primitive> + + <!-- possible override from op's instance attribute over + op's meta-attribute --> + <clone id="master"> + <meta_attributes id="master-meta"> + <nvpair id="master-promotable" name="promotable" value="true"/> + <nvpair id="master-promoted-node-max" name="promoted-node-max" value="1"/> + <nvpair id="master-clone-max" name="clone-max" value="3"/> + <nvpair id="master-promoted-max" name="promoted-max" value="1"/> + <nvpair id="master-clone-node-max" name="clone-node-max" value="1"/> + </meta_attributes> + <primitive id="stateful" class="ocf" type="Stateful" provider="pacemaker"> + <operations> + <op id="stateful-monitor-15s" interval="15s" name="monitor" timeout="60s"/> + <op id="stateful-monitor-16s" interval="16s" name="monitor" timeout="60s" role="Master"/> + <op id="stateful-promote" interval="0" name="promote" timeout="40s"/> + </operations> + <meta_attributes id="_2TO3_stateful-promote-meta"> + + <nvpair id="stateful-promote-meta-requires" name="requires" value="nothing"/> + </meta_attributes> + </primitive> + </clone> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref.err b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref.err new file mode 100644 index 0000000..cc5dd7d --- /dev/null +++ b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref.err @@ -0,0 +1,4 @@ +DEBUG: Resources-operation instance_attributes: myAddr-start (rsc=myAddr, meta=myAddr-start-instance): moving requires under per-resource-meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: myAddr-start (rsc=myAddr): moving requires under meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation instance_attributes: stateful-promote (rsc=stateful, meta=stateful-promote-instance): moving requires under per-resource-meta_attributes as requires unless already defined there for matching start|promote +DEBUG: Resources-operation: stateful-promote (rsc=stateful, meta=stateful-promote-meta): moving requires under meta_attributes as requires unless already defined there for matching start|promote diff --git a/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.xml b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.xml new file mode 100644 index 0000000..8af4bf1 --- /dev/null +++ b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.xml @@ -0,0 +1,61 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <!-- possible override from op's instance attribute over + op attribute --> + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s" + requires="nothing"> + <instance_attributes id="myAddr-start-instance"> + <nvpair id="myAddr-start-instance-requires" name="requires" value="quorum"/> + </instance_attributes> + </op> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <!-- possible override from op's instance attribute over + op's meta-attribute --> + <clone id="master"> + <meta_attributes id="master-meta"> + <nvpair id="master-promotable" name="promotable" value="true"/> + <nvpair id="master-promoted-node-max" name="promoted-node-max" value="1"/> + <nvpair id="master-clone-max" name="clone-max" value="3"/> + <nvpair id="master-promoted-max" name="promoted-max" value="1"/> + <nvpair id="master-clone-node-max" name="clone-node-max" value="1"/> + </meta_attributes> + <primitive id="stateful" class="ocf" type="Stateful" provider="pacemaker"> + <operations> + <op id="stateful-monitor-15s" interval="15s" name="monitor" timeout="60s"/> + <op id="stateful-monitor-16s" interval="16s" name="monitor" timeout="60s" role="Master"/> + <op id="stateful-promote" interval="0" name="promote" timeout="40s"> + <meta_attributes id="stateful-promote-meta"> + <nvpair id="stateful-promote-meta-requires" name="requires" value="nothing"/> + </meta_attributes> + <instance_attributes id="stateful-promote-instance"> + <nvpair id="stateful-promote-instance-requires" name="requires" value="quorum"/> + </instance_attributes> + </op> + </operations> + </primitive> + </clone> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/073-rsc-op-attrs-inst-meta-meaning.ref b/xml/test-2/073-rsc-op-attrs-inst-meta-meaning.ref new file mode 100644 index 0000000..28b1d17 --- /dev/null +++ b/xml/test-2/073-rsc-op-attrs-inst-meta-meaning.ref @@ -0,0 +1,51 @@ +<cib validate-with="pacemaker-3.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s"> + + <meta_attributes id="_2TO3_myAddr-start-meta"> + <nvpair id="myAddr-start-instance-on-fail" name="on-fail" value="standby"/> + <nvpair id="myAddr-start-instance-record-pending" name="record-pending" value="true"/> + </meta_attributes> + </op> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"> + <instance_attributes id="myHttpd-monitor-instance"> + <nvpair id="myHttpd-monitor-instance-statusurl" name="statusurl" value="http://localhost/server-status"/> + </instance_attributes> + + <meta_attributes id="_2TO3_myHttpd-monitor-meta"> + + <nvpair id="myHttpd-monitor-instance2-timeout" name="timeout" value="30"/> + </meta_attributes> + </op> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> diff --git a/xml/test-2/073-rsc-op-attrs-inst-meta-meaning.ref.err b/xml/test-2/073-rsc-op-attrs-inst-meta-meaning.ref.err new file mode 100644 index 0000000..18beb3a --- /dev/null +++ b/xml/test-2/073-rsc-op-attrs-inst-meta-meaning.ref.err @@ -0,0 +1,4 @@ +DEBUG: Resources-operation instance_attributes: myAddr-start (rsc=myAddr, meta=myAddr-start-instance): moving on-fail under meta_attributes as on-fail unless already defined there +DEBUG: Resources-operation instance_attributes: myAddr-start (rsc=myAddr, meta=myAddr-start-instance): moving record-pending under meta_attributes as record-pending unless already defined there +DEBUG: Resources-operation instance_attributes: myHttpd-monitor (rsc=myHttpd, meta=myHttpd-monitor-instance): moving timeout under meta_attributes as timeout unless already defined there +DEBUG: Resources-operation instance_attributes: myHttpd-monitor (rsc=myHttpd, meta=myHttpd-monitor-instance2): moving timeout under meta_attributes as timeout unless already defined there diff --git a/xml/test-2/073-rsc-op-attrs-inst-meta-meaning.xml b/xml/test-2/073-rsc-op-attrs-inst-meta-meaning.xml new file mode 100644 index 0000000..1a1f73f --- /dev/null +++ b/xml/test-2/073-rsc-op-attrs-inst-meta-meaning.xml @@ -0,0 +1,50 @@ +<?xml-stylesheet href="../assets/upgrade-2.10-htmldiff.xsl" type="text/xsl"?> +<cib validate-with="pacemaker-2.0" admin_epoch="0" epoch="0" num_updates="0"> + <configuration> + <crm_config/> + <nodes> + + <node id="virt-063" uname="virt-063"/> + <node id="virt-064" uname="virt-064"/> + <node id="virt-069" uname="virt-069"/> + + </nodes> + <resources> + + <primitive id="myAddr" class="ocf" provider="heartbeat" type="IPaddr2"> + <operations> + <op id="myAddr-monitor" name="monitor" interval="30s"/> + <op id="myAddr-start" name="start" interval="0" timeout="40s"> + <instance_attributes id="myAddr-start-instance"> + <nvpair id="myAddr-start-instance-on-fail" name="on-fail" value="standby"/> + <nvpair id="myAddr-start-instance-record-pending" name="record-pending" value="true"/> + </instance_attributes> + </op> + </operations> + <instance_attributes id="myAddr-params"> + <nvpair id="myAddr-ip" name="ip" value="192.0.2.10"/> + </instance_attributes> + </primitive> + + <primitive id="myHttpd" class="ocf" provider="heartbeat" type="apache"> + <operations> + <op id="myHttpd-monitor" name="monitor" interval="30s"> + <instance_attributes id="myHttpd-monitor-instance"> + <nvpair id="myHttpd-monitor-instance-timeout" name="timeout" value="20"/> + <nvpair id="myHttpd-monitor-instance-statusurl" name="statusurl" value="http://localhost/server-status"/> + </instance_attributes> + <instance_attributes id="myHttpd-monitor-instance2"> + <nvpair id="myHttpd-monitor-instance2-timeout" name="timeout" value="30"/> + </instance_attributes> + </op> + </operations> + <instance_attributes id="myHttpd-params"> + <nvpair id="myHttpd-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/> + </instance_attributes> + </primitive> + + </resources> + <constraints/> + </configuration> + <status/> +</cib> |