openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #05886
Re: Keystone & Swift: swiftauth tenant namespace collisions?
-
To:
Judd Maltin <openstack@xxxxxxxxxxxxxx>
-
From:
Ziad Sawalha <ziad.sawalha@xxxxxxxxxxxxx>
-
Date:
Fri, 2 Dec 2011 17:05:05 +0000
-
Accept-language:
en-US
-
Cc:
"openstack@xxxxxxxxxxxxxxxxxxx" <openstack@xxxxxxxxxxxxxxxxxxx>
-
In-reply-to:
<CAG+ZfSCxZWL4j=FKtYAV0zx9o62ZDdXD1eY2Trm2eKn+aoPFkg@mail.gmail.com>
-
Thread-index:
AQHMpi/g+kivlMMB0kCHo259nARwCZWzIGUAgAMgnQCAABHNgIABfQcAgAZn1gCAAg0ygIAHtKgA//+0RwCAAYkbgP//pckA
-
Thread-topic:
[Openstack] Keystone & Swift: swiftauth tenant namespace collisions?
-
User-agent:
Microsoft-MacOutlook/14.13.0.110805
Great. BTW, Dolph just started work on this, so we've updated the status of the blueprint.
Z
From: Judd Maltin <openstack@xxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxx>>
Date: Fri, 2 Dec 2011 11:27:57 -0500
To: Ziad Sawalha <ziad.sawalha@xxxxxxxxxxxxx<mailto:ziad.sawalha@xxxxxxxxxxxxx>>
Cc: "openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>" <openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>>, "Rouault, Jason (Cloud Services)" <jason.rouault@xxxxxx<mailto:jason.rouault@xxxxxx>>, John Dickinson <me@xxxxxx<mailto:me@xxxxxx>>
Subject: Re: [Openstack] Keystone & Swift: swiftauth tenant namespace collisions?
Ziad!
Just knowing that your team has these issues in mind is a huge help.
-judd
On Dec 1, 2011 6:00 PM, "Ziad Sawalha" <ziad.sawalha@xxxxxxxxxxxxx<mailto:ziad.sawalha@xxxxxxxxxxxxx>> wrote:
OK, that helps.
We have a blueprint to use a string ID instead of the integer in the database: https://blueprints.launchpad.net/keystone/+spec/portable-identifiers
I think that will address your needs (eventually).
We intend to deliver that without any API changes (the API supports string IDs) and with full migration support from stable/diablo.
To summarize the intent:
* we add a string UID to the database schema
* For deployments with the integer ID, we copy that into the UID field
* For deployments where the ID is a string (cactus and pre-Diablo) we copy that into the UID field
* We use the UID field in the URLs displayed by Keystone
That will allow migrations into Keystone and you can decide in your data import what value to make the ID that shows up as the REST URL.
This is a future answer to your need. We plan on doing this very soon (maybe by E2). But for the current Keystone schema I don't have any alternative suggestions unfortunately.
Does this help?
From: Judd Maltin <openstack@xxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxx>>
Date: Thu, 1 Dec 2011 16:32:00 -0500
To: Ziad Sawalha <ziad.sawalha@xxxxxxxxxxxxx<mailto:ziad.sawalha@xxxxxxxxxxxxx>>
Subject: Re: [Openstack] Keystone & Swift: swiftauth tenant namespace collisions?
Hi Ziad,
The current authentication systems for Swift use a hash as the tenant_id. I saw that keystone is using a sequential integer from the DB as the tenant_id. This doesn't allow Keystone to match an existing Swift tenant_id (called "account" in Swift). This prevents Keystone from just "taking over" for swauth or tempauth.
If the definition of tenant_id is changed in Keystone to be configurable by the administrator, or at least NOT be a seq from the DB, then migration from swauth to keystone is possible, and may even be automated.
Looking forward to your thoughts,
-judd
On Sun, Nov 27, 2011 at 12:51 AM, Ziad Sawalha <ziad.sawalha@xxxxxxxxxxxxx<mailto:ziad.sawalha@xxxxxxxxxxxxx>> wrote:
Hi Judd –
Account in swift is the same thing as tenant in Keystone.
Is the problem that you are specifying account 'name' instead of the ID?
I'm asking because we have had a number of users having problems migrating into Keystone after we switched to ID/Name for tenants and users and we are considering a schema change that would allow for simpler migration into Keystone and support tenant ID and name being the same.
I'm not sure that would help you, but if it would we would like to get your input on the design we are considering.
From: Judd Maltin <openstack@xxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxx>>
Date: Fri, 25 Nov 2011 11:31:50 -0500
To: "Rouault, Jason (Cloud Services)" <jason.rouault@xxxxxx<mailto:jason.rouault@xxxxxx>>
Cc: John Dickinson <me@xxxxxx<mailto:me@xxxxxx>>, Ziad Sawalha <ziad.sawalha@xxxxxxxxxxxxx<mailto:ziad.sawalha@xxxxxxxxxxxxx>>, "openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>" <openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>>
Subject: Re: [Openstack] Keystone & Swift: swiftauth tenant namespace collisions?
Thanks Jason,
I am indeed working off stable/diablo. It looks like I'm going to have to use mod_proxy and mod_rewrite to migrate my users form AUTH_<account_name> to AUTH_<tenant_id> Any other ideas for this sort of migration?
-judd
On Mon, Nov 21, 2011 at 9:42 AM, Rouault, Jason (Cloud Services) <jason.rouault@xxxxxx<mailto:jason.rouault@xxxxxx>> wrote:
Yes, I am aware of the new swift code for Keystone, but the question came
from Judd who may be working off of Diablo-stable.
-----Original Message-----
From: John Dickinson [mailto:me@xxxxxx<mailto:me@xxxxxx>]
Sent: Sunday, November 20, 2011 8:59 AM
To: Rouault, Jason (Cloud Services)
Cc: Ziad Sawalha; Judd Maltin; openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Openstack] Keystone & Swift: swiftauth tenant namespace
collisions?
I don't think that is exactly right, but my understanding of tenants vs
accounts vs users may be lacking. Nonetheless, auth v2.0 support was added
to the swift cli tool by Chmouel recently. Have you tried with the code in
swift's trunk (also the 1.4.4 release scheduled for Tuesday)?
--John
On Nov 20, 2011, at 8:55 AM, Rouault, Jason (Cloud Services) wrote:
> Ziad,
>
> I think the problem is that the 'swift' command scopes a user to an
account(tenant) via the concatenation of account:username when providing
credentials for a valid token. With Keystone and /v2.0 auth the tenantId
(or tenantName) are passed in the body of the request.
>
> Jason
>
> From: openstack-bounces+jason.rouault=hp.com@xxxxxxxxxxxxxxxxxxx<mailto:hp.com@xxxxxxxxxxxxxxxxxxx>
[mailto:openstack-bounces+jason.rouault<mailto:openstack-bounces%2Bjason.rouault>=hp.com@xxxxxxxxxxxxxxxxxxx<mailto:hp.com@xxxxxxxxxxxxxxxxxxx>] On
Behalf Of Ziad Sawalha
> Sent: Friday, November 18, 2011 2:10 PM
> To: Judd Maltin; openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>
> Subject: Re: [Openstack] Keystone & Swift: swiftauth tenant namespace
collisions?
>
> Hi Judd - I'm not sire I understand. Can you give me an example of two
tenants, their usernames, and the endpoints you would like them to have in
Keystone?
>
>
> From: Judd Maltin <judd@xxxxxxxxxxxxxx<mailto:judd@xxxxxxxxxxxxxx>>
> Date: Fri, 18 Nov 2011 15:22:09 -0500
> To: <openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>>
> Subject: [Openstack] Keystone & Swift: swiftauth tenant namespace
collisions?
>
> In keystone auth for swift (swiftauth), is there a way to eliminate
namespace conflicts across tenants?"
>
> i.e. in tempauth we use account:username password
>
> curl -k -v -H 'X-Auth-User: test:tester' -H 'X-Auth-Token: testing'
http://127.0.0.1:8080/auth/v1.0
>
> in swiftauth we use username password:
> $ swift -A http://127.0.0.1:5000/v1.0 -U joeuser -K secrete stat -v
> StorageURL: http://127.0.0.1:8888/v1/AUTH_1234
> Auth Token: 74ce1b05-e839-43b7-bd76-85ef178726c3
> Account: AUTH_12
>
> How can I indicate my tenant (aka account) in this scheme. I already have
lots of data.
>
> Further, should I create custom endpoint templates for each tenant to
address "Account: AUTH_12" being unknown to my current swift account db?
>
> Thanks very much,
> -judd
>
>
> --
> Judd Maltin
> T: 917-882-1270<tel:917-882-1270>
> F: 501-694-7809<tel:501-694-7809>
> A loving heart is never wrong.
>
>
>
> _______________________________________________ Mailing list:
https://launchpad.net/~openstack<https://launchpad.net/%7Eopenstack> Post to :openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~openstack<https://launchpad.net/%7Eopenstack> More help :
https://help.launchpad.net/ListHelp
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack<https://launchpad.net/%7Eopenstack>
> Post to : openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe : https://launchpad.net/~openstack<https://launchpad.net/%7Eopenstack>
> More help : https://help.launchpad.net/ListHelp
Follow ups