This is just the start of refactoring the client to respect work with openstack auth ...
This allows the keystone management code (see #74) to work as:
from novaclient import client
conn = client.HTTPClient(USER, PASS, TENANT, KEYSTONE_URL)
from novaclient import keystone
kc = keystone.Client(conn)
but it should probably be more like:
# user specifies either auth endpoint (expected)
# - OR - service endpoint (not expected - since the endpoint has tenant)
import novaclient
api = novaclient.connect(USER, PASS, ENDPOINT, OPTIONAL_TENANT)
# connect would talk to keystone, get the catalog
# note: even in auth 1.0/1.1 you get back a "catalog" of storage & compute endpoints
api.nova.servers.list()
api.keystone.tenants.list()
api.glance # should this use glance-client but pass the token?
api.swift # should this use .....
I've pushed a branch that has start the keystone working as above ... thoughts on moving forward?
This is just the start of refactoring the client to respect work with openstack auth ...
This allows the keystone management code (see #74) to work as:
from novaclient import client HTTPClient( USER, PASS, TENANT, KEYSTONE_URL) Client( conn)
conn = client.
from novaclient import keystone
kc = keystone.
but it should probably be more like:
# user specifies either auth endpoint (expected) connect( USER, PASS, ENDPOINT, OPTIONAL_TENANT) nova.servers. list() keystone. tenants. list()
# - OR - service endpoint (not expected - since the endpoint has tenant)
import novaclient
api = novaclient.
# connect would talk to keystone, get the catalog
# note: even in auth 1.0/1.1 you get back a "catalog" of storage & compute endpoints
api.
api.
api.glance # should this use glance-client but pass the token?
api.swift # should this use .....
I've pushed a branch that has start the keystone working as above ... thoughts on moving forward?