FORGE: Added including script
[myslice.git] / forge / script / PlcApi / getSitesNNodes.py
diff --git a/forge/script/PlcApi/getSitesNNodes.py b/forge/script/PlcApi/getSitesNNodes.py
new file mode 100755 (executable)
index 0000000..1409979
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/python
+import xmlrpclib
+import Auth
+
+plc_host='www.planet-lab.eu'
+slice_name='upmc_tp'
+
+api_url="https://%s:443/PLCAPI/"%plc_host
+plc_api= xmlrpclib.ServerProxy(api_url, allow_none=True)
+
+N = input("Number of environment wanted :")
+M = input("Number of node wanted by environment :")
+sites = plc_api.GetSites(Auth.auth, ['*'], ['site_id', 'name', 'max_slices', 'slice_ids', 'node_ids'])
+sitesSelected = []
+
+i =  0
+for site in sites:
+       if i < N:
+               j = 0
+               nodesSite = plc_api.GetNodes(Auth.auth, site['node_ids'], ['hostname', 'run_level', 'boot_state'])
+               for node in nodesSite:
+                       #print node
+                       if node['boot_state'] == 'boot' and node['run_level'] == 'boot':
+                               j+=1
+               if j >= M:
+                       i += 1
+                       sitesSelected.append(site)
+
+for site in sitesSelected:
+       print site['name'], site['site_id']
+
+if len(sitesSelected) < N:
+       print "\tWe just manage to find ",len(sitesSelected),"environment"