- xml: Memory leak when free'ing xml documents

- systemd: Prevent use-of-NULL when determining if an agent exists
- xml: Fix segfault in TRACKING_CHANGES()
- PE: Memory leak when updating cancel operations
- xml: Prevent memory leak in xml _private field
- pengine: Performance increase, stack allocated score2char
- crm_report: Only gather dlm data if dlm_controld is running
- Fix: memory leak found by valgrind was corrected.
- Fencing: Add the ability to call stonith_api_time() from stonith_admin
- Fencing: Pass the correct options when looking up the history by node name
- cib: Ensure 'cibadmin -R/--replace' commands get replies
- xml: Correctly initialize and find v1-style patch version numbers
- crm_mon: Add -R switch to show clone details
- Build: Install compatibility.h
- fencing: Teach stonith-ng about finding device and topology changes in the v2 patch format
- crm_report: Additional dlm detail
- crm_report: Allow ssh alternatives to be used
- crmd: Correctly recognise operation cancellations we initiated
- crmd: Improved logging of transition cancellations
- crmd: Correctly detect lrm refreshes
- crmd: Ignore 'move' operations to the cib, we only care about content changes
- PE: Ensure instance numbers are preserved for cloned templates
- Bug cl#5196 - PE: Check values after expanding templates
- crm_mon: Ensure resource attributes have been unpacked before displaying connectivity data
- Upstream version cs: ca8234daf2bbb2d0fd2fb47cdbb6667f892081bb

- pengine: Support id-ref in nvpair with optional "name" (FATE#316118)
  * pacemaker-pengine-nvpair-id-ref.patch
  * pacemaker-pengine-nvpair-id-ref-test.patch

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=111
This commit is contained in:
Yan Gao 2014-03-03 07:56:37 +00:00 committed by Git OBS Bridge
parent d3e1673ec5
commit ecf1558079
6 changed files with 486 additions and 4 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4209bd9bd0deed4aa6a9254ab2606e18cb9b9b4f31394c96811139a33f977268
size 9254287

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:236dbbd84ac635a1339439f65f4e92c38762c9fb6b66f26c9a4569208ba8e790
size 9256516

View File

@ -0,0 +1,299 @@
commit 74f7c451d7a1f27f3c5a43e81534a20354be1459
Author: Gao,Yan <ygao@suse.com>
Date: Mon Mar 3 14:07:57 2014 +0800
Test: pengine: Support id-ref in nvpair with optional "name" for resource instance attributes
diff --git a/pengine/regression.sh b/pengine/regression.sh
index 07c3c35..9c49c80 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 for resource instance attributes"
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..bad4db0
--- /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" 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" 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" on_node="node1" on_node_uuid="node1"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" 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..9b3e28f
--- /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.1" 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.5" 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.5" 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.5" 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>

View File

@ -0,0 +1,143 @@
commit 89b75046e67bfe58985a64db4cc29fc6c0784f44
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" for resource instance attributes
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/Makefile.am b/xml/Makefile.am
index 4a7381b..eb99270 100644
--- a/xml/Makefile.am
+++ b/xml/Makefile.am
@@ -26,7 +26,7 @@ RNG_FILES = $(VERSIONED_RNG_FILES:%.rng=%-1.0.rng) \
$(VERSIONED_RNG_FILES:%.rng=%-1.1.rng) \
$(VERSIONED_RNG_FILES:%.rng=%-1.2.rng) \
pacemaker.rng versions.rng score.rng rule.rng nvset.rng \
- acls-1.1.rng acls-1.2.rng fencing.rng
+ acls-1.1.rng acls-1.2.rng fencing.rng nvset-nvpair-ref.rng
EXTRA_DIST = crm-1.0.dtd $(dtd_SCRIPTS)
dtd_SCRIPTS = crm.dtd $(RNG_FILES) upgrade06.xsl crm-transitional.dtd
diff --git a/xml/nvset-nvpair-ref.rng b/xml/nvset-nvpair-ref.rng
new file mode 100644
index 0000000..8f1696c
--- /dev/null
+++ b/xml/nvset-nvpair-ref.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.1.rng b/xml/resources-1.1.rng
index 81a8f82..3eb6824 100644
--- a/xml/resources-1.1.rng
+++ b/xml/resources-1.1.rng
@@ -145,7 +145,7 @@
<externalRef href="nvset.rng"/>
</element>
<element name="instance_attributes">
- <externalRef href="nvset.rng"/>
+ <externalRef href="nvset-nvpair-ref.rng"/>
</element>
</choice>
</zeroOrMore>

View File

@ -1,3 +1,39 @@
-------------------------------------------------------------------
Mon Mar 3 07:40:22 UTC 2014 - ygao@suse.com
- xml: Memory leak when free'ing xml documents
- systemd: Prevent use-of-NULL when determining if an agent exists
- xml: Fix segfault in TRACKING_CHANGES()
- PE: Memory leak when updating cancel operations
- xml: Prevent memory leak in xml _private field
- pengine: Performance increase, stack allocated score2char
- crm_report: Only gather dlm data if dlm_controld is running
- Fix: memory leak found by valgrind was corrected.
- Fencing: Add the ability to call stonith_api_time() from stonith_admin
- Fencing: Pass the correct options when looking up the history by node name
- cib: Ensure 'cibadmin -R/--replace' commands get replies
- xml: Correctly initialize and find v1-style patch version numbers
- crm_mon: Add -R switch to show clone details
- Build: Install compatibility.h
- fencing: Teach stonith-ng about finding device and topology changes in the v2 patch format
- crm_report: Additional dlm detail
- crm_report: Allow ssh alternatives to be used
- crmd: Correctly recognise operation cancellations we initiated
- crmd: Improved logging of transition cancellations
- crmd: Correctly detect lrm refreshes
- crmd: Ignore 'move' operations to the cib, we only care about content changes
- PE: Ensure instance numbers are preserved for cloned templates
- Bug cl#5196 - PE: Check values after expanding templates
- crm_mon: Ensure resource attributes have been unpacked before displaying connectivity data
- Upstream version cs: ca8234daf2bbb2d0fd2fb47cdbb6667f892081bb
-------------------------------------------------------------------
Mon Mar 3 06:14:23 UTC 2014 - ygao@suse.com
- pengine: Support id-ref in nvpair with optional "name" (FATE#316118)
* pacemaker-pengine-nvpair-id-ref.patch
* pacemaker-pengine-nvpair-id-ref-test.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Feb 21 07:05:40 UTC 2014 - ygao@suse.com Fri Feb 21 07:05:40 UTC 2014 - ygao@suse.com

View File

@ -95,7 +95,7 @@ Name: pacemaker
Summary: Scalable High-Availability cluster resource manager Summary: Scalable High-Availability cluster resource manager
License: GPL-2.0+ and LGPL-2.1+ License: GPL-2.0+ and LGPL-2.1+
Group: Productivity/Clustering/HA Group: Productivity/Clustering/HA
Version: 1.1.11+git20140221.0b7d85a Version: 1.1.11+git20140303.ca8234d
Release: 0 Release: 0
#Release: %{pcmk_release}%{?dist} #Release: %{pcmk_release}%{?dist}
Url: http://www.clusterlabs.org Url: http://www.clusterlabs.org
@ -112,6 +112,8 @@ Patch5: pacemaker-colocated-utilization.patch
Patch6: pacemaker-cibsecret-tool-temp-disabled.patch Patch6: pacemaker-cibsecret-tool-temp-disabled.patch
Patch7: pacemaker-nagios-plugin-dir.patch Patch7: pacemaker-nagios-plugin-dir.patch
Patch8: bug-812269_pacemaker-fencing-device-register-messages.patch Patch8: bug-812269_pacemaker-fencing-device-register-messages.patch
Patch9: pacemaker-pengine-nvpair-id-ref.patch
Patch10: pacemaker-pengine-nvpair-id-ref-test.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: pacemaker-ticket-support = 2.0 Provides: pacemaker-ticket-support = 2.0
Conflicts: heartbeat < 3.0 Conflicts: heartbeat < 3.0
@ -397,6 +399,8 @@ manager for Corosync, CMAN and/or Linux-HA.
%patch6 -p1 %patch6 -p1
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
%patch9 -p1
%patch10 -p1
# Force the local time # Force the local time
# #