Yep, it's already set up through Gerrit and the openstack GitHub
organization :) Sorry, was copy-paste fail on my part!

https://github.com/openstack/openstack-integration-tests

Cheers!
jay


On Wed, Sep 21, 2011 at 3:15 PM, Joseph Heck <[email protected]> wrote:
> Can we clone this into the Openstack repo so that it's clear:
>
> a) there is a central set of openstack integration and functional tests
> b) that it is THE place to add in common, cross-cutting tests
>
> I don't really care which setup we use as the OpenStack project - Soren's is 
> fine, just needs to be central and open, and ideally have a set of approvers 
> for adding tests through Gerrit (I suggest we just start with Soren and grow 
> it from there)
>
> -joe
>
> On Sep 21, 2011, at 11:31 AM, Jay Pipes wrote:
>> All good, Jesse.
>>
>> I think it would be appropriate to either create a new smoketest that
>> stresses the flow you outline below, or add a new integration test to
>> here:
>>
>> https://github.com/sorenh/openstack-integration-tests
>>
>> Otherwise, testing will by nature be a manual process....
>>
>> Cheers!
>> -jay
>>
>> On Wed, Sep 21, 2011 at 4:16 AM, Jesse Andrews <[email protected]> 
>> wrote:
>>> As part of the release meeting today we talked about getting a preview 
>>> release of keystone + dash + diablo working asap.  This is an attempt to 
>>> summarize the major interfaces.  Ziad and team have an identity guide (they 
>>> are updating and can share asap) to help flush this out.
>>>
>>> Here is what I see needs implemented to make Dash + Nova + Keystone work 
>>> together.  This is a subset of the auth spec (what Ziad & team are working 
>>> to support Diablo as these are the contracts between those services)
>>>
>>> 1. CREATE TOKEN: (enduser api)        POST /v2.0/tokens
>>>    post data: 
>>> https://github.com/openstack/keystone/blob/master/keystone/content/common/samples/auth_credentials.json
>>>    response: 
>>> https://github.com/openstack/keystone/blob/master/keystone/content/common/samples/auth.json
>>>
>>> 2. VALIDATE TOKEN: (admin api)         GET 
>>> /v2.0/tokens/(token)?[belongs_to=(tenant_id)]
>>>    response: 
>>> https://github.com/openstack/keystone/blob/master/keystone/content/common/samples/validatetoken.json
>>>
>>> 3. TENANTS FOR TOKEN: (user api)    GET /v2.0/tenants
>>>     returns: 
>>> https://github.com/openstack/identity-api/blob/master/openstack-identity-api/src/docbkx/samples/tenants.json
>>>
>>> These 3 APIs are the meat of the keystone auth api (disregarding CRUD 
>>> operations for users/tenants)
>>>
>>> Flow:
>>>
>>> * user visits a web console to login to openstack
>>> * dashboard uses keystone to authenticate (dashboard has no internal user 
>>> system, and shouldn't store username/password in session/shared state)
>>> * since there can be a many to many relationship between users and tenants, 
>>> the user might need to specify the tenant they want to operate on before 
>>> talking with services like nova/glance/...
>>> * A service like NOVA need to validate (via http proxy or middleware) the 
>>> token and return a USER, TENANT (previously known as a project in nova), 
>>> and a list of roles.
>>>
>>> Notes:
>>>
>>> * a tenant is a "project" in nova and an "account" in swift.  Think of it 
>>> as the entity that "owns" the resources.
>>> * a user is the acting entity.
>>> * while keystone implements many-to-many tenant/user support, services 
>>> should support many-to-many, one-to-many, one-to-one - as the API makes no 
>>> assumptions about the hierarchical nature of the users/tenants
>>> * when getting the response to the "create unscoped token", I write that it 
>>> returns "stuff".  While it technically returns the roles, serviceCatalog, 
>>> userinfo (same structure as for the scoped token), it isn't guaranteed to 
>>> be the complete list of roles/endpoints for every tenant the user is a 
>>> member of.
>>> * since the goal of the dashboard is to toggle visibility/functionality 
>>> based on capabilities presented in the service catalog, we ask for a scoped 
>>> token that has the capabilities for the tenant / user pair.
>>> * I use nova as my example but the approach is generalized.
>>> * crud operations for users/tenants exists both in "keystone-manage" and 
>>> api calls.  While dashboard has had user management capabilities in the 
>>> past, we might rely on command line user management for the first release 
>>> of the preview.
>>> * mistakes in this summary are mine (please correct me)…  up until a few 
>>> hours ago I had assumed the relationship betweens tenants/users and tokens 
>>> was subtly different.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> ps. The swimlane (sequence diagram) was generated with sdedit (sourceforge) 
>>> and is attached for patches :)
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~openstack
>>> Post to     : [email protected]
>>> Unsubscribe : https://launchpad.net/~openstack
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openstack
>> Post to     : [email protected]
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>
>

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to