import time
-import soltesz
+import database
import comon
import threadpool
import syncplcdb
from nodequery import verify,query_to_dict,node_select
+from nodecommon import *
import plc
-import auth
-api = plc.PLC(auth.auth, auth.plc)
+api = plc.getAuthAPI()
from unified_model import *
-from monitor_policy import MINUP
+from const import MINUP
round = 1
externalState = {'round': round, 'nodes': {}}
def main(config):
global externalState
- externalState = soltesz.if_cached_else(1, config.dbname, lambda : externalState)
+ externalState = database.if_cached_else(1, config.dbname, lambda : externalState)
if config.increment:
# update global round number to force refreshes across all nodes
externalState['round'] += 1
l_nodes = syncplcdb.create_plcdb()
- l_plcnodes = soltesz.dbLoad("l_plcnodes")
-
- if config.node:
- l_nodes = [config.node]
- else:
- l_nodes = [node['hostname'] for node in l_plcnodes]
+ l_plcnodes = database.dbLoad("l_plcnodes")
+
+ l_nodes = get_nodeset(config)
+ print len(l_nodes)
+ #if config.node:
+ # l_nodes = [config.node]
+ ##else:
+ # l_nodes = [node['hostname'] for node in l_plcnodes]
checkAndRecordState(l_nodes, l_plcnodes)
externalState['nodes'][nodename]['values'] = values
externalState['nodes'][nodename]['round'] = global_round
else:
+ pf = PersistFlags(nodename, 1, db='node_persistflags')
+ print "%d %35s %s since %s" % (count, nodename, pf.status, pf.last_changed)
+ del pf
count += 1
if count % 20 == 0:
- soltesz.dbDump(config.dbname, externalState)
+ database.dbDump(config.dbname, externalState)
- soltesz.dbDump(config.dbname, externalState)
+ database.dbDump(config.dbname, externalState)
-fb = soltesz.dbLoad('findbad')
-hn2lb = soltesz.dbLoad("plcdb_hn2lb")
+fb = database.dbLoad('findbad')
def getnodesup(nodelist):
up = 0
return True
if __name__ == '__main__':
- from config import config
- from optparse import OptionParser
- parser = OptionParser()
+ import parser as parsermodule
+ parser = parsermodule.getParser(['nodesets'])
parser.set_defaults(filename=None, node=None, nodeselect=False, nodegroup=None,
increment=False, dbname="nodebad", cachenodes=False)
- parser.add_option("", "--node", dest="node", metavar="hostname",
- help="Provide a single node to operate on")
- parser.add_option("", "--nodelist", dest="nodelist", metavar="file.list",
- help="Provide a list of files to operate on")
-
+
parser.add_option("", "--dbname", dest="dbname", metavar="FILE",
help="Specify the name of the database to which the information is saved")
parser.add_option("-i", "--increment", action="store_true", dest="increment",
help="Increment round number to force refresh or retry")
- config = config(parser)
- config.parse_args()
+ parser = parsermodule.getParser(['defaults'], parser)
+ config = parsermodule.parse_args(parser)
try:
main(config)
except Exception, err:
import traceback
print traceback.print_exc()
+ from nodecommon import email_exception
+ email_exception()
print "Exception: %s" % err
print "Saving data... exitting."
- soltesz.dbDump(config.dbname, externalState)
+ database.dbDump(config.dbname, externalState)
sys.exit(0)