FORGE: Added including script
[myslice.git] / forge / script / PlcApi / getSitesNNodes.py
1 #!/usr/bin/python
2 import xmlrpclib
3 import Auth
4
5 plc_host='www.planet-lab.eu'
6 slice_name='upmc_tp'
7
8 api_url="https://%s:443/PLCAPI/"%plc_host
9 plc_api= xmlrpclib.ServerProxy(api_url, allow_none=True)
10
11 N = input("Number of environment wanted :")
12 M = input("Number of node wanted by environment :")
13 sites = plc_api.GetSites(Auth.auth, ['*'], ['site_id', 'name', 'max_slices', 'slice_ids', 'node_ids'])
14 sitesSelected = []
15
16 i =  0
17 for site in sites:
18         if i < N:
19                 j = 0
20                 nodesSite = plc_api.GetNodes(Auth.auth, site['node_ids'], ['hostname', 'run_level', 'boot_state'])
21                 for node in nodesSite:
22                         #print node
23                         if node['boot_state'] == 'boot' and node['run_level'] == 'boot':
24                                 j+=1
25                 if j >= M:
26                         i += 1
27                         sitesSelected.append(site)
28
29 for site in sitesSelected:
30         print site['name'], site['site_id']
31
32 if len(sitesSelected) < N:
33         print "\tWe just manage to find ",len(sitesSelected),"environment"