AM nagios/plc2nagios.py
[monitor.git] / nodenetwork.py
1 #!/usr/bin/python
2
3 import sys
4 import plc
5 import auth
6 api = plc.PLC(auth.auth, auth.plc)
7 import config
8
9 if len(sys.argv[1:]) > 0:
10         for host in sys.argv[1:]:
11                 n = api.GetNodes(host)[0]
12                 nn = api.GetNodeNetworks(n['nodenetwork_ids'])
13                 for nodenet in nn:
14                         nnet2 = api.GetNodeNetworks({'ip': nodenet['ip']})
15                         print "len of nn entries with ip: %s == %s " % ( nodenet['ip'], len(nnet2) )
16                         for nn2 in nnet2:
17                                 n2 = api.GetNodes(nn2['node_id'])
18                                 print "\t%d node is attached to nodenetwork %s" % ( len(n2), nn2['nodenetwork_id'] )
19                                 if len(n2) != 0 :
20                                         n2 = n2[0]
21                                         print
22                                         #print "host %s : %s" % (n2['hostname'], n2['node_id'])
23                                 else:
24                                         pass
25                                         #print nn2['nodenetwork_id']
26                                         #api.DeleteNodeNetwork(nn2['nodenetwork_id'])
27 else:
28         nnids = config.getListFromFile('nnids.txt')
29         nnids = [ int(i) for i in nnids]
30         for id in nnids:
31                 nnet2 = api.GetNodeNetworks(id)
32                 for nn2 in nnet2:
33                         n2 = api.GetNodes(nn2['node_id'])
34                         if len(n2) == 0 :
35                                 print "\t%d node is attached to nodenetwork %s %s" % ( len(n2), nn2['nodenetwork_id'] , nn2['ip']),
36
37                                 netlist = api.GetNodeNetworks({'ip' : nn2['ip']})
38                                 if len(netlist) != 1:
39                                         node_len = len([ n['node_id'] for n in netlist])
40                                         print "\t but, ip %s is used by %s nodenetwork entries" % (nn2['ip'], node_len)
41                                 else:
42                                         print
43                                 #print nn2
44                         else:
45                                 print
46                                 pass