X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=Monitor.spec;h=85ba2ebf4393a8a097c6986cfd0d4883aa6c4823;hb=12caba68661a8bc1c36d99850e4938ac02dfa0b2;hp=45a791ef83ff5f7336c1c2ed1cf0d5ed1bbd27a8;hpb=c981221e1aa839c3ba3e2fd11d89abf830a2fc38;p=monitor.git diff --git a/Monitor.spec b/Monitor.spec index 45a791e..85ba2eb 100644 --- a/Monitor.spec +++ b/Monitor.spec @@ -6,7 +6,7 @@ %define name monitor %define version 3.0 -%define taglevel 13 +%define taglevel 18 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} %global python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" ) @@ -56,6 +56,7 @@ 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 @@ -64,8 +65,7 @@ Requires: nmap Requires: rt3 Requires: plewww-plekit -#Requires: python-sqlalchemy -#Requires: python-elixir + #Requires: zabbix-client #Requires: zabbix-gui #Requires: zabbix-server @@ -96,6 +96,7 @@ as Zabbix DB. 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 @@ -129,6 +130,8 @@ rm -rf $RPM_BUILD_ROOT #################### CLIENT install -D -m 755 monitor-client.init $RPM_BUILD_ROOT/%{_initrddir}/monitor install -D -m 644 monitor.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/monitor +install -D -m 755 timeout.pl $RPM_BUILD_ROOT/usr/bin/timeout.pl + #################### SERVER install -d $RPM_BUILD_ROOT/usr/share/%{name} @@ -137,8 +140,11 @@ 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 echo " * Installing core scripts" rsync -a --exclude www --exclude archive-pdb --exclude .svn --exclude CVS \ @@ -146,6 +152,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 @@ -195,11 +202,14 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/threadpool.pyo %{python_sitearch}/monitor %{_sysconfdir}/plc.d/monitor +%{_sysconfdir}/plc.d/monitor.functions +%{_sysconfdir}/plc.d/zabbix %files client %defattr(-,root,root) %{_initrddir}/monitor %{_sysconfdir}/cron.d/monitor +/usr/bin/timeout.pl %files pcucontrol %{python_sitearch}/pcucontrol @@ -211,21 +221,55 @@ rm -rf $RPM_BUILD_ROOT /%{_initrddir}/monitor-runlevelagent %post server-deps -#easy_install --build-directory /var/tmp -UZ Elixir #easy_install --build-directory /var/tmp -UZ ElementTree -## TODO: something is bad wrong with this approach. ##easy_install --build-directory /var/tmp -UZ http://pypi.python.org/packages/2.5/E/Extremes/Extremes-1.1-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 http://files.turbogears.org/eggs/TurboGears-1.0.7-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 %{_datadir}/%{name}/.ssh +chmod 700 %{_datadir}/%{name}/.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 + +# NOTE: enable monitor by default, since we're installing it. +if ! plc-config --category plc_monitor --variable enabled ; then + plc-config --category plc_monitor --variable enabled --value true \ + --save /etc/planetlab/configs/site.xml /etc/planetlab/configs/site.xml +fi +if ! plc-config --category plc_monitor --variable from_email ; then + plc-config --category plc_monitor --variable from_email --value monitor@localhost.localdomain \ + --save /etc/planetlab/configs/site.xml /etc/planetlab/configs/site.xml +fi +if ! plc-config --category plc_monitor --variable cc_email ; then + plc-config --category plc_monitor --variable cc_email --value monitor@localhost.localdomain \ + --save /etc/planetlab/configs/site.xml /etc/planetlab/configs/site.xml +fi +if ! plc-config --category plc_monitor --variable rt_queue ; then + plc-config --category plc_monitor --variable rt_queue --value support \ + --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 server # TODO: this will be nice when we have a web-based service running., such as @@ -252,8 +296,40 @@ chkconfig monitor on %post runlevelagent chkconfig --add monitor-runlevelagent chkconfig monitor-runlevelagent on +if [ "$PL_BOOTCD" != "1" ] ; then + service monitor-runlevelagent restart +fi + %changelog +* Sun Jun 28 2009 Stephen Soltesz - Monitor-3.0-18 +- bug fixes. +- improved templates and views +- cleaned controller code for web +- added IPMI requirement to pcucontrol package. + +* 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