clearer names for actions, and infer actions better
[monitor.git] / Monitor.spec
index 2a39603..64a9211 100644 (file)
@@ -7,7 +7,7 @@
 %define name monitor
 # keep this version in sync with monitor/monitor_version.py
 %define version 3.1
-%define taglevel 0
+%define taglevel 6
 
 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 %global python_sitearch        %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
@@ -62,6 +62,8 @@ Requires: nagios-plugins-all
 Requires: ndoutils
 Requires: ndoutils-mysql
 
+Requires: rt3
+
 
 %description nagios
 Scripts and setup necessary to integrate and monitor PLC with Nagios.
@@ -94,11 +96,19 @@ Requires: openssh-clients
 Requires: perl-libwww-perl
 Requires: perl-IO-Socket-SSL 
 Requires: MySQL-python
+Requires: perl-DBD-mysql
 Requires: nmap
+Requires: mailx
 Requires: nc
 Requires: rt3
+Requires: traceroute
+Requires: sendmail
+# 5.0-18 is when the extra monitor plc-config values were added to myplc default_config.xml
+Requires: myplc >= 5.0-18
 
 Requires: plewww-plekit
+Requires: pcucontrol
+Requires: TurboGears
 
 #Requires: zabbix-client
 #Requires: zabbix-gui
@@ -113,18 +123,17 @@ Summary: Monitor hooks for the PLC server.
 Group: Applications/System
 
 Requires: python
-
 Requires: monitor-server-deps
-Requires: PLCWWW >= 4.2
-Requires: bootcd-%{pldistro}-%{distroname}-%{_arch} >= 5.0
-Requires: pcucontrol
+
+# NOTE: removed b/c 'distroname' gets corrupted during build process.
+# Requires: bootcd-%{pldistro}-%{distroname}-%{_arch} >= 5.0
 
 %description server
 The server side include all python modules and scripts needed to fully
 operation, track, and interact with any third-party monitoring software, such
 as Zabbix DB.
 
-####################################### RunlevelAgent
+######################################## RunlevelAgent
 %package runlevelagent
 summary: the RunlevelAgent that reports node runlevels
 group: applications/system
@@ -159,16 +168,16 @@ install -d $RPM_BUILD_ROOT/%{python_sitearch}/monitor
 # plc.d scripts
 install -D -m 644 monitor.functions $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/monitor.functions
 install -D -m 755 monitor-server.init $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/monitor
-install -D -m 755 zabbix/monitor-zabbix.init $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/zabbix
+#install -D -m 755 zabbix/monitor-zabbix.init $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/zabbix
 
 install -D -m 755 nagios/monitor-nagios.init $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/monitor-nagios
-install -D -m 644 nagios/monitor-server.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/monitor-nagios.cron
+install -D -m 644 nagios/monitor-nagios.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/monitor-nagios.cron
 
 # cron job for automated polling
 install -D -m 644 monitor-server.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/monitor-server.cron
 
 # apache configuration
-install -D -m 644 web/monitorweb-httpd.conf $RPM_BUILD_ROOT/etc/httpd/conf.d/
+install -D -m 644 web/monitorweb.conf $RPM_BUILD_ROOT/etc/httpd/conf.d/
 
 # we'll install monitor in site-packages install rest to
 # /usr/share/monitor
@@ -176,6 +185,8 @@ rsync -a --exclude archive-pdb --exclude .cvsignore --exclude .svn --exclude CVS
     --exclude monitor/ \
     ./  $RPM_BUILD_ROOT/usr/share/%{name}/
 
+#rm -f $RPM_BUILD_ROOT/usr/share/%{name}/zabbix.spec
+
 # install monitor python package
 rsync -a --exclude .svn  ./monitor/   $RPM_BUILD_ROOT/%{python_sitearch}/monitor/
 
@@ -235,10 +246,11 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/%{name}/bootcd
 /usr/share/%{name}/commands
 /usr/share/%{name}/config.d
-/usr/share/%{name}/cron.d
+#/usr/share/%{name}/cron.d
 /usr/share/%{name}/docs
+/usr/share/%{name}/histlog
 /usr/share/%{name}/keys
-/usr/share/%{name}/log
+#/usr/share/%{name}/log
 /usr/share/%{name}/statistics
 /usr/share/%{name}/tests
 /usr/share/%{name}/tools
@@ -250,7 +262,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_sysconfdir}/cron.d/monitor-server.cron
 %{_sysconfdir}/plc.d/monitor
 %{_sysconfdir}/plc.d/monitor.functions
-%{_sysconfdir}/plc.d/zabbix
+#%{_sysconfdir}/plc.d/zabbix
 %{_sysconfdir}/httpd/conf.d
 %{python_sitearch}
 
@@ -265,7 +277,6 @@ rm -rf $RPM_BUILD_ROOT
 /usr/bin/RunlevelAgent.py*
 /%{_initrddir}/monitor-runlevelagent
 
-
 %post server-deps
 #
 # TODO: depend on distribution packages where feasible.
@@ -275,9 +286,11 @@ rm -rf $RPM_BUILD_ROOT
 # by fedora 8 (our current deployment) doesn't match the version
 # requirements.
 export TMPDIR=/var/tmp/
-easy_install -UZ http://files.turbogears.org/eggs/TurboGears-1.0.7-py2.5.egg
-easy_install -UZ http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-0.5.3.tar.gz
-easy_install -UZ Elixir
+#easy_install -UZ http://files.turbogears.org/eggs/TurboGears-1.0.7-py2.5.egg
+#easy_install -UZ http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-0.5.3.tar.gz
+#easy_install -UZ Elixir
+chkconfig sendmail on
+chkconfig crond on
 
 # crazy openssl libs for racadm binary
 ln -s /lib/libssl.so.0.9.8b /usr/lib/libssl.so.2
@@ -306,20 +319,6 @@ if ! plc-config --category plc_monitor --variable rt_queue ; then
                        --save /etc/planetlab/configs/site.xml /etc/planetlab/configs/site.xml 
 fi
 
-# zabbix:
-if ! plc-config --category plc_zabbix --variable enabled ; then
-       plc-config --category plc_zabbix --variable enabled --value false \
-                       --save /etc/planetlab/configs/site.xml /etc/planetlab/configs/site.xml 
-fi
-if ! plc-config --category plc_zabbix --variable host ; then
-       plc-config --category plc_zabbix --variable host --value localhost.localdomain \
-                       --save /etc/planetlab/configs/site.xml /etc/planetlab/configs/site.xml 
-fi
-if ! plc-config --category plc_zabbix --variable ip ; then
-       plc-config --category plc_zabbix --variable ip --value "" \ 
-                       --save /etc/planetlab/configs/site.xml /etc/planetlab/configs/site.xml 
-fi
-
 %post nagios
 # TODO: do as much as possible to get the host setup and running.
 #chkconfig --add monitor-nagios
@@ -348,14 +347,38 @@ chkconfig --add monitor
 chkconfig monitor on
 
 %post runlevelagent
-chkconfig --add monitor-runlevelagent
-chkconfig monitor-runlevelagent on
-if [ "$PL_BOOTCD" != "1" ] ; then
-       service monitor-runlevelagent restart
+if [ -f /etc/planetlab/node_id ] ; then
+    chkconfig --add monitor-runlevelagent
+    chkconfig monitor-runlevelagent on
+    if [ "$PL_BOOTCD" != "1" ] ; then
+        service monitor-runlevelagent restart
+    fi
 fi
 
 
 %changelog
+* Wed Aug 31 2011 Stephen Soltesz <soltesz@cs.princeton.edu> - monitor-3.1-6
+- Minor updates to work with pcucontrol.
+- Added action for some fprobe no-space errors.
+
+* Wed Aug 31 2011 Stephen Soltesz <soltesz@cs.princeton.edu> - monitor-3.1-5
+- account for new ok status type in PCUs
+- include a percentage of nodes up as well as raw node-count
+
+* Fri May 27 2011 s s <soltesz@cs.princeton.edu> - monitor-3.1-4
+- Fixes to spec file for monitor building
+
+* Fri May 27 2011 s s <soltesz@cs.princeton.edu> - monitor-3.1-3
+- fixing syntax errors
+
+* Fri May 27 2011 s s <soltesz@cs.princeton.edu> - monitor-3.1-2
+- Add better requirements list, work with TurboGears packaged by fedora,
+- Remove some zabbix files
+- Add a controllers_local.py for custom extensions
+
+* Fri May 06 2011 s s <soltesz@cs.princeton.edu> - monitor-3.1-1
+- last tag before some more major changes
+
 * Thu May 20 2010 Stephen Soltesz <soltesz@cs.princeton.edu> - Monitor-3.0-35
 - Add CSV link on Advanced query
 - Preparing to branch