X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=Monitor.spec;h=fbb8be674eb9162f692e1d2d9b99adb41dff9d6c;hb=aca1c2bc45962959db679754efc86248ab6d2970;hp=3b4e78c6ecce50fce44b9223ab32bad8db9c4d5f;hpb=486326759a86f1315d93aeaccf6e2641af2bd9d9;p=monitor.git diff --git a/Monitor.spec b/Monitor.spec index 3b4e78c..fbb8be6 100644 --- a/Monitor.spec +++ b/Monitor.spec @@ -6,7 +6,7 @@ %define name monitor %define version 3.0 -%define taglevel 1 +%define taglevel 17 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} %global python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" ) @@ -46,34 +46,63 @@ The client scripts handle account creation inside of a node. This will include configuration setup for the monitoring agent running on the node. It will also include any cron or init scripts needed to perform this kind of maintenance. - -######################################## Server -%package server +######################################## Server Deps +%package server-deps Summary: Monitor hooks for the PLC server. Group: Applications/System Requires: python -#Requires: python-sqlalchemy -#Requires: python-elixir +Requires: python-setuptools-devel +Requires: python-peak-util-extremes +Requires: TurboGears +Requires: compat-libstdc++-296 Requires: openssh-clients Requires: perl-libwww-perl Requires: perl-IO-Socket-SSL Requires: MySQL-python -Requires: rt3 == 3.4.1 Requires: nmap -Requires: PLCWWW >= 4.2 -Requires: bootcd-planetlab-i386 >= 4.2 +Requires: rt3 + +Requires: plewww-plekit #Requires: zabbix-client #Requires: zabbix-gui #Requires: zabbix-server +%description server-deps +The server side include all python modules and scripts needed to fully + +######################################## Server +%package server +Summary: Monitor hooks for the PLC server. +Group: Applications/System + +Requires: python + +Requires: monitor-server-deps +Requires: monitor-pcucontrol +Requires: PLCWWW >= 4.2 +Requires: bootcd-%{pldistro}-%{_arch} >= 4.2 + %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. +######################################## RT setup + +%package rt +summary: Dependencies and default configuration for RT3 +group: applications/system +Requires: monitor-server +Requires: rt3 +Requires: rt3-mailgate + +%description rt +RT3 is a ticket tracking system. This RPM integrates RT into the MyOps +framework, and MyPLC in general. + ######################################## PCU Control %package pcucontrol @@ -121,8 +150,12 @@ install -d $RPM_BUILD_ROOT/data/var/lib/%{name}/archive-pdb install -d $RPM_BUILD_ROOT/var/lib/%{name} install -d $RPM_BUILD_ROOT/var/lib/%{name}/archive-pdb install -d $RPM_BUILD_ROOT/var/www/cgi-bin/monitor/ +install -d $RPM_BUILD_ROOT/var/www/html/monitorlog/ +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 rt3/monitor-rt3.init $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/rt3 echo " * Installing core scripts" rsync -a --exclude www --exclude archive-pdb --exclude .svn --exclude CVS \ @@ -130,6 +163,7 @@ rsync -a --exclude www --exclude archive-pdb --exclude .svn --exclude CVS \ echo " * Installing web pages" rsync -a www/ $RPM_BUILD_ROOT/var/www/cgi-bin/monitor/ +rsync -a log/ $RPM_BUILD_ROOT/var/www/html/monitorlog/ echo " * Installing cron job for automated polling" install -D -m 644 monitor-server.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/monitor-server.cron @@ -156,10 +190,15 @@ chmod 777 $RPM_BUILD_ROOT/var/www/cgi-bin/monitor/monitorconfig.php install -D -m 755 RunlevelAgent.py $RPM_BUILD_ROOT/usr/bin/RunlevelAgent.py install -D -m 755 monitor-runlevelagent.init $RPM_BUILD_ROOT/%{_initrddir}/monitor-runlevelagent +mkdir -p $RPM_BUILD_ROOT/var/log +touch $RPM_BUILD_ROOT/var/log/server-deps.log + %clean rm -rf $RPM_BUILD_ROOT +%files server-deps +/var/log/server-deps.log %files server %defattr(-,root,root) @@ -180,6 +219,10 @@ rm -rf $RPM_BUILD_ROOT %{_initrddir}/monitor %{_sysconfdir}/cron.d/monitor +%files rt +%defattr(-,root,root) +/usr/share/%{name}/rt3 + %files pcucontrol %{python_sitearch}/pcucontrol @@ -189,6 +232,37 @@ rm -rf $RPM_BUILD_ROOT /usr/bin/RunlevelAgent.pyc /%{_initrddir}/monitor-runlevelagent +%post server-deps +#easy_install --build-directory /var/tmp -UZ ElementTree +##easy_install --build-directory /var/tmp -UZ http://pypi.python.org/packages/2.5/E/Extremes/Extremes-1.1-py2.5.egg + + +## TODO: something is bad wrong with this approach. +easy_install --build-directory /var/tmp -UZ http://files.turbogears.org/eggs/TurboGears-1.0.7-py2.5.egg +easy_install --build-directory /var/tmp -UZ http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-0.5.3.tar.gz +easy_install --build-directory /var/tmp -UZ Elixir + +# crazy openssl libs for racadm binary +ln -s /lib/libssl.so.0.9.8b /usr/lib/libssl.so.2 +mkdir /usr/share/monitor/.ssh +chmod 700 /usr/share/monitor/.ssh + +if grep 'pam_loginuid.so' /etc/pam.d/crond ; then + sed -i -e 's/^session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/crond +fi +# NOTE: add the default xml stuff if it's not already in the default xml config. +if ! grep '' /etc/planetlab/default_config.xml ; then + sed -i 's|| \n Monitor Service Configuration\n Monitor\n \n \n Enabled\n true\n Enable on this machine.\n \n \n \n \n \n \n \n \n Hostname\n pl-virtual-06.cs.princeton.edu\n The fully qualified hostname.\n \n \n IP Address\n \n The IP address of the monitor server.\n \n \n \n |' /etc/planetlab/default_config.xml +fi + +# NOTE: enable monitor by default, since we're installing it. +plc-config --save /etc/planetlab/default_config.xml \ + --category plc_monitor --variable enabled --value true + +%post rt +plc-config --save /etc/planetlab/default_config.xml \ + --category plc_rt --variable enabled --value true + %post server # TODO: this will be nice when we have a web-based service running., such as # an API server or so on. @@ -199,7 +273,7 @@ rm -rf $RPM_BUILD_ROOT # TODO: Use the installed version of bootcd to create custom boot images. ( or, use the api now). # NOTE: generate the python defines from zabbix include files. -php /usr/share/%{name}/zabbix/getdefines.php > %{python_sitearch}/monitor/database/zabbixapi/defines.py +#php /usr/share/%{name}/zabbix/getdefines.php > %{python_sitearch}/monitor/database/zabbixapi/defines.py # apply patches to zabbix #patch -d /var/www/html/zabbix/ -p0 < /usr/share/%{name}/zabbix/zabbix-auto-login.diff @@ -216,6 +290,74 @@ chkconfig --add monitor-runlevelagent chkconfig monitor-runlevelagent on %changelog +* Thu Jun 18 2009 Stephen Soltesz - Monitor-3.0-17 +- added bootmanager log links +- addressed root cause of IntegrityErrors ; big deal +- adjusted templates to accomodate fix for IntegrityErrors +- added session.flush() to bootman.py to write out ActionsRecords +- fixed policy to either pause penalties or apply them ; not both. + +-* Wed Jun 17 2009 Stephen Soltesz - Monitor-3.0-16 +-- Added Rpyc from 1.0 branch. +-- add pcuhistory +-- add setup-agent for password protected keys. +-- other minor improvements. + +* Wed Jun 17 2009 Stephen Soltesz - Monitor-3.0-15 +- automate install +- auto-close tickets + +* Fri Jun 12 2009 Stephen Soltesz - Monitor-3.0-14 +- update web +- update policy +- added statistics dir + +* Mon Jun 08 2009 Stephen Soltesz - Monitor-3.0-13 +- remove plccache from controllers, all lookups from db. +- reformat emailTxt messags +- updated bootstates in bootman.py + +* Tue Jun 02 2009 Stephen Soltesz - Monitor-3.0-12 +- tag of latest changes. +- need to test end to end. + +* Sat May 30 2009 Thierry Parmentelat - Monitor-3.0-11 +- big merge from the 2.0 branch + +* Tue May 26 2009 Thierry Parmentelat - Monitor-3.0-10 +- minor improvements in rendering with sortable tables + +* Tue May 19 2009 Baris Metin - Monitor-3.0-9 + +* Fri May 15 2009 Thierry Parmentelat - Monitor-3.0-8 +- first draft with sortable tables + checkpoint + +* Fri May 15 2009 Baris Metin +- use plekit tables from plewww. +- depend on plewww-plekit + +* Tue May 12 2009 Stephen Soltesz - Monitor-3.0-7 +- make docs a noop +- fix for package name dependency +- correct docs + +* Mon May 04 2009 Stephen Soltesz - Monitor-3.0-6 +- add improved docs to the latest build and tag. + +* Mon May 04 2009 Stephen Soltesz - Monitor-3.0-5 +- add documentation hooks for adding in-line docs like NM and PLCAPI + +* Fri May 01 2009 Stephen Soltesz - Monitor-3.0-4 +- Rough pass over monitor-3.0 to allow it to work with 4.3 API. +- replaced GetNodeNetworks, nodeinterface_ids and using new bootstates +- 'safeboot', 'failboot', 'reinstall', etc. + +* Tue Apr 28 2009 Stephen Soltesz - Monitor-3.0-3 +- same as 2.0-12 tag. + +* Mon Apr 27 2009 Stephen Soltesz - Monitor-3.0-2 +- merge from 2.0, remove more zabbix code, simplify install, etc. + * Thu Apr 16 2009 Stephen Soltesz - Monitor-3.0-1 - major merge from 2.0 branch. - ready to be updated with 4.3 and web changes.