dropdown menu

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"



No comments:

Post a Comment