pcp/SOURCES/redhat-bugzilla-2027753.patch

373 lines
13 KiB
Diff

diff -Naurp pcp-5.3.5.orig/src/pmie/GNUmakefile pcp-5.3.5/src/pmie/GNUmakefile
--- pcp-5.3.5.orig/src/pmie/GNUmakefile 2021-11-09 10:50:58.000000000 +1100
+++ pcp-5.3.5/src/pmie/GNUmakefile 2021-12-15 16:51:51.306200748 +1100
@@ -84,7 +84,6 @@ pmie.service : pmie.service.in
pmie_farm.service : pmie_farm.service.in
$(SED) <$< >$@ \
- -e 's;@CRONTAB_PATH@;'$(CRONTAB_PATH)';' \
-e 's;@PCP_SYSCONFIG_DIR@;'$(PCP_SYSCONFIG_DIR)';' \
-e 's;@PCP_BINADM_DIR@;'$(PCP_BINADM_DIR)';' \
-e 's;@PCP_VAR_DIR@;'$(PCP_VAR_DIR)';' \
@@ -95,7 +94,9 @@ pmie_farm.service : pmie_farm.service.in
pmie_farm_check.service : pmie_farm_check.service.in
$(SED) <$< >$@ \
+ -e 's;@CRONTAB_PATH@;'$(CRONTAB_PATH)';' \
-e 's;@PCP_BIN_DIR@;'$(PCP_BIN_DIR)';' \
+ -e 's;@PCP_VAR_DIR@;'$(PCP_VAR_DIR)';' \
# END
pmie_check.service : pmie_check.service.in
diff -Naurp pcp-5.3.5.orig/src/pmie/pmie_farm_check.service.in pcp-5.3.5/src/pmie/pmie_farm_check.service.in
--- pcp-5.3.5.orig/src/pmie/pmie_farm_check.service.in 2021-11-09 10:50:58.000000000 +1100
+++ pcp-5.3.5/src/pmie/pmie_farm_check.service.in 2021-12-15 16:51:51.306200748 +1100
@@ -1,7 +1,7 @@
[Unit]
-Description=Check and migrate non-primary pmie instances to pmie_farm
-Documentation=man:pmie_check(1)
-# TODO non-systemd ConditionPathExists=!/etc/cron.d/pcp-pmie
+Description=Check and migrate non-primary pmie farm instances
+Documentation=man:pmiectl(1)
+ConditionPathExists=!@CRONTAB_PATH@
[Service]
Type=exec
@@ -9,8 +9,7 @@ Restart=no
TimeoutStartSec=4h
TimeoutStopSec=120
ExecStart=@PCP_BIN_DIR@/pmiectl -m check
-WorkingDirectory=/var/lib/pcp
-
+WorkingDirectory=@PCP_VAR_DIR@
# root so pmiectl can migrate pmie processes to the pmie_farm service
Group=root
User=root
diff -Naurp pcp-5.3.5.orig/src/pmie/pmie_farm_check.timer pcp-5.3.5/src/pmie/pmie_farm_check.timer
--- pcp-5.3.5.orig/src/pmie/pmie_farm_check.timer 2021-11-04 08:26:15.000000000 +1100
+++ pcp-5.3.5/src/pmie/pmie_farm_check.timer 2021-12-15 16:51:49.649229430 +1100
@@ -1,10 +1,11 @@
[Unit]
-Description=5 minute check of pmie farm instances
+Description=Half-hourly check of pmie farm instances
[Timer]
-# if enabled, runs 1m after boot and every 5 mins
+# if enabled, runs 1m after boot and every half hour
OnBootSec=1min
-OnCalendar=*:00/5
+OnCalendar=*-*-* *:28:10
+OnCalendar=*-*-* *:58:10
[Install]
WantedBy=timers.target
diff -Naurp pcp-5.3.5.orig/src/pmie/pmie_farm.service.in pcp-5.3.5/src/pmie/pmie_farm.service.in
--- pcp-5.3.5.orig/src/pmie/pmie_farm.service.in 2021-11-04 08:26:15.000000000 +1100
+++ pcp-5.3.5/src/pmie/pmie_farm.service.in 2021-12-15 16:51:51.306200748 +1100
@@ -1,9 +1,8 @@
[Unit]
Description=pmie farm service
-Documentation=man:pmie(1)
-After=network-online.target pmcd.service
-Before=pmie_check.timer pmie_daily.timer
-BindsTo=pmie_farm_check.timer pmie_check.timer pmie_daily.timer
+Documentation=man:pmie_check(1)
+Before=pmie_farm_check.timer
+BindsTo=pmie_farm_check.timer
[Service]
Type=@SD_SERVICE_TYPE@
@@ -15,13 +14,9 @@ TimeoutStopSec=120
Environment="PMIE_CHECK_PARAMS=--skip-primary"
EnvironmentFile=-@PCP_SYSCONFIG_DIR@/pmie_timers
ExecStart=@PCP_BINADM_DIR@/pmie_farm $PMIE_CHECK_PARAMS
-
WorkingDirectory=@PCP_VAR_DIR@
Group=@PCP_GROUP@
User=@PCP_USER@
[Install]
-WantedBy=multi-user.target
-
-# This dependency will be removed in PCPv6.
-WantedBy=pmie.service
+RequiredBy=pmie.service
diff -Naurp pcp-5.3.5.orig/src/pmlogger/GNUmakefile pcp-5.3.5/src/pmlogger/GNUmakefile
--- pcp-5.3.5.orig/src/pmlogger/GNUmakefile 2021-11-09 09:08:40.000000000 +1100
+++ pcp-5.3.5/src/pmlogger/GNUmakefile 2021-12-15 16:51:51.306200748 +1100
@@ -99,7 +99,6 @@ pmlogger.service : pmlogger.service.in
pmlogger_farm.service : pmlogger_farm.service.in
$(SED) <$< >$@ \
- -e 's;@CRONTAB_PATH@;'$(CRONTAB_PATH)';' \
-e 's;@PCP_SYSCONFIG_DIR@;'$(PCP_SYSCONFIG_DIR)';' \
-e 's;@PCP_BINADM_DIR@;'$(PCP_BINADM_DIR)';' \
-e 's;@PCP_VAR_DIR@;'$(PCP_VAR_DIR)';' \
@@ -110,7 +109,9 @@ pmlogger_farm.service : pmlogger_farm.se
pmlogger_farm_check.service : pmlogger_farm_check.service.in
$(SED) <$< >$@ \
+ -e 's;@CRONTAB_PATH@;'$(CRONTAB_PATH)';' \
-e 's;@PCP_BIN_DIR@;'$(PCP_BIN_DIR)';' \
+ -e 's;@PCP_VAR_DIR@;'$(PCP_VAR_DIR)';' \
# END
pmlogger_daily.service : pmlogger_daily.service.in
diff -Naurp pcp-5.3.5.orig/src/pmlogger/pmlogger_farm_check.service.in pcp-5.3.5/src/pmlogger/pmlogger_farm_check.service.in
--- pcp-5.3.5.orig/src/pmlogger/pmlogger_farm_check.service.in 2021-11-09 09:08:40.000000000 +1100
+++ pcp-5.3.5/src/pmlogger/pmlogger_farm_check.service.in 2021-12-15 16:51:51.307200731 +1100
@@ -1,7 +1,7 @@
[Unit]
-Description=Check and migrate non-primary pmlogger instances to pmlogger_farm
-Documentation=man:pmlogger_check(1)
-# TODO non-systemd ConditionPathExists=!/etc/cron.d/pcp-pmlogger
+Description=Check and migrate non-primary pmlogger farm instances
+Documentation=man:pmlogctl(1)
+ConditionPathExists=!@CRONTAB_PATH@
[Service]
Type=exec
@@ -9,9 +9,8 @@ Restart=no
TimeoutStartSec=4h
TimeoutStopSec=120
ExecStart=@PCP_BIN_DIR@/pmlogctl -m check
-WorkingDirectory=/var/lib/pcp
-
-# root so pmlogctl can migrate pmloggers to the pmlogger_farm service
+WorkingDirectory=@PCP_VAR_DIR@
+# root so pmlogctl can migrate pmlogger processes to the pmlogger_farm service
Group=root
User=root
diff -Naurp pcp-5.3.5.orig/src/pmlogger/pmlogger_farm_check.timer pcp-5.3.5/src/pmlogger/pmlogger_farm_check.timer
--- pcp-5.3.5.orig/src/pmlogger/pmlogger_farm_check.timer 2021-11-04 08:26:15.000000000 +1100
+++ pcp-5.3.5/src/pmlogger/pmlogger_farm_check.timer 2021-12-15 16:51:49.649229430 +1100
@@ -1,10 +1,11 @@
[Unit]
-Description=5 minute check of pmlogger farm instances
+Description=Half-hourly check of pmlogger farm instances
[Timer]
-# if enabled, runs 1m after boot and every 5 mins
+# if enabled, runs 1m after boot and every half hour
OnBootSec=1min
-OnCalendar=*:00/5
+OnCalendar=*-*-* *:25:10
+OnCalendar=*-*-* *:55:10
[Install]
WantedBy=timers.target
diff -Naurp pcp-5.3.5.orig/src/pmlogger/pmlogger_farm.service.in pcp-5.3.5/src/pmlogger/pmlogger_farm.service.in
--- pcp-5.3.5.orig/src/pmlogger/pmlogger_farm.service.in 2021-11-04 08:26:15.000000000 +1100
+++ pcp-5.3.5/src/pmlogger/pmlogger_farm.service.in 2021-12-15 16:51:51.306200748 +1100
@@ -1,9 +1,8 @@
[Unit]
Description=pmlogger farm service
-Documentation=man:pmlogger(1)
-After=network-online.target pmcd.service
-Before=pmlogger_check.timer pmlogger_daily.timer
-BindsTo=pmlogger_farm_check.timer pmlogger_check.timer pmlogger_daily.timer
+Documentation=man:pmlogger_check(1)
+Before=pmlogger_farm_check.timer
+BindsTo=pmlogger_farm_check.timer
[Service]
Type=@SD_SERVICE_TYPE@
@@ -15,13 +14,9 @@ TimeoutStopSec=120
Environment="PMLOGGER_CHECK_PARAMS=--skip-primary"
EnvironmentFile=-@PCP_SYSCONFIG_DIR@/pmlogger_timers
ExecStart=@PCP_BINADM_DIR@/pmlogger_farm $PMLOGGER_CHECK_PARAMS
-
WorkingDirectory=@PCP_VAR_DIR@
Group=@PCP_GROUP@
User=@PCP_USER@
[Install]
-WantedBy=multi-user.target
-
-# This dependency will be removed in PCPv6.
-WantedBy=pmlogger.service
+RequiredBy=pmlogger.service
commit 7d6e266d0a15ba0fd0894a059257a502f19b7fe9
Author: Nathan Scott <nathans@redhat.com>
Date: Thu Dec 16 17:38:33 2021 +1100
pmlogger/pmie farms: further consistency changes and hard dep fix
Several inconsistencies between various pmie/pmlogger systemd units
resolved. Most importantly, add BindsTo lines to ensure the farms
get started and stopped along with the underlying service, always.
diff --git a/src/pmie/pmie.service.in b/src/pmie/pmie.service.in
index d234c8a5e5..d659c39c65 100644
--- a/src/pmie/pmie.service.in
+++ b/src/pmie/pmie.service.in
@@ -2,8 +2,8 @@
Description=Performance Metrics Inference Engine
Documentation=man:pmie(1)
After=network-online.target pmcd.service
-Before=pmie_check.timer pmie_daily.timer
-BindsTo=pmie_check.timer pmie_daily.timer
+Before=pmie_farm.service pmie_check.timer pmie_daily.timer
+BindsTo=pmie_farm.service pmie_check.timer pmie_daily.timer
Wants=pmcd.service
[Service]
diff --git a/src/pmie/pmie_daily.service.in b/src/pmie/pmie_daily.service.in
index e93446ce83..ca49945905 100644
--- a/src/pmie/pmie_daily.service.in
+++ b/src/pmie/pmie_daily.service.in
@@ -2,13 +2,18 @@
Description=Process PMIE logs
Documentation=man:pmie_daily(1)
ConditionPathExists=!@CRONTAB_PATH@
+PartOf=pmie.service
[Service]
Type=@SD_SERVICE_TYPE@
Restart=no
+TimeoutStartSec=1h
Environment="PMIE_DAILY_PARAMS=-X xz -x 3"
EnvironmentFile=-@PCP_SYSCONFIG_DIR@/pmie_timers
ExecStart=@PCP_BINADM_DIR@/pmie_daily $PMIE_DAILY_PARAMS
WorkingDirectory=@PCP_VAR_DIR@
Group=@PCP_GROUP@
User=@PCP_USER@
+
+[Install]
+RequiredBy=pmie.service
diff --git a/src/pmie/pmie_daily.timer b/src/pmie/pmie_daily.timer
index 42b86333be..67742a070e 100644
--- a/src/pmie/pmie_daily.timer
+++ b/src/pmie/pmie_daily.timer
@@ -1,7 +1,9 @@
[Unit]
Description=Daily processing of PMIE logs
+PartOf=pmie.service
[Timer]
+Persistent=true
OnCalendar=*-*-* 00:08:00
[Install]
diff --git a/src/pmie/pmie_farm.service.in b/src/pmie/pmie_farm.service.in
index 0f7e7e46b8..e119388b4b 100644
--- a/src/pmie/pmie_farm.service.in
+++ b/src/pmie/pmie_farm.service.in
@@ -3,6 +3,7 @@ Description=pmie farm service
Documentation=man:pmie_check(1)
Before=pmie_farm_check.timer
BindsTo=pmie_farm_check.timer
+PartOf=pmie.service
[Service]
Type=@SD_SERVICE_TYPE@
diff --git a/src/pmie/pmie_farm.sh b/src/pmie/pmie_farm.sh
index f2771ad43b..400e790cae 100644
--- a/src/pmie/pmie_farm.sh
+++ b/src/pmie/pmie_farm.sh
@@ -12,8 +12,8 @@
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
-# Administrative script to start the pmlogger_farm service.
-# All arguments to pmlogger_check are passed from pmlogger_farm.service.
+# Administrative script to start the pmie_farm service.
+# All arguments to pmie_check are passed from pmie_farm.service.
#
. $PCP_DIR/etc/pcp.env
diff --git a/src/pmie/pmie_farm_check.service.in b/src/pmie/pmie_farm_check.service.in
index 64f822ad53..01d83390a9 100644
--- a/src/pmie/pmie_farm_check.service.in
+++ b/src/pmie/pmie_farm_check.service.in
@@ -2,6 +2,7 @@
Description=Check and migrate non-primary pmie farm instances
Documentation=man:pmiectl(1)
ConditionPathExists=!@CRONTAB_PATH@
+PartOf=pmie_farm.service
[Service]
Type=exec
diff --git a/src/pmlogger/pmlogger.service.in b/src/pmlogger/pmlogger.service.in
index de0df29db1..b0d706027a 100644
--- a/src/pmlogger/pmlogger.service.in
+++ b/src/pmlogger/pmlogger.service.in
@@ -2,8 +2,8 @@
Description=Performance Metrics Archive Logger
Documentation=man:pmlogger(1)
After=network-online.target pmcd.service
-Before=pmlogger_check.timer pmlogger_daily.timer
-BindsTo=pmlogger_check.timer pmlogger_daily.timer
+Before=pmlogger_farm.service pmlogger_check.timer pmlogger_daily.timer
+BindsTo=pmlogger_farm.service pmlogger_check.timer pmlogger_daily.timer
Wants=pmcd.service
[Service]
diff --git a/src/pmlogger/pmlogger_check.service.in b/src/pmlogger/pmlogger_check.service.in
index 8fcef57e0f..db7edf0b0f 100644
--- a/src/pmlogger/pmlogger_check.service.in
+++ b/src/pmlogger/pmlogger_check.service.in
@@ -2,6 +2,7 @@
Description=Check pmlogger instances are running
Documentation=man:pmlogger_check(1)
ConditionPathExists=!@CRONTAB_PATH@
+PartOf=pmlogger.service
[Service]
Type=@SD_SERVICE_TYPE@
diff --git a/src/pmlogger/pmlogger_check.timer b/src/pmlogger/pmlogger_check.timer
index e3f3c4fc40..ddffc7584a 100644
--- a/src/pmlogger/pmlogger_check.timer
+++ b/src/pmlogger/pmlogger_check.timer
@@ -1,5 +1,6 @@
[Unit]
Description=Half-hourly check of pmlogger instances
+PartOf=pmlogger.service
[Timer]
# if enabled, runs 1m after boot and every half hour
diff --git a/src/pmlogger/pmlogger_daily.service.in b/src/pmlogger/pmlogger_daily.service.in
index 8a07f5caa3..9a3cbf42b1 100644
--- a/src/pmlogger/pmlogger_daily.service.in
+++ b/src/pmlogger/pmlogger_daily.service.in
@@ -2,6 +2,7 @@
Description=Process archive logs
Documentation=man:pmlogger_daily(1)
ConditionPathExists=!@CRONTAB_PATH@
+PartOf=pmlogger.service
[Service]
Type=@SD_SERVICE_TYPE@
@@ -13,3 +14,6 @@ ExecStart=@PCP_BINADM_DIR@/pmlogger_daily $PMLOGGER_DAILY_PARAMS
WorkingDirectory=@PCP_VAR_DIR@
Group=@PCP_GROUP@
User=@PCP_USER@
+
+[Install]
+RequiredBy=pmlogger.service
diff --git a/src/pmlogger/pmlogger_farm.service.in b/src/pmlogger/pmlogger_farm.service.in
index a194ac39c7..a67e25f312 100644
--- a/src/pmlogger/pmlogger_farm.service.in
+++ b/src/pmlogger/pmlogger_farm.service.in
@@ -3,6 +3,7 @@ Description=pmlogger farm service
Documentation=man:pmlogger_check(1)
Before=pmlogger_farm_check.timer
BindsTo=pmlogger_farm_check.timer
+PartOf=pmlogger.service
[Service]
Type=@SD_SERVICE_TYPE@
diff --git a/src/pmlogger/pmlogger_farm_check.service.in b/src/pmlogger/pmlogger_farm_check.service.in
index 2ec3a5446b..de5e59a7f5 100644
--- a/src/pmlogger/pmlogger_farm_check.service.in
+++ b/src/pmlogger/pmlogger_farm_check.service.in
@@ -2,6 +2,7 @@
Description=Check and migrate non-primary pmlogger farm instances
Documentation=man:pmlogctl(1)
ConditionPathExists=!@CRONTAB_PATH@
+PartOf=pmlogger_farm.service
[Service]
Type=exec