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
use plccache, instead of directly loading pkl files
[monitor.git]
/
grouprins.py
diff --git
a/grouprins.py
b/grouprins.py
index
d859727
..
1eeb092
100755
(executable)
--- a/
grouprins.py
+++ b/
grouprins.py
@@
-12,30
+12,29
@@
# * do something else to them all.
#
# * do something else to them all.
#
-import plc
+from monitor import config
+from monitor import util
+from monitor import const
+from monitor import database
+from monitor import parser as parsermodule
+from monitor.pcu import reboot
+from monitor.wrapper import plc
api = plc.getAuthAPI()
import traceback
api = plc.getAuthAPI()
import traceback
-import config
-import util.file
from optparse import OptionParser
from optparse import OptionParser
-import const
from nodecommon import *
from nodequery import verify,query_to_dict,node_select
from nodecommon import *
from nodequery import verify,query_to_dict,node_select
-import database
from unified_model import *
import os
import time
from unified_model import *
import os
import time
-import parser as parsermodule
-
from model import *
from model import *
+
import bootman # debug nodes
import bootman # debug nodes
-import reboot # down nodes without pcu
-import mailmonitor # down nodes with pcu
+import mailmonitor # down nodes without pcu
from emailTxt import mailtxt
from emailTxt import mailtxt
-#reboot.verbose = 0
import sys
class Reboot(object):
import sys
class Reboot(object):
@@
-228,14
+227,20
@@
if config.nodegroup:
nodelist = api.GetNodes(ng[0]['node_ids'])
hostnames = [ n['hostname'] for n in nodelist ]
nodelist = api.GetNodes(ng[0]['node_ids'])
hostnames = [ n['hostname'] for n in nodelist ]
+if config.site:
+ site = api.GetSites(config.site)
+ l_nodes = api.GetNodes(site[0]['node_ids'], ['hostname'])
+ hostnames = [ n['hostname'] for n in l_nodes ]
+
if config.node or config.nodelist:
if config.node: hostnames = [ config.node ]
else: hostnames = util.file.getListFromFile(config.nodelist)
if config.node or config.nodelist:
if config.node: hostnames = [ config.node ]
else: hostnames = util.file.getListFromFile(config.nodelist)
-fb = database.dbLoad("findbad")
+fbquery = FindbadNodeRecord.get_all_latest()
+fb_nodelist = [ n.hostname for n in fbquery ]
if config.nodeselect:
if config.nodeselect:
- hostnames = node_select(config.nodeselect, fb
['nodes'].keys(), fb
)
+ hostnames = node_select(config.nodeselect, fb
_nodelist
)
if config.findbad:
# rerun findbad with the nodes in the given nodes.
if config.findbad:
# rerun findbad with the nodes in the given nodes.
@@
-339,10
+344,10
@@
for host in hostnames:
print "ALL METHODS OF RESTARTING %s FAILED" % host
args = {}
args['hostname'] = host
print "ALL METHODS OF RESTARTING %s FAILED" % host
args = {}
args['hostname'] = host
- m = PersistMessage(host, "ALL METHODS FAILED for %(hostname)s" % args,
-
"CANNOT CONTACT", False, db='suspect_persistmessages')
- m.reset()
- m.send(['monitor-list@lists.planet-lab.org'])
+
#
m = PersistMessage(host, "ALL METHODS FAILED for %(hostname)s" % args,
+
#
"CANNOT CONTACT", False, db='suspect_persistmessages')
+
#
m.reset()
+
#
m.send(['monitor-list@lists.planet-lab.org'])
l = Log(host, record)
print l
l = Log(host, record)
print l