git://git.onelab.eu
/
monitor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
move clean_policy.py into monitor package
[monitor.git]
/
findbadpcu.py
diff --git
a/findbadpcu.py
b/findbadpcu.py
index
48b1761
..
f7a3576
100755
(executable)
--- a/
findbadpcu.py
+++ b/
findbadpcu.py
@@
-15,10
+15,9
@@
import threading
import monitor
from monitor.pcu import reboot
from monitor import config
import monitor
from monitor.pcu import reboot
from monitor import config
-from monitor.database
import FindbadPCURecordSync, FindbadPCURecord
+from monitor.database
.info.model import FindbadPCURecordSync, FindbadPCURecord, session
from monitor import util
from monitor import util
-from monitor.wrapper import plc
-import syncplcdb
+from monitor.wrapper import plc, plccache
from nodequery import pcu_select
plc_lock = threading.Lock()
from nodequery import pcu_select
plc_lock = threading.Lock()
@@
-50,7
+49,7
@@
def get_pcu(pcuname):
except:
try:
#print "GetPCU from file %s" % pcuname
except:
try:
#print "GetPCU from file %s" % pcuname
- l_pcus =
database.dbLoad("pculist")
+ l_pcus =
plccache.l_pcus
for i in l_pcus:
if i['pcu_id'] == pcuname:
l_pcu = i
for i in l_pcus:
if i['pcu_id'] == pcuname:
l_pcu = i
@@
-68,7
+67,7
@@
def get_nodes(node_ids):
l_node = plc.getNodes(node_ids, ['hostname', 'last_contact', 'node_id', 'ports'])
except:
try:
l_node = plc.getNodes(node_ids, ['hostname', 'last_contact', 'node_id', 'ports'])
except:
try:
- plc_nodes =
database.dbLoad("l_plcnodes")
+ plc_nodes =
plccache.l_plcnodes
for n in plc_nodes:
if n['node_id'] in node_ids:
l_node.append(n)
for n in plc_nodes:
if n['node_id'] in node_ids:
l_node.append(n)
@@
-124,7
+123,7
@@
def get_plc_site_values(site_id):
d_site = d_site[0]
except:
try:
d_site = d_site[0]
except:
try:
- plc_sites =
database.dbLoad("l_plcsites")
+ plc_sites =
plccache.l_plcsites
for site in plc_sites:
if site['site_id'] == site_id:
d_site = site
for site in plc_sites:
if site['site_id'] == site_id:
d_site = site
@@
-275,6
+274,7
@@
def recordPingAndSSH(request, result):
fbrec = FindbadPCURecord(
date_checked=datetime.fromtimestamp(values['date_checked']),
fbrec = FindbadPCURecord(
date_checked=datetime.fromtimestamp(values['date_checked']),
+ round=fbsync.round,
plc_pcuid=pcu_id,
plc_pcu_stats=values['plc_pcu_stats'],
dns_status=values['dnsmatch'],
plc_pcuid=pcu_id,
plc_pcu_stats=values['plc_pcu_stats'],
dns_status=values['dnsmatch'],
@@
-283,6
+283,11
@@
def recordPingAndSSH(request, result):
reboot_trial_status="%s" % values['reboot'],
)
fbnodesync.round = global_round
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)
count += 1
print "%d %s %s" % (count, nodename, values)
@@
-308,6
+313,7
@@
def checkAndRecordState(l_pcus, cohash):
for pcuname in l_pcus:
pcu_id = int(pcuname)
fbnodesync = FindbadPCURecordSync.findby_or_create(plc_pcuid=pcu_id, if_new_set={'round' : 0})
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:
node_round = fbnodesync.round
if node_round < global_round:
@@
-340,12
+346,14
@@
def checkAndRecordState(l_pcus, cohash):
print FindbadPCURecordSync.query.count()
print FindbadPCURecord.query.count()
print FindbadPCURecordSync.query.count()
print FindbadPCURecord.query.count()
+ session.flush()
def main():
global global_round
def main():
global global_round
- l_pcus = monitor.database.if_cached_else_refresh(1, config.refresh, "pculist", lambda : plc.GetPCUs())
+ # monitor.database.if_cached_else_refresh(1, config.refresh, "pculist", lambda : plc.GetPCUs())
+ l_pcus = plccache.l_pcus
cohash = {}
fbsync = FindbadPCURecordSync.findby_or_create(plc_pcuid=0, if_new_set={'round' : global_round})
cohash = {}
fbsync = FindbadPCURecordSync.findby_or_create(plc_pcuid=0, if_new_set={'round' : global_round})
@@
-357,6
+365,8
@@
def main():
global_round += 1
fbsync.round = global_round
global_round += 1
fbsync.round = global_round
+ fbsync.flush()
+
if config.site is not None:
api = plc.getAuthAPI()
site = api.GetSites(config.site)
if config.site is not None:
api = plc.getAuthAPI()
site = api.GetSites(config.site)