Blame SOURCES/045-bundle-logging.patch

60de42
From ee02f542f8ea6e411a1802b3181735aad29b7e29 Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Tue, 28 Mar 2017 19:48:29 -0500
60de42
Subject: [PATCH 1/5] Test: tools: suppress valgrind warning for crm_failcount
60de42
60de42
memory leak in bash
60de42
---
60de42
 valgrind-pcmk.suppressions | 26 ++++++++++++++++++++++++++
60de42
 1 file changed, 26 insertions(+)
60de42
60de42
diff --git a/valgrind-pcmk.suppressions b/valgrind-pcmk.suppressions
60de42
index a942f30..48eec9e 100644
60de42
--- a/valgrind-pcmk.suppressions
60de42
+++ b/valgrind-pcmk.suppressions
60de42
@@ -29,6 +29,32 @@
60de42
 }
60de42
 
60de42
 {
60de42
+   Bash leak in cli regression testing
60de42
+   Memcheck:Leak
60de42
+   match-leak-kinds: definite
60de42
+   fun:malloc
60de42
+   fun:xmalloc
60de42
+   obj:/usr/bin/bash
60de42
+   fun:execute_command_internal
60de42
+   obj:/usr/bin/bash
60de42
+   fun:execute_command_internal
60de42
+   fun:parse_and_execute
60de42
+   fun:command_substitute
60de42
+   obj:/usr/bin/bash
60de42
+   obj:/usr/bin/bash
60de42
+   obj:/usr/bin/bash
60de42
+   fun:expand_string_assignment
60de42
+   obj:/usr/bin/bash
60de42
+   obj:/usr/bin/bash
60de42
+   obj:/usr/bin/bash
60de42
+   obj:/usr/bin/bash
60de42
+   fun:execute_command_internal
60de42
+   fun:execute_command_internal
60de42
+   fun:execute_command
60de42
+   fun:execute_command_internal
60de42
+}
60de42
+
60de42
+{
60de42
    Ignore option parsing
60de42
    Memcheck:Leak
60de42
    fun:realloc
60de42
-- 
60de42
1.8.3.1
60de42
60de42
60de42
From 4b08e8fc208bd1da2c0ce6d018ad32bb7e23f151 Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Wed, 29 Mar 2017 17:34:08 -0500
60de42
Subject: [PATCH 2/5] Fix: libpe_status: set id on correct tag for bundle clone
60de42
 resource
60de42
60de42
---
60de42
 lib/pengine/container.c | 2 +-
60de42
 1 file changed, 1 insertion(+), 1 deletion(-)
60de42
60de42
diff --git a/lib/pengine/container.c b/lib/pengine/container.c
60de42
index 7e99e68..722e534 100644
60de42
--- a/lib/pengine/container.c
60de42
+++ b/lib/pengine/container.c
60de42
@@ -558,7 +558,7 @@ container_unpack(resource_t * rsc, pe_working_set_t * data_set)
60de42
         crm_xml_set_id(xml_resource, "%s-%s", container_data->prefix, xml_resource->name);
60de42
 
60de42
         xml_set = create_xml_node(xml_resource, XML_TAG_META_SETS);
60de42
-        crm_xml_set_id(xml_resource, "%s-%s-meta", container_data->prefix, xml_resource->name);
60de42
+        crm_xml_set_id(xml_set, "%s-%s-meta", container_data->prefix, xml_resource->name);
60de42
 
60de42
         create_nvp(xml_set, XML_RSC_ATTR_ORDERED, "true");
60de42
 
60de42
-- 
60de42
1.8.3.1
60de42
60de42
60de42
From 4427c95a37da16128d1bf45c81c081ac2bde1250 Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Thu, 30 Mar 2017 12:42:04 -0500
60de42
Subject: [PATCH 3/5] Low: build: define constant for log directory
60de42
60de42
This defines CRM_LOG_DIR for (by default) /var/log/pacemaker. This will be used
60de42
as the location for container logs, and (when we are ready to make a
60de42
significant user-visible change) eventually for the main pacemaker log.
60de42
---
60de42
 configure.ac            | 4 ++++
60de42
 include/crm_config.h.in | 3 +++
60de42
 lib/common/logging.c    | 4 ++++
60de42
 mcp/corosync.c          | 7 +++++++
60de42
 4 files changed, 18 insertions(+)
60de42
60de42
diff --git a/configure.ac b/configure.ac
60de42
index 8ef503c..ee98f9b 100644
60de42
--- a/configure.ac
60de42
+++ b/configure.ac
60de42
@@ -1076,6 +1076,10 @@ CRM_STATE_DIR=${localstatedir}/run/crm
60de42
 AC_DEFINE_UNQUOTED(CRM_STATE_DIR,"$CRM_STATE_DIR", Where to keep state files and sockets)
60de42
 AC_SUBST(CRM_STATE_DIR)
60de42
 
60de42
+CRM_LOG_DIR="${localstatedir}/log/pacemaker"
60de42
+AC_DEFINE_UNQUOTED(CRM_LOG_DIR,"$CRM_LOG_DIR", Where Pacemaker can store log files)
60de42
+AC_SUBST(CRM_LOG_DIR)
60de42
+
60de42
 CRM_PACEMAKER_DIR=${localstatedir}/lib/pacemaker
60de42
 AC_DEFINE_UNQUOTED(CRM_PACEMAKER_DIR,"$CRM_PACEMAKER_DIR", Location to store directory produced by Pacemaker daemons)
60de42
 AC_SUBST(CRM_PACEMAKER_DIR)
60de42
diff --git a/include/crm_config.h.in b/include/crm_config.h.in
60de42
index 30cec80..7eb01d4 100755
60de42
--- a/include/crm_config.h.in
60de42
+++ b/include/crm_config.h.in
60de42
@@ -43,6 +43,9 @@
60de42
 
60de42
 /****** Directories ******/
60de42
 
60de42
+/* Where Pacemaker can store log files */
60de42
+#undef CRM_LOG_DIR
60de42
+
60de42
 /* Location for Pacemaker daemons */
60de42
 #undef CRM_DAEMON_DIR
60de42
 
60de42
diff --git a/lib/common/logging.c b/lib/common/logging.c
60de42
index b608143..b9a1c80 100644
60de42
--- a/lib/common/logging.c
60de42
+++ b/lib/common/logging.c
60de42
@@ -223,6 +223,10 @@ crm_add_logfile(const char *filename)
60de42
     bool is_default = false;
60de42
     static int default_fd = -1;
60de42
     static gboolean have_logfile = FALSE;
60de42
+
60de42
+    /* @COMPAT This should be CRM_LOG_DIR "/pacemaker.log". We aren't changing
60de42
+     * it yet because it will be a significant user-visible change to publicize.
60de42
+     */
60de42
     const char *default_logfile = "/var/log/pacemaker.log";
60de42
 
60de42
     struct stat parent;
60de42
diff --git a/mcp/corosync.c b/mcp/corosync.c
60de42
index 975b93c..7502da7 100644
60de42
--- a/mcp/corosync.c
60de42
+++ b/mcp/corosync.c
60de42
@@ -394,6 +394,13 @@ mcp_read_config(void)
60de42
         free(debug_enabled);
60de42
     }
60de42
 
60de42
+    /* If the user didn't explicitly configure a Pacemaker log file, check
60de42
+     * whether they configured a heartbeat or corosync log file, and use that.
60de42
+     *
60de42
+     * @COMPAT This should all go away, and we should just rely on the logging
60de42
+     * set up by crm_log_init(). We aren't doing this yet because it is a
60de42
+     * significant user-visible change that will need to be publicized.
60de42
+     */
60de42
     const_value = daemon_option("debugfile");
60de42
     if (daemon_option("logfile")) {
60de42
         /* File logging is already setup by crm_log_init() */
60de42
-- 
60de42
1.8.3.1
60de42
60de42
60de42
From eaa2f881fd7d52dd369a8daa1837a0977fa40d38 Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Thu, 30 Mar 2017 15:05:24 -0500
60de42
Subject: [PATCH 4/5] Low: libpe_status: change directory used for container
60de42
 logs
60de42
60de42
---
60de42
 lib/pengine/container.c | 2 +-
60de42
 1 file changed, 1 insertion(+), 1 deletion(-)
60de42
60de42
diff --git a/lib/pengine/container.c b/lib/pengine/container.c
60de42
index 722e534..e052879 100644
60de42
--- a/lib/pengine/container.c
60de42
+++ b/lib/pengine/container.c
60de42
@@ -609,7 +609,7 @@ container_unpack(resource_t * rsc, pe_working_set_t * data_set)
60de42
         container_data->mounts = g_list_append(container_data->mounts, mount);
60de42
 
60de42
         mount = calloc(1, sizeof(container_mount_t));
60de42
-        mount->source = strdup("/var/log/containers");
60de42
+        mount->source = strdup(CRM_LOG_DIR "/bundles");
60de42
         mount->target = strdup("/var/log");
60de42
         mount->options = NULL;
60de42
         mount->flags = 1;
60de42
-- 
60de42
1.8.3.1
60de42
60de42
60de42
From c1eb528bc077839148405cd0cca08e8b6f20b98a Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Thu, 30 Mar 2017 15:05:37 -0500
60de42
Subject: [PATCH 5/5] Low: logrotate: rotate pacemaker logs inside bundled
60de42
 containers
60de42
60de42
---
60de42
 extra/logrotate/pacemaker.in | 2 +-
60de42
 1 file changed, 1 insertion(+), 1 deletion(-)
60de42
60de42
diff --git a/extra/logrotate/pacemaker.in b/extra/logrotate/pacemaker.in
60de42
index d382433..2fae2bf 100644
60de42
--- a/extra/logrotate/pacemaker.in
60de42
+++ b/extra/logrotate/pacemaker.in
60de42
@@ -1,4 +1,4 @@
60de42
-@localstatedir@/log/pacemaker.log {
60de42
+@localstatedir@/log/pacemaker.log @CRM_LOG_DIR@/bundles/*/pacemaker.log {
60de42
     compress
60de42
     dateext
60de42
     weekly
60de42
-- 
60de42
1.8.3.1
60de42