Keystone V3 - add side-by-side comparison of V2 and V3 to the docs

Bug #1194885 reported by Diane Fleming
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openstack-api-site
Fix Released
High
Diane Fleming

Bug Description

https://one.rackspace.com/display/auth/Keystone+client%2C+V2+API%2C+V3+API+matrix

Add documentation that compares the V3 and V2 keystone APIs.

Tags: identity-api
Changed in openstack-api-site:
assignee: nobody → Diane Fleming (diane-fleming)
importance: Undecided → High
Revision history for this message
Dolph Mathews (dolph) wrote :

Is this supposed to document both the v2 admin AND public API's against the entire v3 API?

More than likely, most users will only need to understand the transition from the v2 public API to the equivalent calls in v3 (or at least, that would be the most important place to start). Everyone uses auth but not everyone uses the identity management features (CRUD on domains, projects, users, roles, etc).

Changed in openstack-api-site:
status: New → Confirmed
milestone: none → havana
Changed in openstack-api-site:
milestone: havana → icehouse
Changed in openstack-api-site:
assignee: Diane Fleming (diane-fleming) → nobody
Akihiro Motoki (amotoki)
tags: added: identity-api
Changed in openstack-api-site:
milestone: icehouse → none
Revision history for this message
Lysander David (lysander-david) wrote :

I am unable to reach the link from the Bug Description

https://one.rackspace.com/display/auth/Keystone+client%2C+V2+API%2C+V3+API+matrix

It times out for me.

Would someone know of a location where the keystone v2 to v3 comparison should be entered ?

Revision history for this message
Dolph Mathews (dolph) wrote :

one.rackspace.com looks like an internal link. Can someone publish that publicly, somehow?

Revision history for this message
Anne Gentle (annegentle) wrote :
Download full text (8.1 KiB)

Here's the HTML of the table comparison.

<table>
  <tbody>
    <tr>
      <th>Feature</th>
      <th>Description</th>
      <th>Keystone Client (using 2.0)</th>
      <th>Curl - using V2.0 API</th>
      <th>V3 API</th>
      <th colspan="1">Observations</th>
    </tr>
    <tr>
      <td>List Users</td>
      <td>List all users that the supplied token has visibility to</td>
      <td>keystone --token ADMIN --endpoint <a href="http://localhost:35357/v2.0/">http://localhost:35357/v2.0/</a> user-list</td>
      <td>
        <p>curl <a href="http://166.78.146.147:35357/v2.0/users">http://locahost:35357/v2.0/users</a> -H "X-Auth-Token: ADMIN"</p>
        <ac:structured-macro ac:name="code">
          <ac:plain-text-body><![CDATA[{
 "users": [
 {
 "email": "<email address hidden>",
 "enabled": true,
 "id": "45214d3ed59b46458c5d2ae9431fbbb7",
 "name": "joe",
 "tenantId": "26772165df7f4e418706a7ab875b6312"
 }
 ]
}]]></ac:plain-text-body>
        </ac:structured-macro>
      </td>
      <td>
        <p>curl <a href="http://166.78.146.147:35357/v3/users">http://localhost:35357/v3/users</a> -H "X-Auth-Token: ADMIN"</p>
        <ac:structured-macro ac:name="code">
          <ac:plain-text-body><![CDATA[{
 "links": {
 "next": null,
 "previous": null,
 "self": "http://localhost:5000/v3/users"
 },
 "users": [
 {
 "domain_id": "default",
 "email": "<email address hidden>",
 "enabled": true,
 "id": "45214d3ed59b46458c5d2ae9431fbbb7",
 "links": {
 "self": "http://localhost:5000/v3/users/45214d3ed59b46458c5d2ae9431fbbb7"
 },
 "name": "joe",
 "tenantId": "26772165df7f4e418706a7ab875b6312"
 }
 ]
}]]></ac:plain-text-body>
        </ac:structured-macro>
      </td>
      <td colspan="1"> </td>
    </tr>
    <tr>
      <td colspan="1">Create User</td>
      <td colspan="1">Create a new user</td>
      <td colspan="1">keystone --token ADMIN --endpoint <a href="http://localhost:35357/v2.0/">http://localhost:35357/v2.0/</a> user-create --name joe --tenant_id 26772165df7f4e418706a7ab875b6312 --pass password1 --email <a href="mailto:<email address hidden>"><email address hidden></a> --enabled true</td>
      <td colspan="1">
        <p>curl <a href="http://166.78.146.147:35357/v2.0/tenants">http://localhost:35357/v2.0</a>/users -d '{"user":{"username":"joe","email":"<a href="mailto:<email address hidden>"><email address hidden></a>","enabled":true, "name":"Joe", "OS-KSADM":"secrete"}}' -H "Content-type: application/json" -H "X-Auth-Token: ADMIN"</p>
        <p> </p>
        <p> </p>
      </td>
      <td colspan="1"> </td>
      <td colspan="1">
        <p>Name required attribute in Keystone v2, but username is not...</p>
        <p>Case sensitive username.</p>
        <p>Another API call needed in v2 to associate user with tenant.</p>
        <p> </p>
      </td>
    </tr>
    <tr>
      <td>Create Tenant</td>
      <td>Create a new tenant (or project for v3 lingo)</td>
      <td>keystone --token ADMIN --endpoint <a href="http://localhost:35357/v2.0/">http://localhost:35357/v2.0/</a> tenant-create --name tenant01 --description "tenant for tenant sake" --enable true</td>
      <td>
        <p>curl <a href="http://166.78.146.147:35357/v2.0/tenants">http://localhost:35357/v2.0/tenants</a> -H "X-Auth-Token: ADMI...

Read more...

Revision history for this message
Anne Gentle (annegentle) wrote :

I think this table could be added to the keystone v3 specification document as a useful reference. Source files live here: https://github.com/openstack/keystone-specs/tree/master/api/v3 I would suggest adding a new RST file there.

I'm not sure I want it in the end user guide since that guide doesn't really document curl commands.

The comparison could also be written with example CLI commands, then that might belong in the End User Guide.

Changed in openstack-api-site:
status: Confirmed → Triaged
Revision history for this message
Diane Fleming (diane-fleming) wrote :
Changed in openstack-api-site:
assignee: nobody → Diane Fleming (diane-fleming)
milestone: none → kilo
status: Triaged → Confirmed
status: Confirmed → In Progress
Tom Fifield (fifieldt)
Changed in openstack-api-site:
milestone: kilo → liberty
Anne Gentle (annegentle)
Changed in openstack-api-site:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.