This commit changes the 'soltesz.py' module into 'moncommands.py' and
[monitor.git] / nodeaction.py
1 #!/usr/bin/python
2
3 import plc
4 import auth
5 api = plc.PLC(auth.auth, auth.plc)
6
7 import reboot
8
9 import time
10 from model import *
11
12 from config import config
13 from optparse import OptionParser
14
15 parser = OptionParser()
16 parser.set_defaults(node=None, rins=False, bootstate=None, endrecord=False)
17 parser.add_option("", "--backoff", dest="backoff", action="store_true",
18                                         help="Back off all penalties applied to a site.")
19 parser.add_option("", "--rins", dest="rins", action="store_true",
20                                         help="Back off all penalties applied to a site.")
21 parser.add_option("", "--bootstate", dest="bootstate", 
22                                         help="set the bootstate for a node.")
23 config = config(parser)
24 config.parse_args()
25
26 for node in config.args:
27         config.node = node
28
29         #plc_nodeinfo = api.GetNodes({'hostname': config.node}, None)[0]
30         #fb_nodeinfo  = fb['nodes'][config.node]['values']
31
32         if config.bootstate:
33                 print "Setting %s to bootstate %s" % ( node, config.bootstate )
34                 api.UpdateNode(node, {'boot_state' : config.bootstate})
35
36         if config.rins:
37                 print "Setting %s to rins" % node
38                 api.UpdateNode(node, {'boot_state' : 'rins'})
39
40         if config.backoff:
41                 print "Enabling Slices & Slice Creation for %s" % node
42                 plc.enableSlices(node)
43                 plc.enableSliceCreation(node)
44
45                 # plc_print_nodeinfo(plc_nodeinfo)
46                 # fb_print_nodeinfo(fb_nodeinfo)