merge from 2.0 branch
[monitor.git] / nodeconfig.py
index d8a8c12..3fe9a84 100755 (executable)
@@ -1,14 +1,14 @@
 #!/usr/bin/python
 
 
-import plc
+from monitor.wrapper import plc
 api = plc.getAuthAPI()
 
-from optparse import OptionParser
+from monitor import parser as parsermodule
 from sets import Set
 
-from nodecommon import *
-import database
+from monitor.common import *
+from monitor.database.info.model import FindbadNodeRecord
 
 def network_config_to_str(net):
 
@@ -21,10 +21,8 @@ def network_config_to_str(net):
        
 
 def main():
-       from config import config
-       fb = database.dbLoad("findbad")
 
-       parser = OptionParser()
+       parser = parsermodule.getParser()
        parser.set_defaults(nodelist=None,
                                                list=False,
                                                add=False,
@@ -33,8 +31,8 @@ def main():
                                                )
        parser.add_option("", "--nodelist", dest="nodelist", metavar="list.txt", 
                                                help="Use all nodes in the given file for operation.")
-       config = config(parser)
-       config.parse_args()
+       parser = parsermodule.getParser(['defaults'], parser)
+       config = parsermodule.parse_args(parser)
 
        # COLLECT nodegroups, nodes and node lists
        for node in config.args:
@@ -58,6 +56,7 @@ def main():
                        #       print k, "==" , net[k]
                except:
                        print "Error with %s" % node
+                       email_exception()
                        import traceback; print traceback.print_exc()
                        pass
 
@@ -68,7 +67,8 @@ def main():
                        i = 1
                        for node in nodelist:
                                print "%-2d" % i, 
-                               print nodegroup_display(node, fb)
+                               fbdata = FindbadNodeRecord.get_latest_by(hostname=node['hostname'])
+                               print nodegroup_display(node, fbdata.to_dict())
                                i += 1
 
                elif config.add and config.nodegroup: