checks slices
[myplc.git] / bin / spot-aliens.py
1 #!/usr/bin/plcsh
2
3 all_sites=GetSites({},['peer_id','site_id','login_base','name'])
4 all_nodes=GetNodes({},['peer_id','node_id','site_id','hostname'])
5 all_persons=GetPersons({},['peer_id','person_id','site_ids','key_ids','email'])
6 all_keys=GetKeys({},['peer_id','key_id'])
7 all_slices=GetSlices({},['peer_id','slice_id','name','site_id'])
8
9 site_hash=dict ( [ (site['site_id'],site) for site in all_sites ] )
10 #node_hash=dict ( [ (node['node_id'],node) for node in all_nodes ] )
11 #person_hash=dict ( [ (person['person_id'],person) for person in all_persons ] )
12 key_hash=dict ( [ (key['key_id'],key) for key in all_keys ] )
13 slice_hash=dict ( [ (slice['slice_id'],slice) for slice in all_slices ] )
14
15 # nodes are expected to be in the same peer as their owning site
16 for node in all_nodes:
17     site=site_hash[node['site_id']]
18     if node['peer_id'] != site['peer_id']: 
19         print "NODE-SITE mismatch %r IN SITE %r"%(node,site)
20
21 # same for slices
22 for slice in all_slices:
23     site=site_hash[slice['site_id']]
24     if slice['peer_id'] != site['peer_id']: 
25         print "SLICE-SITE mismatch %r IN SITE %r"%(slice,site)
26
27 # same for persons
28 for person in all_persons:
29     for site_id in person['site_ids']:
30         site=site_hash[site_id]
31         if person['peer_id'] != site['peer_id']:
32             print "PERSON-SITE mismatch %r IN SITE %r"%(person,site)
33
34 # persons and keys
35 for person in all_persons:
36     for key_id in person['key_ids']:
37         key=key_hash[key_id]
38         if person['peer_id'] != key['peer_id']:
39             print "PERSON-KEY mismatch %r & KEY %r"%(person,key)
40
41