Comment 5 for bug 892148

Revision history for this message
klmitch (q-noreply) wrote :

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?