X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=nodegroups.py;h=3f4b98004e3b5233ed9d849a00b3cec4b32bf70b;hb=2e4713fecd3f5115a95786b3f6a482167fcd568c;hp=be4ed6f9423ba0dc50d6b65bf82b3ff9bdf817d9;hpb=c51ad794e8dc07072d705b508e79ba06849aa408;p=monitor.git diff --git a/nodegroups.py b/nodegroups.py index be4ed6f..3f4b980 100755 --- a/nodegroups.py +++ b/nodegroups.py @@ -16,37 +16,26 @@ import plc api = plc.getAuthAPI() -from optparse import OptionParser +import parser as parsermodule from sets import Set from nodequery import verify,query_to_dict,node_select from nodecommon import * import database +import util.file def main(): - from config import config fb = database.dbLoad("findbad") - parser = OptionParser() - parser.set_defaults(nodegroup="Alpha", - node=None, - nodelist=None, - list=True, + parser = parsermodule.getParser(['nodesets']) + parser.set_defaults( list=True, add=False, nocolor=False, notng=False, - delete=False, - nodeselect=None, - ) + delete=False,) + parser.add_option("", "--not", dest="notng", action="store_true", help="All nodes NOT in nodegroup.") - parser.add_option("", "--nodegroup", dest="nodegroup", metavar="NodegroupName", - help="Specify a nodegroup to perform actions on") - parser.add_option("", "--nodeselect", dest="nodeselect", metavar="querystring", - help="Specify a query to perform on findbad db") - parser.add_option("", "--site", dest="site", metavar="site name", - help="Specify a site to view node status") - parser.add_option("", "--nocolor", dest="nocolor", action="store_true", help="Enable color") parser.add_option("", "--list", dest="list", action="store_true", @@ -55,19 +44,16 @@ def main(): help="Add nodes to the given nodegroup") parser.add_option("", "--delete", dest="delete", action="store_true", help="Delete nodes from the given nodegroup") - parser.add_option("", "--node", dest="node", metavar="nodename.edu", - help="A single node name to add to the nodegroup") - 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 if config.node or config.nodelist: if config.node: hostlist = [ config.node ] else: - hostlist = config.getListFromFile(config.nodelist) + hostlist = util.file.getListFromFile(config.nodelist) # NOTE: preserve order given in file. Otherwise, return values are not in order # given to GetNodes @@ -131,6 +117,7 @@ def main(): elif config.list: print " ---- Nodes in the %s Node Group ----" % group_str + print " Hostname plc obs pcu key kernel last_contact, last change, comon uptime" i = 1 for node in nodelist: print "%-2d" % i,