pcus += node['pcu_ids']
# clear out dups.
l_pcus = [pcu for pcu in sets.Set(pcus)]
+
+ elif config.node is not None:
+ l_nodes = api.GetNodes(config.node, ['pcu_ids'])
+ pcus = []
+ for node in l_nodes:
+ pcus += node['pcu_ids']
+ # clear out dups.
+ l_pcus = [pcu for pcu in sets.Set(pcus)]
+
elif config.sitelist:
site_list = config.sitelist.split(',')
pcuid=None,
pcuselect=None,
site=None,
+ node=None,
sitelist=None,
dbname="findbadpcus",
cachenodes=False,
)
parser.add_option("-f", "--nodelist", dest="nodelist", metavar="FILE",
help="Provide the input file for the node list")
+ parser.add_option("", "--node", dest="node", metavar="FILE",
+ help="Get all pcus associated with the given node")
parser.add_option("", "--site", dest="site", metavar="FILE",
help="Get all pcus associated with the given site's nodes")
parser.add_option("", "--sitelist", dest="sitelist", metavar="FILE",
pcus += node['pcu_ids']
# clear out dups.
l_pcus = [pcu for pcu in sets.Set(pcus)]
+
+ elif config.node:
+ l_nodes = api.GetNodes(config.node, ['pcu_ids'])
+ pcus = []
+ for node in l_nodes:
+ pcus += node['pcu_ids']
+ # clear out dups.
+ l_pcus = [pcu for pcu in sets.Set(pcus)]
+
elif config.pcu:
for pcu in l_plcpcus:
if ( pcu['hostname'] is not None and config.pcu in pcu['hostname'] ) or \
if __name__ == '__main__':
parser = parsermodule.getParser()
- parser.set_defaults(filename=None, pcu=None, site=None, pcuselect=False, pcugroup=None, cachepcus=False)
+ parser.set_defaults(filename=None, pcu=None, node=None, site=None, pcuselect=False, pcugroup=None, cachepcus=False)
parser.add_option("", "--pcu", dest="pcu", metavar="hostname",
help="Provide a single pcu to operate on")
parser.add_option("", "--site", dest="site", metavar="sitename",
help="Provide a single sitename to operate on")
+ parser.add_option("", "--node", dest="node", metavar="nodename",
+ help="Provide a single node to operate on")
parser.add_option("", "--pculist", dest="pculist", metavar="file.list",
help="Provide a list of files to operate on")
main2(config)
except Exception, err:
import traceback
- print traceback.print_exc()
+ traceback.print_exc()
print "Exception: %s" % err
sys.exit(0)
from monitor import database
from monitor import parser as parsermodule
from monitor import config
-from monitor.database.info.model import HistorySiteRecord, HistoryNodeRecord, session
+from monitor.database.info.model import HistorySiteRecord, HistoryNodeRecord, session, BlacklistRecord
from monitor.wrapper import plc, plccache
from monitor.const import MINUP
if config.site:
l_sites = [config.site]
+ elif config.node:
+ l_sites = [plccache.plcdb_hn2lb[config.node]]
elif config.sitelist:
site_list = config.sitelist.split(',')
l_sites = site_list
nodehist = HistoryNodeRecord.findby_or_create(hostname=node['hostname'])
nodebl = BlacklistRecord.get_by(hostname=node['hostname'])
if (nodehist is not None and nodehist.status != 'down') or \
- (nodebl is not None and not nodebl.expired():
+ (nodebl is not None and not nodebl.expired()):
up = up + 1
except:
import traceback
check_site_state(d_site, sitehist)
count += 1
- print "%d %15s slices(%2s) nodes(%2s) up(%2s) %s" % (count, sitename, sitehist.slices_used,
+ print "%d %15s slices(%2s) nodes(%2s) notdown(%2s) %s" % (count, sitename, sitehist.slices_used,
sitehist.nodes_total, sitehist.nodes_up, sitehist.status)
sitehist.flush()
@expose(template="monitorweb.templates.pcuview")
@exception_handler(nodeaction_handler,"isinstance(tg_exceptions,RuntimeError)")
def pcuview(self, loginbase=None, pcuid=None, hostname=None, **data):
+ session.clear()
sitequery=[]
pcuquery=[]
nodequery=[]