Hello community,

here is the log from the commit of package pacemaker for openSUSE:Factory 
checked in at 2016-07-21 07:53:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pacemaker (Old)
 and      /work/SRC/openSUSE:Factory/.pacemaker.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pacemaker"

Changes:
--------
--- /work/SRC/openSUSE:Factory/pacemaker/pacemaker.changes      2016-07-12 
23:44:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.pacemaker.new/pacemaker.changes 2016-07-21 
07:53:31.000000000 +0200
@@ -1,0 +2,11 @@
+Fri Jul  8 09:58:46 UTC 2016 - y...@suse.com
+
+- libcrmcommon: properly handle XML comments when comparing v2 patchset diffs
+- crmd: don't abort transitions for CIB comment changes
+- libcrmcommon: log XML comments correctly
+- libcrmcommon: remove extraneous format specifier from log message
+- crm_mon: Avoid logging errors for any CIB changes that we don't care about 
(bsc#986931)
+- crmd: When node load was reduced, crmd carries out a feasible action.
+- Upstream version cs: 58fef06198fef17873d0d2e2d0cc5c7db73c5724
+
+-------------------------------------------------------------------
@@ -665 +676 @@
-- crmd/pengine: implement on-fail=ignore without allow-fail
+- crmd/pengine: implement on-fail=ignore without allow-fail (bsc#981731)
@@ -669,4 +680,4 @@
-- crmd/pengine: handle on-fail=ignore properly
-- crmd: respect start-failure-is-fatal even for artifically injected events
-- crmd: don't update fail count twice for same failure (bsc#950450)
-- crmd: report operation rc as advertised instead of status
+- crmd/pengine: handle on-fail=ignore properly (bsc#981731)
+- crmd: respect start-failure-is-fatal even for artifically injected events 
(bsc#981731)
+- crmd: don't update fail count twice for same failure (bsc#950450, bsc#981731)
+- crmd: report operation rc as advertised instead of status (bsc#981731)

Old:
----
  pacemaker-1.1.15+git20160701.630d0d1.tar.bz2

New:
----
  pacemaker-1.1.15+git20160708.58fef06.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pacemaker.spec ++++++
--- /var/tmp/diff_new_pack.WCRcRP/_old  2016-07-21 07:53:32.000000000 +0200
+++ /var/tmp/diff_new_pack.WCRcRP/_new  2016-07-21 07:53:32.000000000 +0200
@@ -35,7 +35,7 @@
 # We generate docs using Publican, Asciidoc and Inkscape, but they're not 
available everywhere
 %bcond_with doc
 Name:           pacemaker
-Version:        1.1.15+git20160701.630d0d1
+Version:        1.1.15+git20160708.58fef06
 Release:        0
 Summary:        Scalable High-Availability cluster resource manager
 License:        GPL-2.0 and GPL-2.0+ and LGPL-2.1+

++++++ _service ++++++
--- /var/tmp/diff_new_pack.WCRcRP/_old  2016-07-21 07:53:32.000000000 +0200
+++ /var/tmp/diff_new_pack.WCRcRP/_new  2016-07-21 07:53:32.000000000 +0200
@@ -11,7 +11,7 @@
     <param name="version">1.1.15</param>
 -->
     <param name="versionformat">1.1.15+git%cd.%h</param>
-    <param name="revision">630d0d112092042b6f79c2a02bb442e82fee93ec</param>
+    <param name="revision">58fef06198fef17873d0d2e2d0cc5c7db73c5724</param>
   </service>
 
   <service name="recompress" mode="disabled">

++++++ pacemaker-1.1.15+git20160701.630d0d1.tar.bz2 -> 
pacemaker-1.1.15+git20160708.58fef06.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pacemaker-1.1.15+git20160701.630d0d1/crmd/election.c 
new/pacemaker-1.1.15+git20160708.58fef06/crmd/election.c
--- old/pacemaker-1.1.15+git20160701.630d0d1/crmd/election.c    2016-07-02 
00:22:46.000000000 +0200
+++ new/pacemaker-1.1.15+git20160708.58fef06/crmd/election.c    2016-07-08 
18:25:02.000000000 +0200
@@ -88,7 +88,7 @@
                   enum crmd_fsa_input current_input, fsa_data_t * msg_data)
 {
     if (fsa_state != S_ELECTION) {
-        crm_debug("Ignore election check: we not in an election");
+        crm_debug("Ignoring election check because we are not in an election");
 
     } else if(election_check(fsa_election)) {
         register_fsa_input(C_FSA_INTERNAL, I_ELECTION_DC, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pacemaker-1.1.15+git20160701.630d0d1/crmd/lrm.c 
new/pacemaker-1.1.15+git20160708.58fef06/crmd/lrm.c
--- old/pacemaker-1.1.15+git20160701.630d0d1/crmd/lrm.c 2016-07-02 
00:22:46.000000000 +0200
+++ new/pacemaker-1.1.15+git20160708.58fef06/crmd/lrm.c 2016-07-08 
18:25:02.000000000 +0200
@@ -1629,7 +1629,6 @@
 
         CRM_CHECK(xml_rsc != NULL, return);
 
-        /* only the first 16 chars are used by the LRM */
         params = find_xml_node(input->xml, XML_TAG_ATTRS, TRUE);
 
         if (safe_str_eq(operation, CRMD_ACTION_DELETE)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pacemaker-1.1.15+git20160701.630d0d1/crmd/messages.c 
new/pacemaker-1.1.15+git20160708.58fef06/crmd/messages.c
--- old/pacemaker-1.1.15+git20160701.630d0d1/crmd/messages.c    2016-07-02 
00:22:46.000000000 +0200
+++ new/pacemaker-1.1.15+git20160708.58fef06/crmd/messages.c    2016-07-08 
18:25:02.000000000 +0200
@@ -34,6 +34,7 @@
 #include <crmd.h>
 #include <crmd_messages.h>
 #include <crmd_lrm.h>
+#include <tengine.h>
 #include <throttle.h>
 
 GListPtr fsa_message_queue = NULL;
@@ -752,6 +753,12 @@
 
     } else if (strcmp(op, CRM_OP_THROTTLE) == 0) {
         throttle_update(stored_msg);
+        if (AM_I_DC && transition_graph != NULL) {
+            if (transition_graph->complete == FALSE) {
+                crm_debug("The throttle changed. Trigger a graph.");
+                trigger_graph();
+            }
+        }
         return I_NULL;
 
     } else if (strcmp(op, CRM_OP_CLEAR_FAILCOUNT) == 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pacemaker-1.1.15+git20160701.630d0d1/crmd/te_callbacks.c 
new/pacemaker-1.1.15+git20160708.58fef06/crmd/te_callbacks.c
--- old/pacemaker-1.1.15+git20160701.630d0d1/crmd/te_callbacks.c        
2016-07-02 00:22:46.000000000 +0200
+++ new/pacemaker-1.1.15+git20160708.58fef06/crmd/te_callbacks.c        
2016-07-08 18:25:02.000000000 +0200
@@ -425,15 +425,21 @@
         }
 
         if(match) {
+            if (match->type == XML_COMMENT_NODE) {
+                crm_trace("Ignoring %s operation for comment at %s", op, 
xpath);
+                continue;
+            }
             name = (const char *)match->name;
         }
 
-        crm_trace("Handling %s operation for %s %p, %s", op, xpath, match, 
name);
+        crm_trace("Handling %s operation for %s%s%s",
+                  op, (xpath? xpath : "CIB"),
+                  (name? " matched by " : ""), (name? name : ""));
         if(xpath == NULL) {
             /* Version field, ignore */
 
         } else if(strstr(xpath, "/cib/configuration")) {
-            abort_transition(INFINITY, tg_restart, "Non-status change", 
change);
+            abort_transition(INFINITY, tg_restart, "Configuration change", 
change);
             break; /* Wont be packaged with any resource operations we may be 
waiting for */
 
         } else if(strstr(xpath, "/"XML_CIB_TAG_TICKETS) || safe_str_eq(name, 
XML_CIB_TAG_TICKETS)) {
@@ -502,7 +508,7 @@
             }
 
             if(config) {
-                abort_transition(INFINITY, tg_restart, "Non-status change", 
change);
+                abort_transition(INFINITY, tg_restart, "Non-status-only 
change", change);
             }
 
         } else if(strcmp(name, XML_CIB_TAG_STATUS) == 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pacemaker-1.1.15+git20160701.630d0d1/lib/common/xml.c 
new/pacemaker-1.1.15+git20160708.58fef06/lib/common/xml.c
--- old/pacemaker-1.1.15+git20160701.630d0d1/lib/common/xml.c   2016-07-02 
00:22:46.000000000 +0200
+++ new/pacemaker-1.1.15+git20160708.58fef06/lib/common/xml.c   2016-07-08 
18:25:02.000000000 +0200
@@ -1815,6 +1815,15 @@
     __xml_accept_changes(top);
 }
 
+static xmlNode *
+find_element(xmlNode *haystack, xmlNode *needle)
+{
+    CRM_CHECK(needle != NULL, return NULL);
+    return (needle->type == XML_COMMENT_NODE)?
+           find_xml_comment(haystack, needle)
+           : find_entity(haystack, crm_element_name(needle), ID(needle));
+}
+
 /* Simplified version for applying v1-style XML patches */
 static void
 __subtract_xml_object(xmlNode * target, xmlNode * patch)
@@ -1867,14 +1876,7 @@
         xmlNode *target_child = cIter;
 
         cIter = __xml_next(cIter);
-
-        if (target_child->type == XML_COMMENT_NODE) {
-            patch_child = find_xml_comment(patch, target_child);
-
-        } else {
-            patch_child = find_entity(patch, crm_element_name(target_child), 
ID(target_child));
-        }
-
+        patch_child = find_element(patch, target_child);
         __subtract_xml_object(target_child, patch_child);
     }
     free(id);
@@ -1936,13 +1938,7 @@
     for (patch_child = __xml_first_child(patch); patch_child != NULL;
          patch_child = __xml_next(patch_child)) {
 
-        if (patch_child->type == XML_COMMENT_NODE) {
-            target_child = find_xml_comment(target, patch_child);
-
-        } else {
-            target_child = find_entity(target, crm_element_name(patch_child), 
ID(patch_child));
-        }
-
+        target_child = find_element(target, patch_child);
         __add_xml_object(target, target_child, patch_child);
     }
 }
@@ -3488,48 +3484,47 @@
         char *buffer = NULL;
 
         insert_prefix(options, &buffer, &offset, &max, depth);
-        if(data->type == XML_COMMENT_NODE) {
-            buffer_print(buffer, max, offset, "<!--");
-            buffer_print(buffer, max, offset, "%s", data->content);
-            buffer_print(buffer, max, offset, "-->");
+
+        if (data->type == XML_COMMENT_NODE) {
+            buffer_print(buffer, max, offset, "<!--%s-->", data->content);
 
         } else {
             buffer_print(buffer, max, offset, "<%s", name);
-        }
 
-        hidden = crm_element_value(data, "hidden");
-        for (pIter = crm_first_attr(data); pIter != NULL; pIter = pIter->next) 
{
-            xml_private_t *p = pIter->_private;
-            const char *p_name = (const char *)pIter->name;
-            const char *p_value = crm_attr_value(pIter);
-            char *p_copy = NULL;
+            hidden = crm_element_value(data, "hidden");
+            for (pIter = crm_first_attr(data); pIter != NULL; pIter = 
pIter->next) {
+                xml_private_t *p = pIter->_private;
+                const char *p_name = (const char *)pIter->name;
+                const char *p_value = crm_attr_value(pIter);
+                char *p_copy = NULL;
+
+                if(is_set(p->flags, xpf_deleted)) {
+                    continue;
+                } else if ((is_set(options, xml_log_option_diff_plus)
+                     || is_set(options, xml_log_option_diff_minus))
+                    && strcmp(XML_DIFF_MARKER, p_name) == 0) {
+                    continue;
 
-            if(is_set(p->flags, xpf_deleted)) {
-                continue;
-            } else if ((is_set(options, xml_log_option_diff_plus)
-                 || is_set(options, xml_log_option_diff_minus))
-                && strcmp(XML_DIFF_MARKER, p_name) == 0) {
-                continue;
+                } else if (hidden != NULL && p_name[0] != 0 && strstr(hidden, 
p_name) != NULL) {
+                    p_copy = strdup("*****");
 
-            } else if (hidden != NULL && p_name[0] != 0 && strstr(hidden, 
p_name) != NULL) {
-                p_copy = strdup("*****");
+                } else {
+                    p_copy = crm_xml_escape(p_value);
+                }
 
-            } else {
-                p_copy = crm_xml_escape(p_value);
+                buffer_print(buffer, max, offset, " %s=\"%s\"", p_name, 
p_copy);
+                free(p_copy);
             }
 
-            buffer_print(buffer, max, offset, " %s=\"%s\"", p_name, p_copy);
-            free(p_copy);
-        }
-
-        if(xml_has_children(data) == FALSE) {
-            buffer_print(buffer, max, offset, "/>");
+            if(xml_has_children(data) == FALSE) {
+                buffer_print(buffer, max, offset, "/>");
 
-        } else if(is_set(options, xml_log_option_children)) {
-            buffer_print(buffer, max, offset, ">");
+            } else if(is_set(options, xml_log_option_children)) {
+                buffer_print(buffer, max, offset, ">");
 
-        } else {
-            buffer_print(buffer, max, offset, "/>");
+            } else {
+                buffer_print(buffer, max, offset, "/>");
+            }
         }
 
         do_crm_log_alias(log_level, file, function, line, "%s %s", prefix, 
buffer);
@@ -4289,15 +4284,13 @@
 
     for (cIter = __xml_first_child(old); cIter != NULL; ) {
         xmlNode *old_child = cIter;
-        xmlNode *new_child = find_entity(new, crm_element_name(cIter), 
ID(cIter));
+        xmlNode *new_child = find_element(new, cIter);
 
         cIter = __xml_next(cIter);
         if(new_child) {
             __xml_diff_object(old_child, new_child);
 
         } else {
-            xml_private_t *p = old_child->_private;
-
             /* Create then free (which will check the acls if necessary) */
             xmlNode *candidate = add_node_copy(new, old_child);
             xmlNode *top = xmlDocGetRootElement(candidate->doc);
@@ -4306,7 +4299,9 @@
             __xml_acl_apply(top); /* Make sure any ACLs are applied to 
'candidate' */
             free_xml(candidate);
 
-            if(NULL == find_entity(new, crm_element_name(old_child), 
ID(old_child))) {
+            if (find_element(new, old_child) == NULL) {
+                xml_private_t *p = old_child->_private;
+
                 p->flags |= xpf_skip;
             }
         }
@@ -4314,7 +4309,7 @@
 
     for (cIter = __xml_first_child(new); cIter != NULL; ) {
         xmlNode *new_child = cIter;
-        xmlNode *old_child = find_entity(old, crm_element_name(cIter), 
ID(cIter));
+        xmlNode *old_child = find_element(old, cIter);
 
         cIter = __xml_next(cIter);
         if(old_child == NULL) {
@@ -4326,22 +4321,21 @@
             /* Check for movement, we already checked for differences */
             int p_new = __xml_offset(new_child);
             int p_old = __xml_offset(old_child);
-            xml_private_t *p = new_child->_private;
 
             if(p_old != p_new) {
-                crm_info("%s.%s moved from %d to %d - %d",
+                xml_private_t *p = new_child->_private;
+
+                crm_info("%s.%s moved from %d to %d",
                          new_child->name, ID(new_child), p_old, p_new);
                 __xml_node_dirty(new);
                 p->flags |= xpf_moved;
 
                 if(p_old > p_new) {
                     p = old_child->_private;
-                    p->flags |= xpf_skip;
-
                 } else {
                     p = new_child->_private;
-                    p->flags |= xpf_skip;
                 }
+                p->flags |= xpf_skip;
             }
         }
     }
@@ -4596,13 +4590,7 @@
          left_child = __xml_next(left_child)) {
         gboolean child_changed = FALSE;
 
-        if (left_child->type == XML_COMMENT_NODE) {
-            right_child = find_xml_comment(right, left_child);
-
-        } else {
-            right_child = find_entity(right, crm_element_name(left_child), 
ID(left_child));
-        }
-
+        right_child = find_element(right, left_child);
         subtract_xml_object(diff, left_child, right_child, full, 
&child_changed, marker);
         if (child_changed) {
             *changed = TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pacemaker-1.1.15+git20160701.630d0d1/lib/pengine/unpack.c 
new/pacemaker-1.1.15+git20160708.58fef06/lib/pengine/unpack.c
--- old/pacemaker-1.1.15+git20160701.630d0d1/lib/pengine/unpack.c       
2016-07-02 00:22:46.000000000 +0200
+++ new/pacemaker-1.1.15+git20160708.58fef06/lib/pengine/unpack.c       
2016-07-08 18:25:02.000000000 +0200
@@ -154,7 +154,7 @@
 
     value = pe_pref(data_set->config_hash, XML_ATTR_HAVE_WATCHDOG);
     if (value && crm_is_true(value)) {
-        crm_notice("Relying on watchdog integration for fencing");
+        crm_notice("Watchdog will be used via SBD if fencing is required");
         set_bit(data_set->flags, pe_flag_have_stonith_resource);
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pacemaker-1.1.15+git20160701.630d0d1/mcp/pacemaker.in 
new/pacemaker-1.1.15+git20160708.58fef06/mcp/pacemaker.in
--- old/pacemaker-1.1.15+git20160701.630d0d1/mcp/pacemaker.in   2016-07-02 
00:22:46.000000000 +0200
+++ new/pacemaker-1.1.15+git20160708.58fef06/mcp/pacemaker.in   2016-07-08 
18:25:02.000000000 +0200
@@ -269,7 +269,12 @@
        #
        [ "$PCMK_STACK" = cman ] && cman_pre_stop
        stop
-       [ "$PCMK_STACK" = cman ] && service cman stop
+
+       # Stop cman if needed, unless --skip-cman is specified (which allows
+       # higher-level tooling to stop pacemaker on all nodes, then stop cman
+       # on all nodes, to maintain quorum for DLM-based resources while
+       # pacemaker shuts down).
+       [ "$PCMK_STACK" = cman ] && [ "$2" != "--skip-cman" ] && service cman 
stop
 ;;
 *)
        echo "usage: $0 
{start|stop|restart|reload|force-reload|condrestart|try-restart|status}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pacemaker-1.1.15+git20160701.630d0d1/tools/crm_mon.c 
new/pacemaker-1.1.15+git20160708.58fef06/tools/crm_mon.c
--- old/pacemaker-1.1.15+git20160701.630d0d1/tools/crm_mon.c    2016-07-02 
00:22:46.000000000 +0200
+++ new/pacemaker-1.1.15+git20160708.58fef06/tools/crm_mon.c    2016-07-08 
18:25:02.000000000 +0200
@@ -3922,16 +3922,8 @@
             handle_rsc_op(match, local_node);
             free(local_node);
 
-        } else if(strcmp(name, XML_TAG_TRANSIENT_NODEATTRS) == 0
-                  || strcmp(name, XML_TAG_ATTR_SETS) == 0
-                  || strcmp(name, XML_CIB_TAG_NVPAIR) == 0
-                  || strcmp(name, XML_CIB_TAG_TICKETS) == 0
-                  || strcmp(name, XML_CIB_TAG_TICKET_STATE) == 0) {
-            crm_trace("Ignoring %s operation for %s %p, %s", op, xpath, match, 
name);
-
         } else {
-            crm_err("Unable to process unrecognized CIB change: %s operation 
for %s %p, %s",
-                    op, xpath, match, name);
+            crm_trace("Ignoring %s operation for %s %p, %s", op, xpath, match, 
name);
         }
     }
 }


Reply via email to