import threading
import monitor
-from monitor.pcu import reboot
+from pcucontrol import reboot
from monitor import config
-from monitor.database import FindbadPCURecordSync, FindbadPCURecord
+from monitor.database.info.model import FindbadPCURecordSync, FindbadPCURecord, session
+from monitor import database
from monitor import util
from monitor.wrapper import plc, plccache
from nodequery import pcu_select
fbrec = FindbadPCURecord(
date_checked=datetime.fromtimestamp(values['date_checked']),
- record=fbsync.round,
+ round=fbsync.round,
plc_pcuid=pcu_id,
plc_pcu_stats=values['plc_pcu_stats'],
dns_status=values['dnsmatch'],
reboot_trial_status="%s" % values['reboot'],
)
fbnodesync.round = global_round
+
+ fbnodesync.flush()
+ fbsync.flush()
+ fbrec.flush()
+
count += 1
print "%d %s %s" % (count, nodename, values)
for pcuname in l_pcus:
pcu_id = int(pcuname)
fbnodesync = FindbadPCURecordSync.findby_or_create(plc_pcuid=pcu_id, if_new_set={'round' : 0})
+ fbnodesync.flush()
node_round = fbnodesync.round
- if node_round < global_round:
+ if node_round < global_round or config.force:
# recreate node stats when refreshed
#print "%s" % nodename
req = threadpool.WorkRequest(collectPingAndSSH, [pcuname, cohash], {},
print FindbadPCURecordSync.query.count()
print FindbadPCURecord.query.count()
+ session.flush()
def main():
global_round += 1
fbsync.round = global_round
+ fbsync.flush()
+
if config.site is not None:
api = plc.getAuthAPI()
site = api.GetSites(config.site)
dbname="findbadpcus",
cachenodes=False,
refresh=False,
+ force=False,
)
parser.add_option("-f", "--nodelist", dest="nodelist", metavar="FILE",
help="Provide the input file for the node list")
help="Refresh the cached values")
parser.add_option("-i", "--increment", action="store_true", dest="increment",
help="Increment round number to force refresh or retry")
+ parser.add_option("", "--force", action="store_true", dest="force",
+ help="Force probe without incrementing global 'round'.")
parser = parsermodule.getParser(['defaults'], parser)
config = parsermodule.parse_args(parser)
try: