X-Git-Url: http://git.onelab.eu/?p=monitor.git;a=blobdiff_plain;f=Monitor.spec;h=32ecb4405fa96851755834de4fcfdcd3c6a8e571;hp=61a2ca73028c58899c9a67b8a809510a9e54cce4;hb=f4f26439ae2db33f8f9a55e1a3350f6ed4f78278;hpb=20806433d8b38b3ac8d6c13c3cb7bf87abe235f4 diff --git a/Monitor.spec b/Monitor.spec index 61a2ca7..32ecb44 100644 --- a/Monitor.spec +++ b/Monitor.spec @@ -6,8 +6,8 @@ %define name monitor # keep this version in sync with monitor/monitor_version.py -%define version 3.0 -%define taglevel 28 +%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)" ) @@ -25,10 +25,6 @@ Packager: PlanetLab Central 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 @@ -39,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 @@ -58,6 +88,7 @@ Summary: Monitor hooks for the PLC server. Group: Applications/System Requires: python +Requires: python-setuptools-devel Requires: python-peak-util-extremes Requires: compat-libstdc++-296 @@ -87,7 +118,8 @@ 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 The server side include all python modules and scripts needed to fully @@ -108,14 +140,6 @@ mode to actively report the observed runlevel to PLC and update the %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 @@ -134,44 +158,36 @@ install -d $RPM_BUILD_ROOT/var/www/html/monitorlog/ 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 +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 # 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 -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 @@ -192,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 @@ -206,6 +256,7 @@ rm -rf $RPM_BUILD_ROOT %{_sysconfdir}/httpd/conf.d %{python_sitearch} + %files client %defattr(-,root,root) #%{_initrddir}/monitor @@ -216,7 +267,19 @@ rm -rf $RPM_BUILD_ROOT /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 @@ -259,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. @@ -281,14 +350,44 @@ 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 - Monitor-3.0-35 +- Add CSV link on Advanced query +- Preparing to branch + +* Wed May 12 2010 Talip Baris Metin - 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 - Monitor-3.0-33 +- handle hostname changes + +* Tue Apr 20 2010 Thierry Parmentelat - 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 - 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 - Monitor-3.0-30 +- * fix paths for automate script + +* Tue Dec 22 2009 Baris Metin - 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 - Monitor-3.0-28 - do not need buildrequires. a new tag to fix centos builds @@ -460,4 +559,4 @@ fi * Mon Apr 07 2008 Stephen Soltesz - monitor-1.0-0 - initial addition. -%define module_current_branch 2.0 +%define module_current_branch 3.0