[openstack-dev] Hierarchicical Multitenancy Discussion
John Dennis
jdennis at redhat.com
Thu Feb 20 13:29:26 UTC 2014
On 02/19/2014 08:58 PM, Adam Young wrote:
>> Can you give more detail here? I can see arguments for both ways of
>> doing this but continuing to use ids for ownership is an easier
>> choice. Here is my thinking:
>>
>> 1. all of the projects use ids for ownership currently so it is a
>> smaller change
> That does not change. It is the hierarchy that is labeled by name.
>
>> 2. renaming a project in keystone would not invalidate the ownership
>> hierarchy (Note that moving a project around would invalidate the
>> hierarchy in both cases)
>>
> Renaming would not change anything.
>
> I would say the rule should be this: Ids are basically uuids, and are
> immutable. Names a mutable. Each project has a parent Id. A project
> can either be referenced directly by ID, oir hierarchically by name. In
> addition, you can navigate to a project by traversing the set of ids,
> but you need to know where you are going. THus the array
>
> ['abcd1234',fedd3213','3e3e3e3e'] would be a way to find a project, but
> the project ID for the lead node would still be just '3e3e3e3e'.
The analogy I see here is the unix file system which is organized into a
tree structure by inodes, each inode has a name (technically it can have
more than one name). But the fundamental point is the structure is
formed by id's (e.g. inodes), the path name of a file is transitory and
depends only on what name is bound to the id at the moment. It's a very
rich and powerful abstraction. The same concept is used in many database
schemas, an object has a primary key which is numeric and a name. You
can change the name easily without affecting any references to the id.
--
John
More information about the OpenStack-dev
mailing list