Practical Guide to AIX (and PowerVM, PowerHA, PowerVC, HMC, DevOps ...)
POWERVC - API PYTHON
API calls can be done through Python as well.
(I did not test these, just collected, I used curl)
1. get token id (with any method)
With openstack command a token can be requested (make sure you use the same user later, as token is valid for that user)
openstack token issue
---------------------------------
2. get tenant id
(we will need the id of IBM Default Tenant)
(for v3 tenant and project are interchangeable)
IBM default tenant: tenant_id="3dd716cc52c617bface86421017afd1d"
#!/usr/bin/python
import httplib
import json
import os
import sys
def main():
token = raw_input("Please enter PowerVC token : ")
print "PowerVC token used = "+token
conn = httplib.HTTPSConnection('localhost')
headers = {"X-Auth-Token":token, "Content-type":"application/json"}
body = ""
conn.request("GET", "/powervc/openstack/identity/v3/projects", body, headers)
response = conn.getresponse()
raw_response = response.read()
conn.close()
json_data = json.loads(raw_response)
print json.dumps(json_data, indent=4, sort_keys=True)
if __name__ == "__main__":
main()
---------------------------------
3. get VMs and id
#!/usr/bin/python
import httplib
import json
import os
import sys
def main():
token = raw_input("Please enter PowerVC token : ")
print "PowerVC token used = "+token
tenant_id = raw_input("Please enter PowerVC Tenant ID : ")
print "Tenant ID = "+tenant_id
conn = httplib.HTTPSConnection('localhost')
headers = {"X-Auth-Token":token, "Content-type":"application/json"}
body = ""
conn.request("GET", "/powervc/openstack/compute/v2/"+tenant_id+"/servers", body, headers)
response = conn.getresponse()
raw_response = response.read()
conn.close()
json_data = json.loads(raw_response)
print json.dumps(json_data, indent=4, sort_keys=True)
if __name__ == "__main__":
main()
---------------------------------
List details of all servers:
"GET", "/powervc/openstack/compute/v2/"+tenant_id+"/servers/detail"
List networks details:
"GET", "/powervc/openstack/network/v2.0/networks",
We will get Unix network id: d93e1f57-958e-47de-b94e-f90ce5277fd9
List details only of 1 specified network:
"GET", "/powervc/openstack/network/v2.0/networks/d93e1f57-958e-47de-b94e-f90ce5277fd9"
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment