%define name monitor
# keep this version in sync with monitor/monitor_version.py
-%define version 3.0
-%define taglevel 27
+%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)" )
Distribution: PlanetLab %{plrelease}
URL: %(echo %{url} | cut -d ' ' -f 2)
-# this is only required for fedora and we have this in devel.pkgs for
-# all fedora builds.
-# BuildRequires: python-setuptools-devel
-
Summary: Monitor account initialization for the root image.
Group: Applications/System
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: nagios
+Requires: nagios-common
+Requires: nagios-devel
+Requires: nagios-plugins-all
+Requires: ndoutils
+Requires: ndoutils-mysql
+
+
+%description nagios
+Scripts and setup necessary to integrate and monitor PLC with Nagios.
+Best suited to F12 or above.
+
######################################## CLIENT
%package client
Group: Applications/System
Requires: python
+Requires: python-setuptools-devel
Requires: python-peak-util-extremes
Requires: compat-libstdc++-296
Requires: python
Requires: monitor-server-deps
-Requires: monitor-pcucontrol
Requires: PLCWWW >= 4.2
-Requires: bootcd-%{pldistro}-%{_arch} >= 4.2
+Requires: bootcd-%{pldistro}-%{distroname}-%{_arch} >= 5.0
+Requires: pcucontrol
%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.
-######################################## PCU Control
-
-%package pcucontrol
-summary: pcu controls for monitor and plcapi
-group: applications/system
-requires: python
-requires: OpenIPMI-tools
-
-%description pcucontrol
-both monitor and the plcapi use a set of common commands to reboot machines
-using their external or internal pcus. this package is a library of several
-supported models.
-
####################################### RunlevelAgent
%package runlevelagent
summary: the RunlevelAgent that reports node runlevels
%prep
%setup -q
-%build
-# NOTE: the build uses g++ cmdamt/
-# NOTE: TMPDIR is needed here b/c the tmpfs of the build vserver is too small.
-cd pcucontrol/models/intelamt
-export TMPDIR=$PWD/tmp
-make
-cd ..
-
%install
rm -rf $RPM_BUILD_ROOT
#################### CLIENT
install -d $RPM_BUILD_ROOT/etc/httpd/conf.d/
install -d $RPM_BUILD_ROOT/%{python_sitearch}/monitor
-# pack monitor's dependencies in RPM to make it easier to deploy.
-export TMPDIR=/var/tmp/
-export PYTHONPATH=$PYTHONPATH:$RPM_BUILD_ROOT/%{python_sitearch}/
-easy_install -d $RPM_BUILD_ROOT/%{python_sitearch}/ -UZ http://files.turbogears.org/eggs/TurboGears-1.0.7-py2.5.egg
-easy_install -d $RPM_BUILD_ROOT/%{python_sitearch}/ -UZ http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-0.5.3.tar.gz
-easy_install -d $RPM_BUILD_ROOT/%{python_sitearch}/ -UZ Elixir
-rm -rf $RPM_BUILD_ROOT/%{python_sitearch}/site.py*
-
# 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
+# TODO: update with a real init file
+install -D -m 755 monitor-server.init $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/monitor-nagios
# 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/
-# we'll install monitor and pcucontrol in site-packages
-# install rest to /usr/share/monitor
-rsync -a --exclude archive-pdb --exclude .svn --exclude CVS \
+# we'll install monitor in site-packages install rest to
+# /usr/share/monitor
+rsync -a --exclude archive-pdb --exclude .cvsignore --exclude .svn --exclude CVS \
--exclude monitor/ \
- --exclude pcucontol/ \
./ $RPM_BUILD_ROOT/usr/share/%{name}/
# install monitor python package
rsync -a --exclude .svn ./monitor/ $RPM_BUILD_ROOT/%{python_sitearch}/monitor/
-# and pcucontrol
-rsync -a --exclude .svn ./pcucontrol/ $RPM_BUILD_ROOT/%{python_sitearch}/pcucontrol/
-
# install third-party module to site-packages
install -D -m 755 threadpool.py $RPM_BUILD_ROOT/%{python_sitearch}/threadpool.py
%files server-deps
/var/log/server-deps.log
+%files nagios
+%defattr(-,root,root)
+%{_sysconfdir}/plc.d/monitor-nagios
+/usr/share/%{name}/nagios
+# TODO: not sure how this will impact the server files
+
%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}/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}/web
+/usr/share/%{name}/zabbix
+
#/var/www/cgi-bin/monitor
%{_sysconfdir}/cron.d/monitor-server.cron
-%{python_sitearch}/threadpool.py*
-%{python_sitearch}/monitor
-%{python_sitearch}/*.egg/
-%{python_sitearch}/easy-install.pth
-%{python_sitearch}/tg-admin
%{_sysconfdir}/plc.d/monitor
%{_sysconfdir}/plc.d/monitor.functions
%{_sysconfdir}/plc.d/zabbix
%{_sysconfdir}/httpd/conf.d
+%{python_sitearch}
+
%files client
%defattr(-,root,root)
#%{_sysconfdir}/cron.d/monitor
/usr/bin/timeout.pl
-%files pcucontrol
-%{python_sitearch}/pcucontrol
-
%files runlevelagent
-/usr/bin/RunlevelAgent.py
-/usr/bin/RunlevelAgent.pyo
-/usr/bin/RunlevelAgent.pyc
+/usr/bin/RunlevelAgent.py*
/%{_initrddir}/monitor-runlevelagent
+
%post server-deps
+#
+# TODO: depend on distribution packages where feasible.
+#
+# it would be better to be able to depend on the distribution's
+# packages for these additional python modules, but packages provided
+# 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
# crazy openssl libs for racadm binary
ln -s /lib/libssl.so.0.9.8b /usr/lib/libssl.so.2
--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.
+
%post server
# TODO: this will be nice when we have a web-based service running., such as
# an API server or so on.
%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
+
+* Tue Dec 22 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - Monitor-3.0-29
+- - separate pcucontrol as an svn module
+- - restore easy_instal back into post install stage of server-deps
+- - template imporovements for web interface
+
+* Thu Dec 17 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - Monitor-3.0-28
+- do not need buildrequires. a new tag to fix centos builds
+
* Thu Dec 17 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - Monitor-3.0-27
- fix rpm build issues
* 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