add a server-deps package to make rpm installs easier for monitor-server
authorStephen Soltesz <soltesz@cs.princeton.edu>
Mon, 27 Apr 2009 17:04:51 +0000 (17:04 +0000)
committerStephen Soltesz <soltesz@cs.princeton.edu>
Mon, 27 Apr 2009 17:04:51 +0000 (17:04 +0000)
Monitor.spec
policy.py

index 62a33f9..17694c4 100644 (file)
@@ -46,29 +46,41 @@ 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: 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: python-sqlalchemy
+#Requires: python-elixir
 #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: rt3 == 3.4.1
+Requires: PLCWWW >= 4.2
+Requires: bootcd-planetlab-i386 >= 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
@@ -194,6 +206,10 @@ rm -rf $RPM_BUILD_ROOT
 /usr/bin/RunlevelAgent.pyc
 /%{_initrddir}/monitor-runlevelagent
 
+%post server-deps
+easy_install -UZ Elixir
+easy_install -UZ http://files.turbogears.org/eggs/TurboGears-1.0.7-py2.5.egg
+
 %post server
 # TODO: this will be nice when we have a web-based service running., such as
 #              an API server or so on.
index 43b37ca..7ce85db 100755 (executable)
--- a/policy.py
+++ b/policy.py
@@ -67,6 +67,8 @@ def main(hostnames, sitenames):
                        changed_lessthan(nodehist.last_changed, 1.0) and \
                        found_within(recent_actions, 'down_notice', 7.0) and \
                        not found_within(recent_actions, 'online_notice', 0.5):
+                               # NOTE: chronicly flapping nodes will not get 'online' notices
+                               #               since, they are never up long enough to be 'good'.
                            # NOTE: searching for down_notice proves that the node has
                                #               gone through a 'down' state first, rather than just
                                #               flapping through: good, offline, online, ...