From 634f7f99669108187fd5bd4c3f70a3709aed34aa Mon Sep 17 00:00:00 2001 From: Stephen Soltesz Date: Tue, 24 Jun 2008 19:24:24 +0000 Subject: [PATCH] Tool to find stray node network entries in the PLC db. There were currently 289 nn entires that were not associated with a valid node. This seems like an error to me. --- nodenetwork.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 nodenetwork.py diff --git a/nodenetwork.py b/nodenetwork.py new file mode 100755 index 0000000..bf80e00 --- /dev/null +++ b/nodenetwork.py @@ -0,0 +1,46 @@ +#!/usr/bin/python + +import sys +import plc +import auth +api = plc.PLC(auth.auth, auth.plc) +import config + +if len(sys.argv[1:]) > 0: + for host in sys.argv[1:]: + n = api.GetNodes(host)[0] + nn = api.GetNodeNetworks(n['nodenetwork_ids']) + for nodenet in nn: + nnet2 = api.GetNodeNetworks({'ip': nodenet['ip']}) + print "len of nn entries with ip: %s == %s " % ( nodenet['ip'], len(nnet2) ) + for nn2 in nnet2: + n2 = api.GetNodes(nn2['node_id']) + print "\t%d node is attached to nodenetwork %s" % ( len(n2), nn2['nodenetwork_id'] ) + if len(n2) != 0 : + n2 = n2[0] + print + #print "host %s : %s" % (n2['hostname'], n2['node_id']) + else: + pass + #print nn2['nodenetwork_id'] + #api.DeleteNodeNetwork(nn2['nodenetwork_id']) +else: + nnids = config.getListFromFile('nnids.txt') + nnids = [ int(i) for i in nnids] + for id in nnids: + nnet2 = api.GetNodeNetworks(id) + for nn2 in nnet2: + n2 = api.GetNodes(nn2['node_id']) + if len(n2) == 0 : + print "\t%d node is attached to nodenetwork %s %s" % ( len(n2), nn2['nodenetwork_id'] , nn2['ip']), + + netlist = api.GetNodeNetworks({'ip' : nn2['ip']}) + if len(netlist) != 1: + node_len = len([ n['node_id'] for n in netlist]) + print "\t but, ip %s is used by %s nodenetwork entries" % (nn2['ip'], node_len) + else: + print + #print nn2 + else: + print + pass -- 2.47.0