%define name monitor
%define version 3.0
-%define taglevel 18
+%define taglevel 20
%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
%global python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
Requires: perl-IO-Socket-SSL
Requires: MySQL-python
Requires: nmap
+Requires: nc
Requires: rt3
Requires: plewww-plekit
#################### 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}
%defattr(-,root,root)
%{_initrddir}/monitor
%{_sysconfdir}/cron.d/monitor
+/usr/bin/timeout.pl
%files pcucontrol
%{python_sitearch}/pcucontrol
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 ! grep '<category id="plc_zabbix">' /etc/planetlab/default_config.xml ; then
- sed -i 's|<category id="plc_net">| <category id="plc_zabbix">\n <name>Zabbix Configuration</name>\n <description>Zabbix</description>\n <variablelist>\n <variable id="enabled" type="boolean">\n <name>Enabled</name>\n <value>false</value>\n <description>Enable on this machine.</description>\n </variable>\n <variable id="host" type="hostname">\n <name>Hostname</name>\n <value>localhost.localdomain</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 Zabbix server.</description>\n </variable>\n </variablelist>\n </category>\n <category id="plc_net">|' /etc/planetlab/default_config.xml
+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
-# NOTE: enable monitor by default, since we're installing it.
-plc-config --save /etc/planetlab/configs/site.xml \
- --category plc_monitor --variable enabled --value true
+# 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
%changelog
+* 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