8 REST_API="http://alpha.opencloud.us:8000/plstackapi/"
10 NODES_API = REST_API + "nodes/"
11 SLICES_API = REST_API + "slices/"
12 SLIVERS_API = REST_API + "slivers/"
14 opencloud_auth=("demo@onlab.us", "demo")
16 def get_slice_id(slice_name):
17 r = requests.get(SLICES_API + "?name=%s" % slice_name, auth=opencloud_auth)
18 return r.json()[0]["id"]
20 def get_node_id(host_name):
21 # r = requests.get(NODES_API + "?name=%s" % host_name, auth=opencloud_auth)
22 # return r.json()[0]["id"]
23 r = requests.get(NODES_API)
26 if node["name"].lower() == host_name.lower():
28 print >> sys.stderr, "Error: failed to find node %s" % host_name
31 def get_slivers(slice_id=None, node_id=None):
34 queries.append("slice=%s" % str(slice_id))
36 queries.append("node=%s" % str(node_id))
39 query_string = "?" + "&".join(queries)
43 r = requests.get(SLIVERS_API + query_string, auth=opencloud_auth)
50 print >> sys.stderr, "syntax: get_instance_name.py <username>, <password>, <hostname> <slicename>"
53 username = sys.argv[1]
54 password = sys.argv[2]
55 hostname = sys.argv[3]
56 slice_name = sys.argv[4]
58 opencloud_auth=(username, password)
60 slice_id = get_slice_id(slice_name)
61 node_id = get_node_id(hostname)
62 slivers = get_slivers(slice_id, node_id)
64 instance_names = [x["instance_name"] for x in slivers if x["instance_name"]]
66 # return the last one in the list (i.e. the newest one)
68 print sorted(instance_names)[-1]
70 if __name__ == "__main__":