- pengine: Support id-ref in nvpair with optional "name" (FATE#316118)
Drop the patches that have been merged upstream: * pacemaker-pengine-nvpair-id-ref.patch * pacemaker-pengine-nvpair-id-ref-test.patch - Upstream version cs: 6442c5a67cdd4cbaeedb2c532e0dc0667a79c202 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=125
This commit is contained in:
parent
26bd423aff
commit
5f64fb1200
2
_service
2
_service
@ -11,7 +11,7 @@
|
||||
<param name="version">1.1.11</param>
|
||||
-->
|
||||
<param name="versionformat">1.1.11+git%cd.%h</param>
|
||||
<param name="revision">d9fbba56804a7a7bcceaa5d4b7e29e3f15fc0e59</param>
|
||||
<param name="revision">6442c5a67cdd4cbaeedb2c532e0dc0667a79c202</param>
|
||||
</service>
|
||||
|
||||
<service name="recompress" mode="disabled">
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7a8b6f8aea3b0ba4e27778358871643c9b0af410b0ce40fcd09604eca77cb32b
|
||||
size 9436232
|
3
pacemaker-1.1.11+git20140409.6442c5a.tar.bz2
Normal file
3
pacemaker-1.1.11+git20140409.6442c5a.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d5e3e3b0ec854e1b571bebe4f22a6628357ebb0894299055815ac4f5b34ffbb0
|
||||
size 9428490
|
@ -1,299 +0,0 @@
|
||||
commit 9077dde4ae249fee4cb6e8d3a1d09f45607b1250
|
||||
Author: Gao,Yan <ygao@suse.com>
|
||||
Date: Tue Apr 8 19:41:49 2014 +0800
|
||||
|
||||
Test: pengine: Support id-ref in nvpair with optional "name"
|
||||
|
||||
diff --git a/pengine/regression.sh b/pengine/regression.sh
|
||||
index e436d93..43a9895 100755
|
||||
--- a/pengine/regression.sh
|
||||
+++ b/pengine/regression.sh
|
||||
@@ -93,6 +93,7 @@ do_test params-5 "Params: Restart based on probe digest"
|
||||
do_test novell-251689 "Resource definition change + target_role=stopped"
|
||||
do_test bug-lf-2106 "Restart all anonymous clone instances after config change"
|
||||
do_test params-6 "Params: Detect reload in previously migrated resource"
|
||||
+do_test nvpair-id-ref "Support id-ref in nvpair with optional name"
|
||||
|
||||
echo ""
|
||||
do_test target-0 "Target Role : baseline"
|
||||
diff --git a/pengine/test10/nvpair-id-ref.dot b/pengine/test10/nvpair-id-ref.dot
|
||||
new file mode 100644
|
||||
index 0000000..f3aaaa5
|
||||
--- /dev/null
|
||||
+++ b/pengine/test10/nvpair-id-ref.dot
|
||||
@@ -0,0 +1,23 @@
|
||||
+digraph "g" {
|
||||
+"probe_complete node1" -> "probe_complete" [ style = bold]
|
||||
+"probe_complete node1" [ style=bold color="green" fontcolor="black"]
|
||||
+"probe_complete node2" -> "probe_complete" [ style = bold]
|
||||
+"probe_complete node2" [ style=bold color="green" fontcolor="black"]
|
||||
+"probe_complete" -> "rsc1_start_0 node2" [ style = bold]
|
||||
+"probe_complete" -> "rsc2_start_0 node1" [ style = bold]
|
||||
+"probe_complete" [ style=bold color="green" fontcolor="orange"]
|
||||
+"rsc1_monitor_0 node1" -> "probe_complete node1" [ style = bold]
|
||||
+"rsc1_monitor_0 node1" [ style=bold color="green" fontcolor="black"]
|
||||
+"rsc1_monitor_0 node2" -> "probe_complete node2" [ style = bold]
|
||||
+"rsc1_monitor_0 node2" [ style=bold color="green" fontcolor="black"]
|
||||
+"rsc1_monitor_10000 node2" [ style=bold color="green" fontcolor="black"]
|
||||
+"rsc1_start_0 node2" -> "rsc1_monitor_10000 node2" [ style = bold]
|
||||
+"rsc1_start_0 node2" [ style=bold color="green" fontcolor="black"]
|
||||
+"rsc2_monitor_0 node1" -> "probe_complete node1" [ style = bold]
|
||||
+"rsc2_monitor_0 node1" [ style=bold color="green" fontcolor="black"]
|
||||
+"rsc2_monitor_0 node2" -> "probe_complete node2" [ style = bold]
|
||||
+"rsc2_monitor_0 node2" [ style=bold color="green" fontcolor="black"]
|
||||
+"rsc2_monitor_10000 node1" [ style=bold color="green" fontcolor="black"]
|
||||
+"rsc2_start_0 node1" -> "rsc2_monitor_10000 node1" [ style = bold]
|
||||
+"rsc2_start_0 node1" [ style=bold color="green" fontcolor="black"]
|
||||
+}
|
||||
diff --git a/pengine/test10/nvpair-id-ref.exp b/pengine/test10/nvpair-id-ref.exp
|
||||
new file mode 100644
|
||||
index 0000000..0ad069d
|
||||
--- /dev/null
|
||||
+++ b/pengine/test10/nvpair-id-ref.exp
|
||||
@@ -0,0 +1,135 @@
|
||||
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" transition_id="0">
|
||||
+ <synapse id="0">
|
||||
+ <action_set>
|
||||
+ <rsc_op id="12" operation="monitor" operation_key="rsc1_monitor_10000" on_node="node2" on_node_uuid="node2">
|
||||
+ <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
|
||||
+ <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" fake="common-value"/>
|
||||
+ </rsc_op>
|
||||
+ </action_set>
|
||||
+ <inputs>
|
||||
+ <trigger>
|
||||
+ <rsc_op id="11" operation="start" operation_key="rsc1_start_0" on_node="node2" on_node_uuid="node2"/>
|
||||
+ </trigger>
|
||||
+ </inputs>
|
||||
+ </synapse>
|
||||
+ <synapse id="1">
|
||||
+ <action_set>
|
||||
+ <rsc_op id="11" operation="start" operation_key="rsc1_start_0" on_node="node2" on_node_uuid="node2">
|
||||
+ <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
|
||||
+ <attributes CRM_meta_timeout="20000" fake="common-value"/>
|
||||
+ </rsc_op>
|
||||
+ </action_set>
|
||||
+ <inputs>
|
||||
+ <trigger>
|
||||
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
|
||||
+ </trigger>
|
||||
+ </inputs>
|
||||
+ </synapse>
|
||||
+ <synapse id="2">
|
||||
+ <action_set>
|
||||
+ <rsc_op id="7" operation="monitor" operation_key="rsc1_monitor_0" on_node="node2" on_node_uuid="node2">
|
||||
+ <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
|
||||
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" fake="common-value"/>
|
||||
+ </rsc_op>
|
||||
+ </action_set>
|
||||
+ <inputs/>
|
||||
+ </synapse>
|
||||
+ <synapse id="3">
|
||||
+ <action_set>
|
||||
+ <rsc_op id="4" operation="monitor" operation_key="rsc1_monitor_0" on_node="node1" on_node_uuid="node1">
|
||||
+ <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
|
||||
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" fake="common-value"/>
|
||||
+ </rsc_op>
|
||||
+ </action_set>
|
||||
+ <inputs/>
|
||||
+ </synapse>
|
||||
+ <synapse id="4">
|
||||
+ <action_set>
|
||||
+ <rsc_op id="14" operation="monitor" operation_key="rsc2_monitor_10000" on_node="node1" on_node_uuid="node1">
|
||||
+ <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
|
||||
+ <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" fake="common-value" fake_fake="common-value"/>
|
||||
+ </rsc_op>
|
||||
+ </action_set>
|
||||
+ <inputs>
|
||||
+ <trigger>
|
||||
+ <rsc_op id="13" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="node1"/>
|
||||
+ </trigger>
|
||||
+ </inputs>
|
||||
+ </synapse>
|
||||
+ <synapse id="5">
|
||||
+ <action_set>
|
||||
+ <rsc_op id="13" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="node1">
|
||||
+ <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
|
||||
+ <attributes CRM_meta_timeout="20000" fake="common-value" fake_fake="common-value"/>
|
||||
+ </rsc_op>
|
||||
+ </action_set>
|
||||
+ <inputs>
|
||||
+ <trigger>
|
||||
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
|
||||
+ </trigger>
|
||||
+ </inputs>
|
||||
+ </synapse>
|
||||
+ <synapse id="6">
|
||||
+ <action_set>
|
||||
+ <rsc_op id="8" operation="monitor" operation_key="rsc2_monitor_0" on_node="node2" on_node_uuid="node2">
|
||||
+ <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
|
||||
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" fake="common-value" fake_fake="common-value"/>
|
||||
+ </rsc_op>
|
||||
+ </action_set>
|
||||
+ <inputs/>
|
||||
+ </synapse>
|
||||
+ <synapse id="7">
|
||||
+ <action_set>
|
||||
+ <rsc_op id="5" operation="monitor" operation_key="rsc2_monitor_0" on_node="node1" on_node_uuid="node1">
|
||||
+ <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
|
||||
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" fake="common-value" fake_fake="common-value"/>
|
||||
+ </rsc_op>
|
||||
+ </action_set>
|
||||
+ <inputs/>
|
||||
+ </synapse>
|
||||
+ <synapse id="8" priority="1000000">
|
||||
+ <action_set>
|
||||
+ <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
|
||||
+ <attributes CRM_meta_op_no_wait="true" />
|
||||
+ </rsc_op>
|
||||
+ </action_set>
|
||||
+ <inputs>
|
||||
+ <trigger>
|
||||
+ <rsc_op id="7" operation="monitor" operation_key="rsc1_monitor_0" on_node="node2" on_node_uuid="node2"/>
|
||||
+ </trigger>
|
||||
+ <trigger>
|
||||
+ <rsc_op id="8" operation="monitor" operation_key="rsc2_monitor_0" on_node="node2" on_node_uuid="node2"/>
|
||||
+ </trigger>
|
||||
+ </inputs>
|
||||
+ </synapse>
|
||||
+ <synapse id="9" priority="1000000">
|
||||
+ <action_set>
|
||||
+ <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
|
||||
+ <attributes CRM_meta_op_no_wait="true" />
|
||||
+ </rsc_op>
|
||||
+ </action_set>
|
||||
+ <inputs>
|
||||
+ <trigger>
|
||||
+ <rsc_op id="4" operation="monitor" operation_key="rsc1_monitor_0" on_node="node1" on_node_uuid="node1"/>
|
||||
+ </trigger>
|
||||
+ <trigger>
|
||||
+ <rsc_op id="5" operation="monitor" operation_key="rsc2_monitor_0" on_node="node1" on_node_uuid="node1"/>
|
||||
+ </trigger>
|
||||
+ </inputs>
|
||||
+ </synapse>
|
||||
+ <synapse id="10">
|
||||
+ <action_set>
|
||||
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete">
|
||||
+ <attributes />
|
||||
+ </pseudo_event>
|
||||
+ </action_set>
|
||||
+ <inputs>
|
||||
+ <trigger>
|
||||
+ <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
|
||||
+ </trigger>
|
||||
+ <trigger>
|
||||
+ <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
|
||||
+ </trigger>
|
||||
+ </inputs>
|
||||
+ </synapse>
|
||||
+</transition_graph>
|
||||
diff --git a/pengine/test10/nvpair-id-ref.scores b/pengine/test10/nvpair-id-ref.scores
|
||||
new file mode 100644
|
||||
index 0000000..fb86bf6
|
||||
--- /dev/null
|
||||
+++ b/pengine/test10/nvpair-id-ref.scores
|
||||
@@ -0,0 +1,7 @@
|
||||
+Allocation scores:
|
||||
+native_color: rsc1 allocation score on node1: 0
|
||||
+native_color: rsc1 allocation score on node2: 0
|
||||
+native_color: rsc2 allocation score on node1: 0
|
||||
+native_color: rsc2 allocation score on node2: 0
|
||||
+native_color: rsc_stonith allocation score on node1: 0
|
||||
+native_color: rsc_stonith allocation score on node2: 0
|
||||
diff --git a/pengine/test10/nvpair-id-ref.summary b/pengine/test10/nvpair-id-ref.summary
|
||||
new file mode 100644
|
||||
index 0000000..dbe685f
|
||||
--- /dev/null
|
||||
+++ b/pengine/test10/nvpair-id-ref.summary
|
||||
@@ -0,0 +1,30 @@
|
||||
+
|
||||
+Current cluster status:
|
||||
+Online: [ node1 node2 ]
|
||||
+
|
||||
+ rsc_stonith (stonith:null): Started node1
|
||||
+ rsc1 (ocf::pacemaker:Dummy): Stopped
|
||||
+ rsc2 (ocf::pacemaker:Dummy): Stopped
|
||||
+
|
||||
+Transition Summary:
|
||||
+ * Start rsc1 (node2)
|
||||
+ * Start rsc2 (node1)
|
||||
+
|
||||
+Executing cluster transition:
|
||||
+ * Resource action: rsc1 monitor on node2
|
||||
+ * Resource action: rsc1 monitor on node1
|
||||
+ * Resource action: rsc2 monitor on node2
|
||||
+ * Resource action: rsc2 monitor on node1
|
||||
+ * Pseudo action: probe_complete
|
||||
+ * Resource action: rsc1 start on node2
|
||||
+ * Resource action: rsc2 start on node1
|
||||
+ * Resource action: rsc1 monitor=10000 on node2
|
||||
+ * Resource action: rsc2 monitor=10000 on node1
|
||||
+
|
||||
+Revised cluster status:
|
||||
+Online: [ node1 node2 ]
|
||||
+
|
||||
+ rsc_stonith (stonith:null): Started node1
|
||||
+ rsc1 (ocf::pacemaker:Dummy): Started node2
|
||||
+ rsc2 (ocf::pacemaker:Dummy): Started node1
|
||||
+
|
||||
diff --git a/pengine/test10/nvpair-id-ref.xml b/pengine/test10/nvpair-id-ref.xml
|
||||
new file mode 100644
|
||||
index 0000000..5580e96
|
||||
--- /dev/null
|
||||
+++ b/pengine/test10/nvpair-id-ref.xml
|
||||
@@ -0,0 +1,56 @@
|
||||
+<cib epoch="1" num_updates="22" admin_epoch="0" validate-with="pacemaker-1.3" cib-last-written="Fri Jul 13 13:51:21 2012" have-quorum="1">
|
||||
+ <configuration>
|
||||
+ <crm_config>
|
||||
+ <cluster_property_set id="cib-bootstrap-options">
|
||||
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
|
||||
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
|
||||
+ </cluster_property_set>
|
||||
+ </crm_config>
|
||||
+ <nodes>
|
||||
+ <node id="node1" type="normal" uname="node1"/>
|
||||
+ <node id="node2" type="normal" uname="node2"/>
|
||||
+ </nodes>
|
||||
+ <resources>
|
||||
+ <primitive class="stonith" id="rsc_stonith" type="null"/>
|
||||
+ <primitive class="ocf" id="rsc1" provider="pacemaker" type="Dummy">
|
||||
+ <instance_attributes id="rsc1-instance_attributes">
|
||||
+ <nvpair id="rsc1-instance_attributes-fake" name="fake" value="common-value"/>
|
||||
+ </instance_attributes>
|
||||
+ <operations>
|
||||
+ <op id="rsc1-monitor-10" interval="10" name="monitor"/>
|
||||
+ </operations>
|
||||
+ </primitive>
|
||||
+ <primitive class="ocf" id="rsc2" provider="pacemaker" type="Dummy">
|
||||
+ <instance_attributes id="rsc2-instance_attributes">
|
||||
+ <nvpair id-ref="rsc1-instance_attributes-fake"/>
|
||||
+ <nvpair id-ref="rsc1-instance_attributes-fake" name="fake_fake"/>
|
||||
+ </instance_attributes>
|
||||
+ <operations>
|
||||
+ <op id="rsc2-monitor-10" interval="10" name="monitor"/>
|
||||
+ </operations>
|
||||
+ </primitive>
|
||||
+ </resources>
|
||||
+ <constraints/>
|
||||
+ </configuration>
|
||||
+ <status>
|
||||
+ <node_state id="node1" uname="node1" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
|
||||
+ <lrm id="node1">
|
||||
+ <lrm_resources>
|
||||
+ <lrm_resource id="rsc_stonith" class="stonith" type="null">
|
||||
+ <lrm_rsc_op id="rsc_stonith_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.7" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||||
+ <lrm_rsc_op id="rsc_stonith_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.7" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="2" rc-code="0" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||||
+ </lrm_resource>
|
||||
+ </lrm_resources>
|
||||
+ </lrm>
|
||||
+ </node_state>
|
||||
+ <node_state id="node2" uname="node2" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
|
||||
+ <lrm id="node2">
|
||||
+ <lrm_resources>
|
||||
+ <lrm_resource id="rsc_stonith" class="stonith" type="null">
|
||||
+ <lrm_rsc_op id="rsc_stonith_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.7" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||||
+ </lrm_resource>
|
||||
+ </lrm_resources>
|
||||
+ </lrm>
|
||||
+ </node_state>
|
||||
+ </status>
|
||||
+</cib>
|
@ -1,169 +0,0 @@
|
||||
commit 3912538a8954158d44a57f23aa219c5529a170ab
|
||||
Author: Gao,Yan <ygao@suse.com>
|
||||
Date: Wed Jan 29 14:07:44 2014 +0800
|
||||
|
||||
Feature: pengine: Support id-ref in nvpair with optional "name"
|
||||
|
||||
If "name" isn't specified, it inherits the name from the referenced
|
||||
nvpair.
|
||||
|
||||
diff --git a/lib/pengine/rules.c b/lib/pengine/rules.c
|
||||
index f80aa47..626d7b2 100644
|
||||
--- a/lib/pengine/rules.c
|
||||
+++ b/lib/pengine/rules.c
|
||||
@@ -607,7 +607,7 @@ sort_pairs(gconstpointer a, gconstpointer b)
|
||||
}
|
||||
|
||||
static void
|
||||
-populate_hash(xmlNode * nvpair_list, GHashTable * hash, gboolean overwrite)
|
||||
+populate_hash(xmlNode * nvpair_list, GHashTable * hash, gboolean overwrite, xmlNode * top)
|
||||
{
|
||||
const char *name = NULL;
|
||||
const char *value = NULL;
|
||||
@@ -622,10 +622,18 @@ populate_hash(xmlNode * nvpair_list, GHashTable * hash, gboolean overwrite)
|
||||
|
||||
for (an_attr = __xml_first_child(list); an_attr != NULL; an_attr = __xml_next(an_attr)) {
|
||||
if (crm_str_eq((const char *)an_attr->name, XML_CIB_TAG_NVPAIR, TRUE)) {
|
||||
+ xmlNode *ref_nvpair = expand_idref(an_attr, top);
|
||||
+
|
||||
name = crm_element_value(an_attr, XML_NVPAIR_ATTR_NAME);
|
||||
+ if (name == NULL) {
|
||||
+ name = crm_element_value(ref_nvpair, XML_NVPAIR_ATTR_NAME);
|
||||
+ }
|
||||
|
||||
crm_trace("Setting attribute: %s", name);
|
||||
value = crm_element_value(an_attr, XML_NVPAIR_ATTR_VALUE);
|
||||
+ if (value == NULL) {
|
||||
+ value = crm_element_value(ref_nvpair, XML_NVPAIR_ATTR_VALUE);
|
||||
+ }
|
||||
|
||||
if (name == NULL || value == NULL) {
|
||||
continue;
|
||||
@@ -657,6 +665,7 @@ struct unpack_data_s {
|
||||
GHashTable *node_hash;
|
||||
GHashTable *hash;
|
||||
crm_time_t *now;
|
||||
+ xmlNode *top;
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -670,7 +679,7 @@ unpack_attr_set(gpointer data, gpointer user_data)
|
||||
}
|
||||
|
||||
crm_trace("Adding attributes from %s", pair->name);
|
||||
- populate_hash(pair->attr_set, unpack_data->hash, unpack_data->overwrite);
|
||||
+ populate_hash(pair->attr_set, unpack_data->hash, unpack_data->overwrite, unpack_data->top);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -717,6 +726,7 @@ unpack_instance_attributes(xmlNode * top, xmlNode * xml_obj, const char *set_nam
|
||||
data.node_hash = node_hash;
|
||||
data.now = now;
|
||||
data.overwrite = overwrite;
|
||||
+ data.top = top;
|
||||
}
|
||||
|
||||
sorted = g_list_sort(unsorted, sort_pairs);
|
||||
diff --git a/xml/nodes-1.3.rng b/xml/nodes-1.3.rng
|
||||
index c28b5df..1ded570 100644
|
||||
--- a/xml/nodes-1.3.rng
|
||||
+++ b/xml/nodes-1.3.rng
|
||||
@@ -30,10 +30,10 @@
|
||||
<zeroOrMore>
|
||||
<choice>
|
||||
<element name="instance_attributes">
|
||||
- <externalRef href="nvset.rng"/>
|
||||
+ <externalRef href="nvset-1.3.rng"/>
|
||||
</element>
|
||||
<element name="utilization">
|
||||
- <externalRef href="nvset.rng"/>
|
||||
+ <externalRef href="nvset-1.3.rng"/>
|
||||
</element>
|
||||
</choice>
|
||||
</zeroOrMore>
|
||||
diff --git a/xml/nvset-1.3.rng b/xml/nvset-1.3.rng
|
||||
new file mode 100644
|
||||
index 0000000..8f1696c
|
||||
--- /dev/null
|
||||
+++ b/xml/nvset-1.3.rng
|
||||
@@ -0,0 +1,45 @@
|
||||
+<?xml version="1.0" encoding="UTF-8"?>
|
||||
+<!-- types: http://www.w3.org/TR/xmlschema-2/#dateTime -->
|
||||
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
|
||||
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
||||
+ <start>
|
||||
+ <ref name="element-nvset"/>
|
||||
+ </start>
|
||||
+
|
||||
+ <define name="element-nvset">
|
||||
+ <choice>
|
||||
+ <attribute name="id-ref"><data type="IDREF"/></attribute>
|
||||
+ <group>
|
||||
+ <attribute name="id"><data type="ID"/></attribute>
|
||||
+ <interleave>
|
||||
+ <optional>
|
||||
+ <externalRef href="rule.rng"/>
|
||||
+ </optional>
|
||||
+ <zeroOrMore>
|
||||
+ <element name="nvpair">
|
||||
+ <choice>
|
||||
+ <group>
|
||||
+ <attribute name="id-ref"><data type="IDREF"/></attribute>
|
||||
+ <optional>
|
||||
+ <attribute name="name"><text/></attribute>
|
||||
+ </optional>
|
||||
+ </group>
|
||||
+ <group>
|
||||
+ <attribute name="id"><data type="ID"/></attribute>
|
||||
+ <attribute name="name"><text/></attribute>
|
||||
+ <optional>
|
||||
+ <attribute name="value"><text/></attribute>
|
||||
+ </optional>
|
||||
+ </group>
|
||||
+ </choice>
|
||||
+ </element>
|
||||
+ </zeroOrMore>
|
||||
+ <optional>
|
||||
+ <externalRef href="score.rng"/>
|
||||
+ </optional>
|
||||
+ </interleave>
|
||||
+ </group>
|
||||
+ </choice>
|
||||
+ </define>
|
||||
+
|
||||
+</grammar>
|
||||
diff --git a/xml/resources-1.3.rng b/xml/resources-1.3.rng
|
||||
index a3640d1..9faf9fc 100644
|
||||
--- a/xml/resources-1.3.rng
|
||||
+++ b/xml/resources-1.3.rng
|
||||
@@ -53,7 +53,7 @@
|
||||
<ref name="element-operations"/>
|
||||
<zeroOrMore>
|
||||
<element name="utilization">
|
||||
- <externalRef href="nvset.rng"/>
|
||||
+ <externalRef href="nvset-1.3.rng"/>
|
||||
</element>
|
||||
</zeroOrMore>
|
||||
</interleave>
|
||||
@@ -86,7 +86,7 @@
|
||||
<ref name="element-operations"/>
|
||||
<zeroOrMore>
|
||||
<element name="utilization">
|
||||
- <externalRef href="nvset.rng"/>
|
||||
+ <externalRef href="nvset-1.3.rng"/>
|
||||
</element>
|
||||
</zeroOrMore>
|
||||
</interleave>
|
||||
@@ -144,10 +144,10 @@
|
||||
<zeroOrMore>
|
||||
<choice>
|
||||
<element name="meta_attributes">
|
||||
- <externalRef href="nvset.rng"/>
|
||||
+ <externalRef href="nvset-1.3.rng"/>
|
||||
</element>
|
||||
<element name="instance_attributes">
|
||||
- <externalRef href="nvset.rng"/>
|
||||
+ <externalRef href="nvset-1.3.rng"/>
|
||||
</element>
|
||||
</choice>
|
||||
</zeroOrMore>
|
@ -1,3 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 9 04:41:38 UTC 2014 - ygao@suse.com
|
||||
|
||||
- pengine: Support id-ref in nvpair with optional "name" (FATE#316118)
|
||||
Drop the patches that have been merged upstream:
|
||||
* pacemaker-pengine-nvpair-id-ref.patch
|
||||
* pacemaker-pengine-nvpair-id-ref-test.patch
|
||||
- Upstream version cs: 6442c5a67cdd4cbaeedb2c532e0dc0667a79c202
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 8 13:34:59 UTC 2014 - ygao@suse.com
|
||||
|
||||
|
@ -95,7 +95,7 @@ Name: pacemaker
|
||||
Summary: Scalable High-Availability cluster resource manager
|
||||
License: GPL-2.0+ and LGPL-2.1+
|
||||
Group: Productivity/Clustering/HA
|
||||
Version: 1.1.11+git20140408.d9fbba5
|
||||
Version: 1.1.11+git20140409.6442c5a
|
||||
Release: 0
|
||||
#Release: %{pcmk_release}%{?dist}
|
||||
Url: http://www.clusterlabs.org
|
||||
@ -111,8 +111,6 @@ Patch4: pacemaker-colocated-utilization.patch
|
||||
Patch5: pacemaker-cibsecret-tool-temp-disabled.patch
|
||||
Patch6: pacemaker-nagios-plugin-dir.patch
|
||||
Patch7: bug-812269_pacemaker-fencing-device-register-messages.patch
|
||||
Patch8: pacemaker-pengine-nvpair-id-ref.patch
|
||||
Patch9: pacemaker-pengine-nvpair-id-ref-test.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Provides: pacemaker-ticket-support = 2.0
|
||||
Conflicts: heartbeat < 3.0
|
||||
@ -397,8 +395,6 @@ manager for Corosync, CMAN and/or Linux-HA.
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
|
||||
# Force the local time
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user