Many small updates and fixes:
[monitor.git] / Monitor.spec
index dae347d..32ecb44 100644 (file)
@@ -6,8 +6,8 @@
 
 %define name monitor
 # keep this version in sync with monitor/monitor_version.py
-%define version 3.0
-%define taglevel 30
+%define version 3.1
+%define taglevel 0
 
 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 %global python_sitearch        %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
@@ -35,6 +35,40 @@ system, syncing the PLC db with the monitoring database, notifying users,
 interacting with PCU hardware, applying penalties to sites that violate
 acceptable use.
 
+######################################## NAGIOS
+
+%package nagios
+Summary: Monitor integration with Nagios
+Group: Applications/System
+
+Requires: coreutils
+Requires: passwd
+Requires: gd
+Requires: gd-devel
+Requires: mysql
+Requires: mysql-server
+Requires: mysql-devel
+Requires: mysql-libs
+Requires: mailx
+Requires: sendmail
+Requires: php
+Requires: httpd
+
+Requires: cronie
+Requires: nagios
+Requires: nagios-common
+Requires: nagios-devel
+Requires: nagios-plugins-all
+Requires: ndoutils
+Requires: ndoutils-mysql
+
+Requires: rt3
+
+
+%description nagios
+Scripts and setup necessary to integrate and monitor PLC with Nagios.
+Best suited to F12 or above.
+
 ######################################## CLIENT
 
 %package client
@@ -84,7 +118,7 @@ Requires: python
 
 Requires: monitor-server-deps
 Requires: PLCWWW >= 4.2
-Requires: bootcd-%{pldistro}-%{_arch} >= 4.2
+Requires: bootcd-%{pldistro}-%{distroname}-%{_arch} >= 5.0
 Requires: pcucontrol
 
 %description server
@@ -129,6 +163,9 @@ install -D -m 644 monitor.functions $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/monitor
 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 nagios/monitor-nagios.init $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/monitor-nagios
+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
 
@@ -137,19 +174,20 @@ install -D -m 644 web/monitorweb-httpd.conf $RPM_BUILD_ROOT/etc/httpd/conf.d/
 
 # we'll install monitor in site-packages install rest to
 # /usr/share/monitor
-rsync -a --exclude archive-pdb --exclude .svn --exclude CVS  \
+rsync -a --exclude archive-pdb --exclude .cvsignore --exclude .svn --exclude CVS  \
     --exclude monitor/ \
     ./  $RPM_BUILD_ROOT/usr/share/%{name}/
 
 # install monitor python package
 rsync -a --exclude .svn  ./monitor/   $RPM_BUILD_ROOT/%{python_sitearch}/monitor/
 
+install -D -m 644 monitor/wrapper/plc.py $RPM_BUILD_ROOT/usr/share/%{name}/nagios/
+install -D -m 644 monitor/generic.py $RPM_BUILD_ROOT/usr/share/%{name}/nagios/
+
 # install third-party module to site-packages
 install -D -m 755 threadpool.py $RPM_BUILD_ROOT/%{python_sitearch}/threadpool.py
 
 # TODO: 
-echo " * TODO: Setting up Monitor account in local MyPLC"
-
 #touch $RPM_BUILD_ROOT/var/www/cgi-bin/monitor/monitorconfig.php
 #chmod 777 $RPM_BUILD_ROOT/var/www/cgi-bin/monitor/monitorconfig.php
 
@@ -170,12 +208,46 @@ rm -rf $RPM_BUILD_ROOT
 %files server-deps
 /var/log/server-deps.log
 
+%files nagios
+%defattr(-,root,root)
+%{_sysconfdir}/plc.d/monitor-nagios
+/usr/share/%{name}/nagios 
+%{_sysconfdir}/cron.d/monitor-nagios.cron
+
 %files server
 %defattr(-,root,root)
 #%config /usr/share/%{name}/monitorconfig.py
 #%config /etc/monitor.conf
-/usr/share/%{name}
 /var/lib/%{name}
+/usr/share/%{name}/MANIFEST.in
+/usr/share/%{name}/Makefile
+/usr/share/%{name}/Monitor.spec
+/usr/share/%{name}/README.txt
+/usr/share/%{name}/RunlevelAgent.py*
+/usr/share/%{name}/automate-default.sh
+/usr/share/%{name}/monitor-default.conf
+/usr/share/%{name}/monitor-runlevelagent.init
+/usr/share/%{name}/monitor-server.cron
+/usr/share/%{name}/monitor-server.init
+/usr/share/%{name}/monitor.functions
+/usr/share/%{name}/setup.py*
+/usr/share/%{name}/threadpool.py*
+/usr/share/%{name}/zabbix.spec
+
+/usr/share/%{name}/bootcd
+/usr/share/%{name}/commands
+/usr/share/%{name}/config.d
+/usr/share/%{name}/cron.d
+/usr/share/%{name}/docs
+/usr/share/%{name}/keys
+/usr/share/%{name}/log
+/usr/share/%{name}/statistics
+/usr/share/%{name}/tests
+/usr/share/%{name}/tools
+/usr/share/%{name}/upgrade
+/usr/share/%{name}/web
+/usr/share/%{name}/zabbix
+
 #/var/www/cgi-bin/monitor
 %{_sysconfdir}/cron.d/monitor-server.cron
 %{_sysconfdir}/plc.d/monitor
@@ -184,6 +256,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_sysconfdir}/httpd/conf.d
 %{python_sitearch}
 
+
 %files client
 %defattr(-,root,root)
 #%{_initrddir}/monitor
@@ -194,6 +267,7 @@ rm -rf $RPM_BUILD_ROOT
 /usr/bin/RunlevelAgent.py*
 /%{_initrddir}/monitor-runlevelagent
 
+
 %post server-deps
 #
 # TODO: depend on distribution packages where feasible.
@@ -248,6 +322,12 @@ if ! plc-config --category plc_zabbix --variable ip ; then
                        --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
+#chkconfig monitor-nagios on
+chkconfig mysqld on
+
 %post server
 # TODO: this will be nice when we have a web-based service running., such as
 #              an API server or so on.
@@ -270,14 +350,36 @@ 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
+* Thu May 20 2010 Stephen Soltesz <soltesz@cs.princeton.edu> - Monitor-3.0-35
+- Add CSV link on Advanced query
+- Preparing to branch
+
+* Wed May 12 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - Monitor-3.0-34
+- * copy selections to clipbord on Advanced Query page
+- * RPM Pattern as regexp
+- * scan ipmi port
+
+* Tue Apr 27 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - Monitor-3.0-33
+- handle hostname changes
+
+* Tue Apr 20 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - Monitor-3.0-32
+- from this version, suitable for 5.0
+- requires bootcd with the new 5.0 naming style 3-part nodefamily
+
+* Mon Apr 12 2010 Stephen Soltesz <soltesz@cs.princeton.edu> - Monitor-3.0-31
+- added fix for node delete/add causing conflicts in MyOps db.
+- added statistics scripts
+
 * Thu Jan 21 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - Monitor-3.0-30
 - * fix paths for automate script
 
@@ -457,4 +559,4 @@ fi
 * Mon Apr 07 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - monitor-1.0-0
 - initial addition.
 
-%define module_current_branch 2.0
+%define module_current_branch 3.0