controllers should allow refreshes while findall is running.
Stephen Soltesz [Wed, 3 Jun 2009 23:00:03 +0000 (23:00 +0000)]
add description to RunlevelAgent
something is failing in the monitor-server-deps post install process for
easy_setup dependencies.

Monitor.spec
RunlevelAgent.py
monitor/bootman.py
web/MonitorWeb/monitorweb/controllers.py

index 31ffe55..ce120ff 100644 (file)
@@ -211,6 +211,11 @@ rm -rf $RPM_BUILD_ROOT
 %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 "Paste==1.5.1"
+#easy_install --build-directory /var/tmp -UZ "PasteDeploy==1.3.1"
+
 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
 
index 218a87d..04dcfee 100644 (file)
@@ -1,4 +1,11 @@
 #!/usr/bin/python
+#
+# RunlevelAgent - acts as a heartbeat back to myplc reporting that the node is
+#      online and whether it is in boot or pre-boot run-level.
+#   This is useful to identify nodes that are behind a firewall, as well as to
+#   have the machine report run-time status both in safeboot and boot modes,
+#   so that it is immediately visible at myplc (gui or api).
+# 
 
 import xml, xmlrpclib
 import logging
index 4693315..36d8b35 100755 (executable)
@@ -471,6 +471,7 @@ class DebugInterface:
                # update_node_config_email
                for n in ["bminit-cfg-exception-nocfg-update-bootupdatefail-nonode-debug-done",
                                  "bminit-cfg-exception-update-bootupdatefail-nonode-debug-done",
+                                 "bminit-cfg-exception-update-bootupdatefail-nonode-debug-validate-exception-done",
                                  "bminit-cfg-auth-bootcheckfail-nonode-exception-update-bootupdatefail-nonode-debug-done",
                                ]:
                        sequences.update({n : "update_node_config_email"})
index 66c6b36..33f88e1 100644 (file)
@@ -186,6 +186,9 @@ class Root(controllers.RootController, MonitorXmlrpcServer):
                        #node.history.status
                        #print node.hostname
 
+                       if not node.history:
+                               continue
+
                        if node.history.status in ['down', 'offline']:
                                if node.plc_node_stats and node.plc_node_stats['last_contact'] != None:
                                        filtercount['down'] += 1