Blame SOURCES/056-resource-agents-deps.patch

60de42
From 7bb912e1c313c42683d11f5261edabb971028cf6 Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Tue, 2 May 2017 10:55:21 -0500
60de42
Subject: [PATCH 1/4] Build: rpmlintrc: update rpmlint filters
60de42
60de42
---
60de42
 rpmlintrc | 6 ++++++
60de42
 1 file changed, 6 insertions(+)
60de42
60de42
diff --git a/rpmlintrc b/rpmlintrc
60de42
index 2e9aca3..ee3c772 100644
60de42
--- a/rpmlintrc
60de42
+++ b/rpmlintrc
60de42
@@ -39,3 +39,9 @@ addFilter("E: incoherent-logrotate-file /etc/logrotate.d/pacemaker")
60de42
 
60de42
 # buildbot builds the not-yet-released version
60de42
 addFilter("W: incoherent-version-in-changelog")
60de42
+
60de42
+# pacemaker_remote scriptlets use a state file
60de42
+addFilter("W: dangerous-command-in-%(pre|postun|posttrans) rm")
60de42
+
60de42
+# We should really use "pacemaker-remote", but we don't
60de42
+addFilter("W: incoherent-init-script-name pacemaker_remote")
60de42
-- 
60de42
1.8.3.1
60de42
60de42
60de42
From 06e2e269091ba69e699301d8c86c58ef94809be0 Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Tue, 2 May 2017 08:57:08 -0500
60de42
Subject: [PATCH 2/4] Low: systemd unit files: add dependency on
60de42
 resource-agents-deps
60de42
60de42
also clean up unit files a bit
60de42
---
60de42
 lrmd/pacemaker_remote.service.in |  5 +++++
60de42
 mcp/pacemaker.service.in         | 33 +++++++++++++++++++++------------
60de42
 tools/crm_mon.service.in         |  1 +
60de42
 3 files changed, 27 insertions(+), 12 deletions(-)
60de42
60de42
diff --git a/lrmd/pacemaker_remote.service.in b/lrmd/pacemaker_remote.service.in
60de42
index 6309ad2..86c2fd0 100644
60de42
--- a/lrmd/pacemaker_remote.service.in
60de42
+++ b/lrmd/pacemaker_remote.service.in
60de42
@@ -1,8 +1,13 @@
60de42
 [Unit]
60de42
 Description=Pacemaker Remote Service
60de42
 Documentation=man:pacemaker_remoted http://clusterlabs.org/doc/en-US/Pacemaker/1.1-pcs/html/Pacemaker_Remote/index.html
60de42
+
60de42
 After=network.target
60de42
 After=time-sync.target
60de42
+After=resource-agents-deps.target
60de42
+Wants=resource-agents-deps.target
60de42
+After=syslog.service
60de42
+After=rsyslog.service
60de42
 
60de42
 [Install]
60de42
 WantedBy=multi-user.target
60de42
diff --git a/mcp/pacemaker.service.in b/mcp/pacemaker.service.in
60de42
index 4d17b52..8ebadc6 100644
60de42
--- a/mcp/pacemaker.service.in
60de42
+++ b/mcp/pacemaker.service.in
60de42
@@ -2,23 +2,35 @@
60de42
 Description=Pacemaker High Availability Cluster Manager
60de42
 Documentation=man:pacemakerd http://clusterlabs.org/doc/en-US/Pacemaker/1.1-pcs/html/Pacemaker_Explained/index.html
60de42
 
60de42
-After=dbus.service
60de42
-After=basic.target
60de42
-After=syslog.service
60de42
-After=rsyslog.service
60de42
+# DefaultDependencies takes care of sysinit.target,
60de42
+# basic.target, and shutdown.target
60de42
+
60de42
+# We need networking to bind to a network address. It is recommended not to
60de42
+# use Wants or Requires with network.target, and not to use
60de42
+# network-online.target for server daemons.
60de42
 After=network.target
60de42
+
60de42
+# Time syncs can make the clock jump backward, which messes with logging
60de42
+# and failure timestamps, so wait until it's done.
60de42
 After=time-sync.target
60de42
-After=corosync.service
60de42
 
60de42
-Requires=dbus.service
60de42
-Requires=basic.target
60de42
+# Some OCF resources may have dependencies that aren't managed by the cluster;
60de42
+# these must be started before Pacemaker and stopped after it. The
60de42
+# resource-agents package provides this target, which lets system adminstrators
60de42
+# add drop-ins for those dependencies.
60de42
+After=resource-agents-deps.target
60de42
+Wants=resource-agents-deps.target
60de42
+
60de42
+After=syslog.service
60de42
+After=rsyslog.service
60de42
+After=corosync.service
60de42
 Requires=corosync.service
60de42
-# if you use crm_mon, uncomment the line below.
60de42
-# Wants=crm_mon.service
60de42
+
60de42
 
60de42
 [Install]
60de42
 WantedBy=multi-user.target
60de42
 
60de42
+
60de42
 [Service]
60de42
 Type=simple
60de42
 KillMode=process
60de42
@@ -62,6 +74,3 @@ Restart=on-failure
60de42
 # crm_perror() writes directly to stderr, so ignore it here
60de42
 # to avoid double-logging with the wrong format
60de42
 StandardError=null
60de42
-
60de42
-# if you use crm_mon, uncomment the line below.
60de42
-# ExecStopPost=/bin/sh -c 'systemctl status crm_mon >/dev/null && systemctl stop crm_mon'
60de42
diff --git a/tools/crm_mon.service.in b/tools/crm_mon.service.in
60de42
index 1199f5f..7ae6649 100644
60de42
--- a/tools/crm_mon.service.in
60de42
+++ b/tools/crm_mon.service.in
60de42
@@ -1,6 +1,7 @@
60de42
 [Unit]
60de42
 Description=Daemon for pacemaker monitor
60de42
 Documentation=man:crm_mon
60de42
+After=pacemaker.service
60de42
 
60de42
 [Service]
60de42
 Type=forking
60de42
-- 
60de42
1.8.3.1
60de42
60de42
60de42
From 5f264b4be1cd21cecc86a07d159bacc112042cce Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Tue, 2 May 2017 12:15:54 -0500
60de42
Subject: [PATCH 3/4] Fix: libcib: avoid use-after-free when deleting CIB
60de42
 connection
60de42
60de42
360cf350 ironically introduced one use-after-free while fixing another
60de42
---
60de42
 lib/cib/cib_client.c | 1 +
60de42
 1 file changed, 1 insertion(+)
60de42
60de42
diff --git a/lib/cib/cib_client.c b/lib/cib/cib_client.c
60de42
index 907bb5a..f0e332b 100644
60de42
--- a/lib/cib/cib_client.c
60de42
+++ b/lib/cib/cib_client.c
60de42
@@ -423,6 +423,7 @@ cib_free_callbacks(cib_t *cib)
60de42
             list = g_list_remove(list, client);
60de42
             free(client);
60de42
         }
60de42
+        cib->notify_list = NULL;
60de42
     }
60de42
     destroy_op_callback_table();
60de42
 }
60de42
-- 
60de42
1.8.3.1
60de42
60de42
60de42
From f2948e786548942b20c9724b59d243b6178e5411 Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Wed, 3 May 2017 11:51:26 -0500
60de42
Subject: [PATCH 4/4] Low: xml: allow meta-attributes in bundles
60de42
60de42
ignored for now, but eventually will allow is-managed and target-role
60de42
to be inherited by bundle components
60de42
60de42
also allows id and desc attributes to be interleaved
60de42
---
60de42
 xml/resources-2.8.rng | 10 +++++-----
60de42
 1 file changed, 5 insertions(+), 5 deletions(-)
60de42
60de42
diff --git a/xml/resources-2.8.rng b/xml/resources-2.8.rng
60de42
index e20215b..b27a026 100644
60de42
--- a/xml/resources-2.8.rng
60de42
+++ b/xml/resources-2.8.rng
60de42
@@ -65,14 +65,14 @@
60de42
     </element>
60de42
   </define>
60de42
 
60de42
-
60de42
   <define name="element-bundle">
60de42
     <element name="bundle">
60de42
-      <attribute name="id"><data type="ID"/></attribute>
60de42
-      <optional>
60de42
-        <attribute name="description"><text/></attribute>
60de42
-      </optional>
60de42
       <interleave>
60de42
+        <attribute name="id"><data type="ID"/></attribute>
60de42
+        <optional>
60de42
+          <attribute name="description"><text/></attribute>
60de42
+        </optional>
60de42
+        <ref name="element-resource-extra"/>
60de42
         <choice>
60de42
           <element name="docker">
60de42
             <attribute name="image"><text/></attribute>
60de42
-- 
60de42
1.8.3.1
60de42