X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=pl_mom.spec;h=4d3fd085461005850806c0ec40aee47982986182;hb=8a9baced954c552fb34d0cb9cb1eadffdb6fc07f;hp=eaf3818cfc2ac5f3ae7fa78bf7df284f0b193c0d;hpb=1beb79232d2015f6c4eb40c4fab2b1ccda9fc85a;p=mom.git diff --git a/pl_mom.spec b/pl_mom.spec index eaf3818..4d3fd08 100644 --- a/pl_mom.spec +++ b/pl_mom.spec @@ -1,12 +1,12 @@ %define name pl_mom %define version 0.3 -%define release 4.planetlab%{?date:.%{date}} +%define release 15%{?pldistro:.%{pldistro}}%{?date:.%{date}} Summary: PlanetLab mom -- Cleans up your mess Name: %{name} Version: %{version} Release: %{release} -Copyright: dontknow +License: dontknow Group: System Environment/Kernel Source: %{name}-%{version}.tgz Vendor: PlanetLab @@ -14,6 +14,7 @@ Packager: PlanetLab Central Distribution: PlanetLab 3.0 URL: http://cvs.planet-lab.org/cvs/pl_mom BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Requires: expect %description @@ -21,6 +22,9 @@ A small daemon that watches the consumed swap space. At 90% utilization, it resets the slice that is the biggest memory hog. At 95% utilization, it reboots the machine. +A cron job which "fixes" various common problems with nodes (dead +services, ext3 corruption, zombie SSH sessions) is also installed. + %prep %setup @@ -33,6 +37,9 @@ mkdir -p $RPM_BUILD_ROOT/etc/init.d/ cp pl_mom $RPM_BUILD_ROOT/etc/init.d/ cp pl_mom.pl $RPM_BUILD_ROOT/usr/local/planetlab/bin/ +cp pl_mop.sh $RPM_BUILD_ROOT/usr/local/planetlab/bin/ + +install -D -m 644 pl_mop.cron $RPM_BUILD_ROOT/etc/cron.d/pl_mop %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT @@ -41,31 +48,37 @@ cp pl_mom.pl $RPM_BUILD_ROOT/usr/local/planetlab/bin/ %defattr(0755, root, root) /etc/init.d/pl_mom /usr/local/planetlab/bin/pl_mom.pl +/usr/local/planetlab/bin/pl_mop.sh +/etc/cron.d/pl_mop %pre %post -RUNLEVEL=`/sbin/runlevel` - if [ "$1" -ge 1 ]; then chkconfig --add pl_mom chkconfig --level 3 pl_mom on - if [[ "$RUNLEVEL" != "unknown" ]]; then + if [[ "$PL_BOOTCD" != "1" ]]; then /etc/init.d/pl_mom stop /etc/init.d/pl_mom start fi + + # Randomize pl_mop run time + M=$((60 * $RANDOM / 32768)) + H=$((24 * $RANDOM / 32768)) + sed -i -e "s/@M@/$M/" -e "s/@H@/$H/" /etc/cron.d/pl_mop fi %preun -RUNLEVEL=`/sbin/runlevel` - if [ "$1" -eq 0 ]; then - if [[ "$RUNLEVEL" != "unknown" ]]; then + if [[ "$PL_BOOTCD" != "1" ]]; then /etc/init.d/pl_mom stop fi + + chkconfig --del pl_mom + chkconfig pl_mom off fi