show/hide advance query form.
[monitor.git] / Monitor.spec
index 3ec4ead..cc90984 100644 (file)
@@ -6,7 +6,7 @@
 
 %define name monitor
 %define version 3.0
-%define taglevel 17
+%define taglevel 22
 
 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 %global python_sitearch        %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
@@ -62,6 +62,7 @@ Requires: perl-libwww-perl
 Requires: perl-IO-Socket-SSL 
 Requires: MySQL-python
 Requires: nmap
+Requires: nc
 Requires: rt3
 
 Requires: plewww-plekit
@@ -96,6 +97,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 +131,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}
@@ -139,7 +143,9 @@ 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 \
@@ -197,11 +203,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
@@ -216,9 +225,6 @@ rm -rf $RPM_BUILD_ROOT
 #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
 
-# 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
 
 ## 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
@@ -227,17 +233,44 @@ 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
+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 '<category id="plc_monitor">' /etc/planetlab/default_config.xml ; then 
-    sed -i 's|<category id="plc_net">| <category id="plc_monitor">\n <name>Monitor Service Configuration</name>\n <description>Monitor</description>\n <variablelist>\n <variable id="enabled" type="boolean">\n <name>Enabled</name>\n <value>true</value>\n <description>Enable on this machine.</description>\n </variable>\n <variable id="email">\n <value></value>\n </variable>\n <variable id="dbpassword">\n <value></value>\n </variable>\n <variable id="host" type="hostname">\n <name>Hostname</name>\n <value>pl-virtual-06.cs.princeton.edu</value>\n <description>The fully qualified hostname.</description>\n </variable>\n <variable id="ip" type="ip">\n <name>IP Address</name>\n <value/>\n <description>The IP address of the monitor server.</description>\n </variable>\n </variablelist>\n </category>\n <category id="plc_net">|' /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
@@ -264,8 +297,48 @@ chkconfig monitor on
 %post runlevelagent
 chkconfig --add monitor-runlevelagent
 chkconfig monitor-runlevelagent on
+if [ "$PL_BOOTCD" != "1" ] ; then
+       service monitor-runlevelagent restart
+fi
+
 
 %changelog
+* Fri Oct 09 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - Monitor-3.0-22
+- show/hide advance query form.
+
+* Thu Sep 24 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - Monitor-3.0-21
+- fixed pause_penalty bug.
+- fixed IPAL pcucontrol bug
+- fixed bootman tunnel setup bug (occurred in rare cases)
+- deprecated pcuview
+- added BootmanSequenceRecords to separate config data from source code
+- added get/setBootmanSequence(s) to xmlrpc API
+
+* Fri Sep 04 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - Monitor-3.0-20
+- Major Features:
+- added bm log collection and optional integration with BootManager's log Upload()
+- added iptables_status
+- expanded advanced query
+- added differentiated bootmanager_restore actions so that actionsummary displays
+- counts for each kind of bootmanager action
+- added pcuerror notices (for mis-configurations) in addition to pcufailed notices
+- added plain-text options for query page by adding tg_format=plain to URL
+- fixed cross-module reference that prevented pcucontrol for working with RebootNodeWithPCU() api call.
+- fixed a bug in determining whether comon's dir was running on a node
+
+* Mon Aug 17 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - Monitor-3.0-19
+- Major increment -
+- adds multiple features and web changes
+- adds new fields to db
+- improved layout
+- general improvements otherwise
+
+* Sun Jun 28 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - 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 <soltesz@cs.princeton.edu> - Monitor-3.0-17
 - added bootmanager log links
 - addressed root cause of IntegrityErrors ; big deal