From 08be01844f3f2fcbe2b64c8b45dc85eecf29634c Mon Sep 17 00:00:00 2001 From: Jimmy Berry Date: Mon, 9 Oct 2017 21:21:21 -0500 Subject: [PATCH] dist: provide maintenance subpackage. --- Makefile | 2 +- dist/package/openSUSE-release-tools.spec | 34 ++++++++++++++++++++++ systemd/osrt-maintenance-incidents.service | 10 +++++++ systemd/osrt-maintenance-incidents.timer | 10 +++++++ 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 systemd/osrt-maintenance-incidents.service create mode 100644 systemd/osrt-maintenance-incidents.timer diff --git a/Makefile b/Makefile index d994d3f8..abe25931 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ SUBDIRS = factory-package-news abichecker include Makefile.common -pkgdata_BINS=devel-project leaper manager_42 repo_checker suppkg_rebuild totest-manager update_crawler +pkgdata_BINS=check_maintenance_incidents devel-project leaper manager_42 repo_checker suppkg_rebuild totest-manager update_crawler pkgdata_SCRIPTS=$(wildcard *.py *.pl *.sh) pkgdata_SCRIPTS+=bs_mirrorfull findfileconflicts pkgdata_DATA+=bs_copy metrics osclib $(wildcard *.pm *.testcase) diff --git a/dist/package/openSUSE-release-tools.spec b/dist/package/openSUSE-release-tools.spec index 0d8561b4..6dcb20e6 100644 --- a/dist/package/openSUSE-release-tools.spec +++ b/dist/package/openSUSE-release-tools.spec @@ -120,6 +120,17 @@ Requires(pre): shadow %description leaper Leap-style services for non-Factory projects. +%package maintenance +Summary: Maintenance related services +Group: Development/Tools/Other +BuildArch: noarch +# TODO Update requirements. +Requires: osclib = %{version} +Requires(pre): shadow + +%description maintenance +Maintenance related services like incident check. + %package metrics Summary: Ingest relevant data to generate insightful metrics Group: Development/Tools/Other @@ -263,6 +274,21 @@ exit 0 %service_del_postun osrt-leaper-manager@.service %service_del_postun osrt-leaper-review.service +%pre maintenance +%service_add_pre osrt-maintenance-incidents.service +getent passwd osrt-maintenance > /dev/null || \ + useradd -r -m -s /sbin/nologin -c "user for openSUSE-release-tools-maintenance" osrt-maintenance +exit 0 + +%post maintenance +%service_add_post osrt-maintenance-incidents.service + +%preun maintenance +%service_del_preun osrt-maintenance-incidents.service + +%postun maintenance +%service_del_postun osrt-maintenance-incidents.service + # TODO Provide metrics service once #1006 is resolved. %pre repo-checker @@ -340,6 +366,7 @@ exit 0 %{_datadir}/%{source_dir} %exclude %{_datadir}/%{source_dir}/abichecker %exclude %{_datadir}/%{source_dir}/%{announcer_filename} +%exclude %{_datadir}/%{source_dir}/check_maintenance_incidents.py %exclude %{_datadir}/%{source_dir}/devel-project.py %exclude %{_datadir}/%{source_dir}/leaper.py %exclude %{_datadir}/%{source_dir}/manager_42.py @@ -394,6 +421,13 @@ exit 0 %{_unitdir}/osrt-leaper-review.timer %{_sysconfdir}/openSUSE-release-tools/manager_42 +%files maintenance +%defattr(-,root,root,-) +%{_bindir}/osrt-check_maintenance_incidents +%{_datadir}/%{source_dir}/check_maintenance_incidents.py +%{_unitdir}/osrt-maintenance-incidents.service +%{_unitdir}/osrt-maintenance-incidents.timer + %files metrics %defattr(-,root,root,-) %{_datadir}/%{source_dir}/metrics diff --git a/systemd/osrt-maintenance-incidents.service b/systemd/osrt-maintenance-incidents.service new file mode 100644 index 00000000..195f3b08 --- /dev/null +++ b/systemd/osrt-maintenance-incidents.service @@ -0,0 +1,10 @@ +[Unit] +Description=openSUSE Release Tools: maintenance incidents + +[Service] +Type=simple +User=osrt-maintenance +ExecStart=/usr/bin/osrt-check_maintenance_incidents --verbose review + +[Install] +WantedBy=multi-user.target diff --git a/systemd/osrt-maintenance-incidents.timer b/systemd/osrt-maintenance-incidents.timer new file mode 100644 index 00000000..4883b3ad --- /dev/null +++ b/systemd/osrt-maintenance-incidents.timer @@ -0,0 +1,10 @@ +[Unit] +Description=openSUSE Release Tools: maintenance incidents + +[Timer] +OnBootSec=120 +OnUnitInactiveSec=30 min +Unit=osrt-maintenance-incidents.service + +[Install] +WantedBy=timers.target