Hello community, here is the log from the commit of package pcp for openSUSE:Factory checked in at 2019-01-15 13:15:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pcp (Old) and /work/SRC/openSUSE:Factory/.pcp.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pcp" Tue Jan 15 13:15:53 2019 rev:45 rq:663756 version:4.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/pcp/pcp.changes 2018-10-04 18:59:40.279317888 +0200 +++ /work/SRC/openSUSE:Factory/.pcp.new.28833/pcp.changes 2019-01-15 13:16:16.440362544 +0100 @@ -1,0 +2,24 @@ +Tue Jan 8 14:54:12 UTC 2019 - Jan Engelhardt <[email protected]> + +- Combine systemd service calls to save on macro + generated boilerplate. + +------------------------------------------------------------------- +Mon Jan 7 15:36:54 UTC 2019 - [email protected] + +- Use systemd timers instead of crontab; (bsc#1115413). + + 0007-pmie-add-systemd-timers-as-cron-alternative.patch + + 0008-pmlogger_daily-add-systemd-timers-as-cron-alternativ.patch + + 0009-pmlogger_daily_report-add-systemd-timers-as-cron-alt.patch + +------------------------------------------------------------------- +Fri Dec 7 14:31:07 UTC 2018 - [email protected] + +- Upgrade to 4.2.0 (fate#326865) + +- python package dependency changes + + add setuptools and python-requests + + fix python-jsonpointer + + disable pcp-pmda-postgresql due to missing psycopg2 dependency + +------------------------------------------------------------------- Old: ---- pcp-4.1.1.tar.gz New: ---- 0007-pmie-add-systemd-timers-as-cron-alternative.patch 0008-pmlogger_daily-add-systemd-timers-as-cron-alternativ.patch 0009-pmlogger_daily_report-add-systemd-timers-as-cron-alt.patch pcp-4.2.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pcp.spec ++++++ --- /var/tmp/diff_new_pack.VSSU4i/_old 2019-01-15 13:16:17.460361742 +0100 +++ /var/tmp/diff_new_pack.VSSU4i/_new 2019-01-15 13:16:17.464361739 +0100 @@ -1,7 +1,7 @@ # # spec file for package pcp # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -73,12 +73,12 @@ License: %{license_gplv2plus} AND %{license_lgplv2plus} AND %{license_cc_by} Group: %{pcp_gr} Name: pcp -Version: 4.1.1 +Version: 4.2.0 Release: 0 %global buildversion 1 Url: http://www.pcp.io -Source0: pcp-%{version}.tar.gz +Source0: pcp-%{version}.tar.bz2 %if 0%{?suse_version} Source2: pcp-rpmlintrc %endif @@ -95,6 +95,12 @@ Patch5: 0005-SUSE-fy-pmsnap-control-path.patch # PATCH-FIX-OPENSUSE, [email protected] Patch6: 0006-pmsnap-control-var-www-srv-www.patch +# PATCH-FIX-UPSTREAM, [email protected] +Patch7: 0007-pmie-add-systemd-timers-as-cron-alternative.patch +# PATCH-FIX-UPSTREAM, [email protected] +Patch8: 0008-pmlogger_daily-add-systemd-timers-as-cron-alternativ.patch +# PATCH-FIX-UPSTREAM, [email protected] +Patch9: 0009-pmlogger_daily_report-add-systemd-timers-as-cron-alt.patch %if 0%{?fedora} || 0%{?rhel} %global disable_selinux 0 @@ -126,17 +132,10 @@ %global disable_cairo 0 %global disable_python2 0 -# Default for epel5 is python24, so use the (optional) python26 packages -%if 0%{?rhel} == 5 -%global default_python 26 -%endif # No python3 development environment before el8 %if 0%{?rhel} == 0 || 0%{?rhel} > 7 %global disable_python3 0 # Do we wish to mandate python3 use in pcp? (f22+ and el8+) -%if 0%{?fedora} >= 22 || 0%{?rhel} > 7 -%global default_python 3 -%endif %else %global disable_python3 1 %endif @@ -146,6 +145,12 @@ %global disable_python3 1 %endif +%if 0%{?fedora} >= 26 || 0%{?rhel} > 7 || 0%{?sle_version} > 150000 +%global __python2 python2 +%else +%global __python2 python +%endif + # support for pmdajson %if 0%{?rhel} == 0 || 0%{?rhel} > 6 %if !%{disable_python2} || !%{disable_python3} @@ -207,8 +212,8 @@ %global disable_libvirt 0 %endif -%if 0%{?sle_version} && 0%{?sle_version} <= 120300 -# SUSE doesn't currently ship the perl-DBD-Pg dependency +%if 0%{?suse_version} +# SUSE doesn't currently ship the python psycopg2 dependency %global disable_postgresql 1 %else %global disable_postgresql 0 @@ -249,7 +254,6 @@ %endif BuildRequires: perl BuildRequires: procps -BuildRequires: python-devel BuildRequires: rpm-devel BuildRequires: perl(JSON) BuildRequires: perl(LWP::UserAgent) @@ -312,7 +316,9 @@ PreReq: permissions %endif Requires: bash +%if %{disable_systemd} Requires: cron +%endif Requires: fileutils Requires: findutils Requires: gawk @@ -325,15 +331,15 @@ Requires: cyrus-sasl Requires: sysconfig # pmatop needs curses.py -Requires: python-curses +Requires: %{__python2}-curses %else Requires: initscripts %endif +Requires: %{__python2}-pcp = %{version}-%{release} Requires: %{lib_pkg} = %{version}-%{release} Requires: perl-PCP-PMDA = %{version}-%{release} Requires: python -Requires: python-pcp = %{version}-%{release} Obsoletes: pcp-pmda-nvidia < %{version} %global tapsetdir %{_datadir}/systemtap/tapset @@ -810,7 +816,7 @@ %if !%{disable_python3} Requires: python3-pcp = %{version}-%{release} %else -Requires: python-pcp = %{version}-%{release} +Requires: %{__python2}-pcp = %{version}-%{release} %endif %description export-pcp2graphite @@ -830,9 +836,11 @@ %if !%{disable_python3} Requires: python3-pcp = %{version}-%{release} Requires: python3-requests +BuildRequires: python3-requests %else -Requires: python-pcp = %{version}-%{release} -Requires: python-requests +Requires: %{__python2}-pcp = %{version}-%{release} +Requires: %{__python2}-requests +BuildRequires: %{__python2}-requests %endif %description export-pcp2influxdb @@ -1336,11 +1344,15 @@ License: %{license_gplv2plus} Group: %{pcp_gr} Url: http://www.pcp.io -Requires: perl-PCP-PMDA = %{version}-%{release} -Requires: perl(DBD::Pg) -Requires: perl(DBI) -BuildRequires: perl(DBD::Pg) -BuildRequires: perl(DBI) +%if !%{disable_python3} +Requires: python3-pcp +Requires: python3-psycopg2 +BuildRequires: python3-psycopg2 +%else +Requires: %{__python2}-pcp +Requires: %{__python2}-psycopg2 +BuildRequires: %{__python2}-psycopg2 +%endif Supplements: pcp %description pmda-postgresql @@ -1480,7 +1492,7 @@ %if !%{disable_python3} Requires: python3-pcp %else -Requires: python-pcp +Requires: %{__python2}-pcp %endif %description pmda-gluster This package contains the PCP Performance Metrics Domain Agent (PMDA) for @@ -1498,7 +1510,7 @@ %if !%{disable_python3} Requires: python3-pcp %else -Requires: python-pcp +Requires: %{__python2}-pcp %endif %description pmda-zswap This package contains the PCP Performance Metrics Domain Agent (PMDA) for @@ -1516,7 +1528,7 @@ %if !%{disable_python3} Requires: python3-pcp %else -Requires: python-pcp +Requires: %{__python2}-pcp %endif %description pmda-unbound This package contains the PCP Performance Metrics Domain Agent (PMDA) for @@ -1534,7 +1546,7 @@ %if !%{disable_python3} Requires: python3-pcp %else -Requires: python-pcp +Requires: %{__python2}-pcp %endif %description pmda-mic This package contains the PCP Performance Metrics Domain Agent (PMDA) for @@ -1556,9 +1568,9 @@ Requires: python3-pcp BuildRequires: libvirt-python3 %else +Requires: %{__python2}-lxml +Requires: %{__python2}-pcp Requires: libvirt-python -Requires: python-lxml -Requires: python-pcp %if 0%{?rhel} == 0 || 0%{?rhel} > 5 BuildRequires: libvirt-python %endif @@ -1587,11 +1599,11 @@ Requires: python3-rtslib %endif %else # !%{disable_python3} -Requires: python-pcp +Requires: %{__python2}-pcp %if 0%{?suse_version} -Requires: python-rtslib-fb +Requires: %{__python2}-rtslib-fb %else -Requires: python-rtslib +Requires: %{__python2}-rtslib %endif %endif # !%{disable_python3} %description pmda-lio @@ -1618,19 +1630,14 @@ Requires: python3-pcp Requires: python3-six BuildRequires: python3-six -%if 0%{?suse_version} -Requires: python-jsonpointer -BuildRequires: python-jsonpointer -%else Requires: python3-jsonpointer BuildRequires: python3-jsonpointer -%endif %else -Requires: python-jsonpointer -Requires: python-pcp -Requires: python-six -BuildRequires: python-jsonpointer -BuildRequires: python-six +Requires: %{__python2}-jsonpointer +Requires: %{__python2}-pcp +Requires: %{__python2}-six +BuildRequires: %{__python2}-jsonpointer +BuildRequires: %{__python2}-six %endif %description pmda-json This package contains the PCP Performance Metrics Domain Agent (PMDA) for @@ -1973,22 +1980,24 @@ # # python-pcp. This is the PCP library bindings for python. # -%package -n python-pcp +%package -n %{__python2}-pcp Summary: Performance Co-Pilot (PCP) Python bindings and documentation License: %{license_gplv2plus} Group: Development/Libraries Url: http://www.pcp.io +BuildRequires: %{__python2}-devel %if !0%{?suse_version} Requires: %{lib_pkg} = %{version}-%{release} %endif +Requires: %{__python2} Requires: pcp = %{version}-%{release} -%if 0%{?rhel} == 5 -Requires: python%{default_python} -%else -Requires: python +BuildRequires: %{__python2}-setuptools +%if 0%{?fedora} >= 26 || 0%{?rhel} > 7 || 0%{?sle_version} > 150000 +# on these platforms, python2-pcp replaces python-pcp +Obsoletes: python-pcp %endif -%description -n python-pcp +%description -n %{__python2}-pcp This python PCP module contains the language bindings for Performance Metric API (PMAPI) monitor tools and Performance Metric Domain Agent (PMDA) collector tools written in Python. @@ -2006,6 +2015,7 @@ Requires: %{lib_pkg} = %{version}-%{release} %endif Requires: python3 +BuildRequires: python3-setuptools %description -n python3-pcp This python PCP module contains the language bindings for @@ -2026,7 +2036,7 @@ Requires: python3-pcp = %{version}-%{release} %endif %if !%{disable_python2} -Requires: python-pcp = %{version}-%{release} +Requires: %{__python2}-pcp = %{version}-%{release} %endif %if !0%{?suse_version} Requires: %{lib_pkg} = %{version}-%{release} @@ -2115,6 +2125,9 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 autoconf @@ -2507,15 +2520,8 @@ then # stop daemons before erasing the package %if !%{disable_systemd} - systemctl --no-reload disable pmlogger.service >/dev/null 2>&1 - systemctl --no-reload disable pmie.service >/dev/null 2>&1 - systemctl --no-reload disable pmproxy.service >/dev/null 2>&1 - systemctl --no-reload disable pmcd.service >/dev/null 2>&1 - - systemctl stop pmlogger.service >/dev/null 2>&1 - systemctl stop pmie.service >/dev/null 2>&1 - systemctl stop pmproxy.service >/dev/null 2>&1 - systemctl stop pmcd.service >/dev/null 2>&1 + systemctl --no-reload disable pmlogger pmie pmproxy pmcd >/dev/null 2>&1 + systemctl stop pmlogger pmie pmproxy pmcd >/dev/null 2>&1 %else /sbin/service pmlogger stop >/dev/null 2>&1 /sbin/service pmie stop >/dev/null 2>&1 @@ -2640,10 +2646,7 @@ %{fillup_only -n pmcd} %{fillup_only -n pmlogger} %{fillup_only -n pmproxy} -%service_add_post pmcd -%service_add_post pmlogger -%service_add_post pmie -%service_add_post pmproxy +%service_add_post pmcd pmlogger pmie pmproxy pmie_check.timer pmie_daily.timer pmlogger_daily.timer pmlogger_daily_check.timer pmlogger_daily_poll.timer pmlogger_daily_report.timer pmlogger_daily_report_poll.timer %else %{fillup_and_insserv pmcd} %{fillup_and_insserv pmlogger} @@ -2652,10 +2655,7 @@ %endif %else %if !%{disable_systemd} - systemctl condrestart pmcd.service >/dev/null 2>&1 - systemctl condrestart pmlogger.service >/dev/null 2>&1 - systemctl condrestart pmie.service >/dev/null 2>&1 - systemctl condrestart pmproxy.service >/dev/null 2>&1 + systemctl condrestart pmcd pmlogger pmie pmproxy >/dev/null 2>&1 %else /sbin/chkconfig --add pmcd >/dev/null 2>&1 /sbin/service pmcd condrestart @@ -2726,7 +2726,7 @@ %postun /sbin/ldconfig %if !%{disable_systemd} -%service_del_postun pcp pmproxy pmie +%service_del_postun pmcd pmlogger pmproxy pmie pmie_check.timer pmie_daily.timer pmlogger_daily.timer pmlogger_daily_check.timer pmlogger_daily_poll.timer pmlogger_daily_report.timer pmlogger_daily_report_poll.timer %else %{?restart_on_update:%{restart_on_update pcp pmproxy pmie}} %{?insserv_cleanup:%{insserv_cleanup}} @@ -2808,9 +2808,26 @@ %endif %dir %{_sysconfdir}/sasl2 %config(noreplace) %{_sysconfdir}/sasl2/pmcd.conf +%if %{disable_systemd} %config(noreplace) %{_sysconfdir}/cron.d/pcp-pmlogger %config(noreplace) %{_sysconfdir}/cron.d/pcp-pmlogger-daily-report %config(noreplace) %{_sysconfdir}/cron.d/pcp-pmie +%else +%{_unitdir}/pmie_check.service +%{_unitdir}/pmie_check.timer +%{_unitdir}/pmie_daily.service +%{_unitdir}/pmie_daily.timer +%{_unitdir}/pmlogger_daily.service +%{_unitdir}/pmlogger_daily.timer +%{_unitdir}/pmlogger_daily_check.service +%{_unitdir}/pmlogger_daily_check.timer +%{_unitdir}/pmlogger_daily_poll.service +%{_unitdir}/pmlogger_daily_poll.timer +%{_unitdir}/pmlogger_daily_report.service +%{_unitdir}/pmlogger_daily_report.timer +%{_unitdir}/pmlogger_daily_report_poll.service +%{_unitdir}/pmlogger_daily_report_poll.timer +%endif %if 0%{?suse_version} %{_fillupdir}/sysconfig.pmlogger %{_fillupdir}/sysconfig.pmproxy @@ -2941,10 +2958,6 @@ %files manager %defattr(-,root,root) -%if 0%{?suse_version} -%dir %{_confdir}/pmmgr -%{_confdir}/pmmgr -%endif %{_initddir}/pmmgr %if !%{disable_systemd} %{_unitdir}/pmmgr.service @@ -2953,6 +2966,7 @@ %{_libexecdir}/pcp/bin/pmmgr %attr(0775,pcp,pcp) %{_logsdir}/pmmgr %dir %{_confdir}/pmmgr +%{_confdir}/pmmgr %config(noreplace) %{_confdir}/pmmgr/pmmgr.options %files import-sar2pcp @@ -3236,7 +3250,7 @@ %endif %if !%{disable_python2} -%files -n python-pcp -f python-pcp.list.rpm +%files -n %{__python2}-pcp -f python-pcp.list.rpm %defattr(-,root,root) %if 0%{?suse_version} %{python_sitearch}/*.so ++++++ 0007-pmie-add-systemd-timers-as-cron-alternative.patch ++++++ >From 7264f3bee5f1c9bf2fc666ca2a862c25b1173992 Mon Sep 17 00:00:00 2001 From: David Disseldorp <[email protected]> Date: Mon, 7 Jan 2019 01:27:54 +0100 Subject: [PATCH] pmie: add systemd timers as cron alternative The pmie_check and pmie_daily check timer/service files are installed by default with ENABLE_SYSTEMD. crontab.docker is kept as-is. Signed-off-by: David Disseldorp <[email protected]> --- src/pmie/GNUmakefile | 22 ++++++++++++++++++++-- src/pmie/pmie_check.service.in | 8 ++++++++ src/pmie/pmie_check.timer | 10 ++++++++++ src/pmie/pmie_daily.service.in | 8 ++++++++ src/pmie/pmie_daily.timer | 8 ++++++++ 5 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 src/pmie/pmie_check.service.in create mode 100644 src/pmie/pmie_check.timer create mode 100644 src/pmie/pmie_daily.service.in create mode 100644 src/pmie/pmie_daily.timer diff --git a/src/pmie/GNUmakefile b/src/pmie/GNUmakefile index e27f2968d..11f472c11 100644 --- a/src/pmie/GNUmakefile +++ b/src/pmie/GNUmakefile @@ -18,7 +18,7 @@ include $(TOPDIR)/src/include/builddefs SUBDIRS = src examples OTHERS = control stomp rc_pmie pmie2col.sh pmie_check.sh pmie_daily.sh -LDIRT = crontab crontab.docker pmie.service +LDIRT = crontab crontab.docker pmie.service pmie_daily.service pmie_check.service ifeq ($(TARGET_OS),linux) CRONTAB_USER = $(PCP_USER) @@ -28,7 +28,7 @@ CRONTAB_USER = CRONTAB_PATH = $(PCP_SYSCONF_DIR)/pmie/crontab endif -default:: crontab crontab.docker pmie.service +default:: crontab crontab.docker pmie.service pmie_daily.service pmie_check.service default:: $(SUBDIRS) $(SUBDIRS_MAKERULE) @@ -50,6 +50,10 @@ endif $(INSTALL) -m 755 rc_pmie $(PCP_RC_DIR)/pmie ifeq ($(ENABLE_SYSTEMD),true) $(INSTALL) -m 644 pmie.service $(PCP_SYSTEMDUNIT_DIR)/pmie.service + $(INSTALL) -m 644 pmie_daily.timer $(PCP_SYSTEMDUNIT_DIR)/pmie_daily.timer + $(INSTALL) -m 644 pmie_daily.service $(PCP_SYSTEMDUNIT_DIR)/pmie_daily.service + $(INSTALL) -m 644 pmie_check.timer $(PCP_SYSTEMDUNIT_DIR)/pmie_check.timer + $(INSTALL) -m 644 pmie_check.service $(PCP_SYSTEMDUNIT_DIR)/pmie_check.service endif $(INSTALL) -m 775 -o $(PCP_USER) -g $(PCP_GROUP) -d $(PCP_LOG_DIR)/pmie $(INSTALL) -m 775 -o $(PCP_USER) -g $(PCP_GROUP) -d $(PCP_TMP_DIR)/pmie @@ -61,7 +65,9 @@ ifeq ($(TARGET_OS),linux) $(INSTALL) -m 755 -d $(PCP_LOG_DIR)/pmie $(INSTALL) -m 1777 -d $(PCP_TMP_DIR)/pmie endif +ifneq ($(ENABLE_SYSTEMD),true) $(INSTALL) -m 644 crontab $(CRONTAB_PATH) +endif include $(BUILDRULES) @@ -72,6 +78,18 @@ install_pcp : install pmie.service : pmie.service.in $(SED) -e 's;@path@;'$(PCP_RC_DIR)';' <$< >$@ +pmie_check.service : pmie_check.service.in + $(SED) <$< >$@ \ + -e 's;@PCP_BINADM_DIR@;'$(PCP_BINADM_DIR)';' \ + -e 's;@PCP_USER@;'$(PCP_USER)';' \ + # END + +pmie_daily.service : pmie_daily.service.in + $(SED) <$< >$@ \ + -e 's;@PCP_BINADM_DIR@;'$(PCP_BINADM_DIR)';' \ + -e 's;@PCP_USER@;'$(PCP_USER)';' \ + # END + crontab: crontab.in $(SED) -e 's;@user@;'$(CRONTAB_USER)';' -e 's;@path@;'$(PCP_BINADM_DIR)';g' $< > $@ diff --git a/src/pmie/pmie_check.service.in b/src/pmie/pmie_check.service.in new file mode 100644 index 000000000..f216f7a67 --- /dev/null +++ b/src/pmie/pmie_check.service.in @@ -0,0 +1,8 @@ +[Unit] +Description=Check PMIE instances are running +Documentation=man:pmie(1) + +[Service] +Type=oneshot +ExecStart=@PCP_BINADM_DIR@/pmie_check -C +User=@PCP_USER@ diff --git a/src/pmie/pmie_check.timer b/src/pmie/pmie_check.timer new file mode 100644 index 000000000..ae91a192b --- /dev/null +++ b/src/pmie/pmie_check.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Half-hourly check of PMIE instances + +[Timer] +OnCalendar=*-*-* *:28:00 +OnCalendar=*-*-* *:58:00 + +[Install] +WantedBy=timers.target + diff --git a/src/pmie/pmie_daily.service.in b/src/pmie/pmie_daily.service.in new file mode 100644 index 000000000..ea933da4b --- /dev/null +++ b/src/pmie/pmie_daily.service.in @@ -0,0 +1,8 @@ +[Unit] +Description=Process PMIE logs +Documentation=man:pmie(1) + +[Service] +Type=oneshot +ExecStart=@PCP_BINADM_DIR@/pmie_daily -X xz -x 3 +User=@PCP_USER@ diff --git a/src/pmie/pmie_daily.timer b/src/pmie/pmie_daily.timer new file mode 100644 index 000000000..e36b79990 --- /dev/null +++ b/src/pmie/pmie_daily.timer @@ -0,0 +1,8 @@ +[Unit] +Description=Daily processing of PMIE logs + +[Timer] +OnCalendar=*-*-* 00:08:00 + +[Install] +WantedBy=timers.target -- 2.13.7 ++++++ 0008-pmlogger_daily-add-systemd-timers-as-cron-alternativ.patch ++++++ >From 4482bde0673fe1e548060a5c7ef6f58cf43209c3 Mon Sep 17 00:00:00 2001 From: David Disseldorp <[email protected]> Date: Mon, 7 Jan 2019 02:07:01 +0100 Subject: [PATCH] pmlogger_daily: add systemd timers as cron alternative The timer and service files are installed by default with ENABLE_SYSTEMD. crontab.docker is kept as-is. Signed-off-by: David Disseldorp <[email protected]> --- src/pmlogger/GNUmakefile | 32 ++++++++++++++++++++++++++-- src/pmlogger/pmlogger_daily.service.in | 8 +++++++ src/pmlogger/pmlogger_daily.timer | 8 +++++++ src/pmlogger/pmlogger_daily_check.service.in | 8 +++++++ src/pmlogger/pmlogger_daily_check.timer | 9 ++++++++ src/pmlogger/pmlogger_daily_poll.service.in | 8 +++++++ src/pmlogger/pmlogger_daily_poll.timer | 8 +++++++ 7 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 src/pmlogger/pmlogger_daily.service.in create mode 100644 src/pmlogger/pmlogger_daily.timer create mode 100644 src/pmlogger/pmlogger_daily_check.service.in create mode 100644 src/pmlogger/pmlogger_daily_check.timer create mode 100644 src/pmlogger/pmlogger_daily_poll.service.in create mode 100644 src/pmlogger/pmlogger_daily_poll.timer diff --git a/src/pmlogger/GNUmakefile b/src/pmlogger/GNUmakefile index 75af514d5..942458e1f 100644 --- a/src/pmlogger/GNUmakefile +++ b/src/pmlogger/GNUmakefile @@ -20,7 +20,9 @@ SUBDIRS = src OTHERS = pmnewlog.sh control rc_pmlogger \ pmlogger_daily.sh pmlogger_check.sh pmlogger_merge.sh pmlogmv.sh \ pmlogger_daily_report.sh pmlogger_rewrite.sh -LDIRT = crontab crontab.docker crontab.daily_report pmlogger.service +LDIRT = crontab crontab.docker crontab.daily_report pmlogger.service \ + pmlogger_daily.service pmlogger_daily_poll.service \ + pmlogger_daily_check.service ifeq ($(TARGET_OS),linux) CRONTAB_USER = $(PCP_USER) @@ -31,7 +33,7 @@ CRONTAB_PATH = $(PCP_SYSCONF_DIR)/pmlogger/crontab endif CRONTAB_DAILY_REPORT_PATH = $(CRONTAB_PATH)-daily-report -default:: crontab crontab.docker pmlogger.service crontab.daily_report +default:: $(LDIRT) default:: $(SUBDIRS) $(SUBDIRS_MAKERULE) @@ -57,6 +59,12 @@ endif $(INSTALL) -m 755 rc_pmlogger $(PCP_RC_DIR)/pmlogger ifeq ($(ENABLE_SYSTEMD),true) $(INSTALL) -m 644 pmlogger.service $(PCP_SYSTEMDUNIT_DIR)/pmlogger.service + $(INSTALL) -m 644 pmlogger_daily.timer $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily.timer + $(INSTALL) -m 644 pmlogger_daily.service $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily.service + $(INSTALL) -m 644 pmlogger_daily_poll.timer $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_poll.timer + $(INSTALL) -m 644 pmlogger_daily_poll.service $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_poll.service + $(INSTALL) -m 644 pmlogger_daily_check.timer $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_check.timer + $(INSTALL) -m 644 pmlogger_daily_check.service $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_check.service endif $(INSTALL) -m 775 -o $(PCP_USER) -g $(PCP_GROUP) -d $(PCP_LOG_DIR)/pmlogger $(INSTALL) -m 775 -o $(PCP_USER) -g $(PCP_GROUP) -d $(PCP_TMP_DIR)/pmlogger @@ -68,7 +76,9 @@ ifeq ($(TARGET_OS),linux) $(INSTALL) -m 755 -d $(PCP_LOG_DIR)/pmlogger $(INSTALL) -m 1777 -d $(PCP_TMP_DIR)/pmlogger endif +ifneq ($(ENABLE_SYSTEMD),true) $(INSTALL) -m 644 crontab $(CRONTAB_PATH) +endif $(INSTALL) -m 644 utilproc.sh $(PCP_SHARE_DIR)/lib/utilproc.sh $(INSTALL) -m 755 pmlogger_daily_report.sh $(PCP_BINADM_DIR)/pmlogger_daily_report$(SHELLSUFFIX) $(INSTALL) -m 644 crontab.daily_report $(CRONTAB_DAILY_REPORT_PATH) @@ -83,6 +93,24 @@ install_pcp : install pmlogger.service : pmlogger.service.in $(SED) -e 's;@path@;'$(PCP_RC_DIR)';' <$< >$@ +pmlogger_daily.service : pmlogger_daily.service.in + $(SED) <$< >$@ \ + -e 's;@PCP_BINADM_DIR@;'$(PCP_BINADM_DIR)';' \ + -e 's;@PCP_USER@;'$(PCP_USER)';' \ + # END + +pmlogger_daily_poll.service : pmlogger_daily_poll.service.in + $(SED) <$< >$@ \ + -e 's;@PCP_BINADM_DIR@;'$(PCP_BINADM_DIR)';' \ + -e 's;@PCP_USER@;'$(PCP_USER)';' \ + # END + +pmlogger_daily_check.service : pmlogger_daily_check.service.in + $(SED) <$< >$@ \ + -e 's;@PCP_BINADM_DIR@;'$(PCP_BINADM_DIR)';' \ + -e 's;@PCP_USER@;'$(PCP_USER)';' \ + # END + crontab : crontab.in $(SED) -e 's;@user@;'$(CRONTAB_USER)';' -e 's;@path@;'$(PCP_BINADM_DIR)';' $< > $@ diff --git a/src/pmlogger/pmlogger_daily.service.in b/src/pmlogger/pmlogger_daily.service.in new file mode 100644 index 000000000..d08438370 --- /dev/null +++ b/src/pmlogger/pmlogger_daily.service.in @@ -0,0 +1,8 @@ +[Unit] +Description=Process archive logs +Documentation=man:pmlogger(1) + +[Service] +Type=oneshot +ExecStart=@PCP_BINADM_DIR@/pmlogger_daily +User=@PCP_USER@ diff --git a/src/pmlogger/pmlogger_daily.timer b/src/pmlogger/pmlogger_daily.timer new file mode 100644 index 000000000..92bc398cf --- /dev/null +++ b/src/pmlogger/pmlogger_daily.timer @@ -0,0 +1,8 @@ +[Unit] +Description=Daily processing of archive logs + +[Timer] +OnCalendar=*-*-* 00:10:00 + +[Install] +WantedBy=timers.target diff --git a/src/pmlogger/pmlogger_daily_check.service.in b/src/pmlogger/pmlogger_daily_check.service.in new file mode 100644 index 000000000..56fd47c55 --- /dev/null +++ b/src/pmlogger/pmlogger_daily_check.service.in @@ -0,0 +1,8 @@ +[Unit] +Description=Check pmlogger instances are running +Documentation=man:pmlogger(1) + +[Service] +Type=oneshot +ExecStart=@PCP_BINADM_DIR@/pmlogger_daily -C +User=@PCP_USER@ diff --git a/src/pmlogger/pmlogger_daily_check.timer b/src/pmlogger/pmlogger_daily_check.timer new file mode 100644 index 000000000..381b2c5ab --- /dev/null +++ b/src/pmlogger/pmlogger_daily_check.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Half-hourly check of pmlogger instances + +[Timer] +OnCalendar=*-*-* *:25:00 +OnCalendar=*-*-* *:55:00 + +[Install] +WantedBy=timers.target diff --git a/src/pmlogger/pmlogger_daily_poll.service.in b/src/pmlogger/pmlogger_daily_poll.service.in new file mode 100644 index 000000000..da5859d8b --- /dev/null +++ b/src/pmlogger/pmlogger_daily_poll.service.in @@ -0,0 +1,8 @@ +[Unit] +Description=Poll log processing +Documentation=man:pmlogger(1) + +[Service] +Type=oneshot +ExecStart=@PCP_BINADM_DIR@/pmlogger_daily -p +User=@PCP_USER@ diff --git a/src/pmlogger/pmlogger_daily_poll.timer b/src/pmlogger/pmlogger_daily_poll.timer new file mode 100644 index 000000000..0b4650b37 --- /dev/null +++ b/src/pmlogger/pmlogger_daily_poll.timer @@ -0,0 +1,8 @@ +[Unit] +Description=Hourly polling of log processing + +[Timer] +OnCalendar=*-*-* *:30:00 + +[Install] +WantedBy=timers.target -- 2.13.7 ++++++ 0009-pmlogger_daily_report-add-systemd-timers-as-cron-alt.patch ++++++ >From f026b0e562172e05fd2753caad2ae41e390cad90 Mon Sep 17 00:00:00 2001 From: David Disseldorp <[email protected]> Date: Mon, 7 Jan 2019 13:24:52 +0100 Subject: [PATCH] pmlogger_daily_report: add systemd timers as cron alternative The timer and service files are installed by default with ENABLE_SYSTEMD. Signed-off-by: David Disseldorp <[email protected]> --- src/pmlogger/GNUmakefile | 23 +++++++++++++++++++++- src/pmlogger/pmlogger_daily_report.service.in | 8 ++++++++ src/pmlogger/pmlogger_daily_report.timer | 8 ++++++++ src/pmlogger/pmlogger_daily_report_poll.service.in | 8 ++++++++ src/pmlogger/pmlogger_daily_report_poll.timer | 8 ++++++++ 5 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 src/pmlogger/pmlogger_daily_report.service.in create mode 100644 src/pmlogger/pmlogger_daily_report.timer create mode 100644 src/pmlogger/pmlogger_daily_report_poll.service.in create mode 100644 src/pmlogger/pmlogger_daily_report_poll.timer diff --git a/src/pmlogger/GNUmakefile b/src/pmlogger/GNUmakefile index fe94a3964..845575cb6 100644 --- a/src/pmlogger/GNUmakefile +++ b/src/pmlogger/GNUmakefile @@ -22,7 +22,8 @@ OTHERS = pmnewlog.sh control rc_pmlogger \ pmlogger_daily_report.sh pmlogger_rewrite.sh LDIRT = crontab crontab.docker crontab.daily_report pmlogger.service \ pmlogger_daily.service pmlogger_daily_poll.service \ - pmlogger_daily_check.service + pmlogger_daily_check.service pmlogger_daily_report.service \ + pmlogger_daily_report_poll.service ifeq ($(TARGET_OS),linux) CRONTAB_USER = $(PCP_USER) @@ -65,6 +66,10 @@ ifeq ($(ENABLE_SYSTEMD),true) $(INSTALL) -m 644 pmlogger_daily_poll.service $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_poll.service $(INSTALL) -m 644 pmlogger_daily_check.timer $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_check.timer $(INSTALL) -m 644 pmlogger_daily_check.service $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_check.service + $(INSTALL) -m 644 pmlogger_daily_report.timer $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_report.timer + $(INSTALL) -m 644 pmlogger_daily_report.service $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_report.service + $(INSTALL) -m 644 pmlogger_daily_report_poll.timer $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_report_poll.timer + $(INSTALL) -m 644 pmlogger_daily_report_poll.service $(PCP_SYSTEMDUNIT_DIR)/pmlogger_daily_report_poll.service endif $(INSTALL) -m 775 -o $(PCP_USER) -g $(PCP_GROUP) -d $(PCP_LOG_DIR)/pmlogger $(INSTALL) -m 775 -o $(PCP_USER) -g $(PCP_GROUP) -d $(PCP_TMP_DIR)/pmlogger @@ -79,7 +84,9 @@ ifneq ($(ENABLE_SYSTEMD),true) endif $(INSTALL) -m 644 utilproc.sh $(PCP_SHARE_DIR)/lib/utilproc.sh $(INSTALL) -m 755 pmlogger_daily_report.sh $(PCP_BINADM_DIR)/pmlogger_daily_report$(SHELLSUFFIX) +ifneq ($(ENABLE_SYSTEMD),true) $(INSTALL) -m 644 crontab.daily_report $(CRONTAB_DAILY_REPORT_PATH) +endif $(INSTALL) -m 775 -o $(PCP_USER) -g $(PCP_GROUP) -d $(PCP_SA_DIR) include $(BUILDRULES) @@ -109,6 +116,20 @@ pmlogger_daily_check.service : pmlogger_daily_check.service.in -e 's;@PCP_USER@;'$(PCP_USER)';' \ # END +pmlogger_daily_report.service : pmlogger_daily_report.service.in + $(SED) <$< >$@ \ + -e 's;@PCP_BINADM_DIR@;'$(PCP_BINADM_DIR)';' \ + -e 's;@PCP_USER@;'$(PCP_USER)';' \ + -e 's;@PCP_SA_DIR@;'$(PCP_SA_DIR)';' \ + # END + +pmlogger_daily_report_poll.service : pmlogger_daily_report_poll.service.in + $(SED) <$< >$@ \ + -e 's;@PCP_BINADM_DIR@;'$(PCP_BINADM_DIR)';' \ + -e 's;@PCP_USER@;'$(PCP_USER)';' \ + -e 's;@PCP_SA_DIR@;'$(PCP_SA_DIR)';' \ + # END + crontab : crontab.in $(SED) -e 's;@user@;'$(CRONTAB_USER)';' -e 's;@path@;'$(PCP_BINADM_DIR)';' $< > $@ diff --git a/src/pmlogger/pmlogger_daily_report.service.in b/src/pmlogger/pmlogger_daily_report.service.in new file mode 100644 index 000000000..f4b3e8d30 --- /dev/null +++ b/src/pmlogger/pmlogger_daily_report.service.in @@ -0,0 +1,8 @@ +[Unit] +Description=Generate system activity reports +Documentation=man:pmlogger(1) + +[Service] +Type=oneshot +ExecStart=@PCP_BINADM_DIR@/pmlogger_daily_report -o @PCP_SA_DIR@ +User=@PCP_USER@ diff --git a/src/pmlogger/pmlogger_daily_report.timer b/src/pmlogger/pmlogger_daily_report.timer new file mode 100644 index 000000000..f2294b9b3 --- /dev/null +++ b/src/pmlogger/pmlogger_daily_report.timer @@ -0,0 +1,8 @@ +[Unit] +Description=Daily generation of system activity reports + +[Timer] +OnCalendar=*-*-* 02:00:00 + +[Install] +WantedBy=timers.target diff --git a/src/pmlogger/pmlogger_daily_report_poll.service.in b/src/pmlogger/pmlogger_daily_report_poll.service.in new file mode 100644 index 000000000..241138e7e --- /dev/null +++ b/src/pmlogger/pmlogger_daily_report_poll.service.in @@ -0,0 +1,8 @@ +[Unit] +Description=Poll system activity report generation +Documentation=man:pmlogger(1) + +[Service] +Type=oneshot +ExecStart=@PCP_BINADM_DIR@/pmlogger_daily_report -o @PCP_SA_DIR@ -p +User=@PCP_USER@ diff --git a/src/pmlogger/pmlogger_daily_report_poll.timer b/src/pmlogger/pmlogger_daily_report_poll.timer new file mode 100644 index 000000000..f74801e47 --- /dev/null +++ b/src/pmlogger/pmlogger_daily_report_poll.timer @@ -0,0 +1,8 @@ +[Unit] +Description=Hourly polling of system activity report generation + +[Timer] +OnCalendar=*-*-* *:30:00 + +[Install] +WantedBy=timers.target -- 2.13.7 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.VSSU4i/_old 2019-01-15 13:16:17.512361701 +0100 +++ /var/tmp/diff_new_pack.VSSU4i/_new 2019-01-15 13:16:17.512361701 +0100 @@ -3,7 +3,7 @@ <param name="scm">git</param> <param name="url">https://github.com/performancecopilot/pcp.git</param> <param name="filename">pcp</param> - <param name="revision">6a273f2027f9d052316b81f2beb1b5efe12c4ae5</param> + <param name="revision">4.2.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">disable</param> </service> ++++++ pcp-4.1.1.tar.gz -> pcp-4.2.0.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/pcp/pcp-4.1.1.tar.gz /work/SRC/openSUSE:Factory/.pcp.new.28833/pcp-4.2.0.tar.bz2 differ: char 1, line 1
