--- /dev/null
+#!/usr/bin/python
+
+from monitor.database import FindbadNodeRecord, FindbadPCURecord
+from template import *
+from nodequery import *
+from monitor import util
+import sys
+
+
+dc7800list = util.file.getListFromFile("dc7800.txt")
+
+# get node info
+# if membership satisfied
+# get pcu info
+# verify pcu constraint
+# verify node constraint
+
+fbquery = FindbadNodeRecord.get_all_latest()
+for noderec in fbquery:
+ fbinfo = noderec.to_dict()
+ member = verifyType(dc7800['membership'], fbinfo)
+ if not member: continue
+
+ if pcu_in(fbinfo):
+ fbpcuinfo = FindbadPCURecord.get_latest_by(plc_pcuid=fbinfo['plc_node_stats']['pcu_ids'][0]).to_dict()
+ else:
+ fbpcuinfo = None
+ fbinfo['pcuinfo'] = fbpcuinfo
+
+ pcuok = verifyType(dc7800['pcu']['constraint'], fbpcuinfo)
+ nodeok = verifyType(dc7800['node']['constraint'], fbinfo)
+ print "pcuok : ", pcuok, " nodeok: ", nodeok , " ", hostname
+ continue
+ sys.exit(1)
+
+ if not pcuok and not nodeok:
+ # donation_down_one
+ pass
+ elif not pcuok and nodeok:
+ # donation_nopcu_one
+ pass
+ elif pcuok and not nodeok:
+ # reboot
+ pass
+ elif pcuok and nodeok:
+ # noop
+ pass
+
+ if pcuok:
+ print "PCU-OK ",
+ else:
+ print "PCU-BAD",
+ if nodeok:
+ print "NODE-OK ",
+ else:
+ print "NODE-BAD",
+ print " for %-45s" % hostname
+
+
+