<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 06/03/2015 05:05 PM, Morgan Fainberg
wrote:<br>
</div>
<blockquote
cite="mid:CAGnj6auFodRKREcTniEvfosXYAYEmkPSn0stoGfKy9wRB4M6bA@mail.gmail.com"
type="cite">
<div dir="ltr">Hi David,
<div><br>
</div>
<div>There needs to be some form of global hierarchy delimiter -
well more to the point there should be a common one across
OpenStack installations to ensure we are providing a good and
consistent (and more to the point inter-operable) experience
to our users. I'm worried a custom defined delimiter (even at
the domain level) is going to make it difficult to consume
this data outside of the context of OpenStack (there are
applications that are written to use the APIs directly).</div>
</div>
</blockquote>
We have one already. We are working JSON, and so instead of project
name being a string, it can be an array.<br>
<br>
Nothing else is backwards compatible. Nothing else will ensure we
don;t break exisiting deployments.<br>
<br>
Moving forward, we should support DNS notation, but it has to be an
opt in<br>
<br>
<blockquote
cite="mid:CAGnj6auFodRKREcTniEvfosXYAYEmkPSn0stoGfKy9wRB4M6bA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><br>
</div>
<div>The alternative is to explicitly list the delimiter in the
project ( e.g. <font face="monospace, monospace">{"hierarchy":
{"delim": ".", "domain.project.project2"}}</font><font
face="arial, helvetica, sans-serif"> ). The additional need
to look up the delimiter / set the delimiter when creating a
domain is likely to make for a worse user experience than
selecting one that is not different across installations.</font><br>
</div>
<div><font face="arial, helvetica, sans-serif"><br>
</font></div>
<div><font face="arial, helvetica, sans-serif">--Morgan</font></div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Jun 3, 2015 at 12:19 PM, David
Chadwick <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:d.w.chadwick@kent.ac.uk" target="_blank">d.w.chadwick@kent.ac.uk</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex"><span
class=""><br>
<br>
On 03/06/2015 14:54, Henrique Truta wrote:<br>
> Hi David,<br>
><br>
> You mean creating some kind of "delimiter" attribute
in the domain<br>
> entity? That seems like a good idea, although it does
not solve the<br>
> problem Morgan's mentioned that is the global
hierarchy delimiter.<br>
<br>
</span>There would be no global hierarchy delimiter. Each
domain would define<br>
its own and this would be carried in the JSON as a separate
parameter so<br>
that the recipient can tell how to parse hierarchical names<br>
<br>
David<br>
<span class=""><br>
><br>
> Henrique<br>
><br>
> Em qua, 3 de jun de 2015 às 04:21, David Chadwick<br>
</span>> <<a moz-do-not-send="true"
href="mailto:d.w.chadwick@kent.ac.uk">d.w.chadwick@kent.ac.uk</a>
<mailto:<a moz-do-not-send="true"
href="mailto:d.w.chadwick@kent.ac.uk">d.w.chadwick@kent.ac.uk</a>>>
escreveu:<br>
<div>
<div class="h5">><br>
><br>
><br>
> On 02/06/2015 23:34, Morgan Fainberg wrote:<br>
> > Hi Henrique,<br>
> ><br>
> > I don't think we need to specifically call
out that we want a<br>
> domain, we<br>
> > should always reference the namespace as
we do today. Basically, if we<br>
> > ask for a project name we need to also
provide it's namespace (your<br>
> > option #1). This clearly lines up with how
we handle projects in<br>
> domains<br>
> > today.<br>
> ><br>
> > I would, however, focus on how to
represent the namespace in a single<br>
> > (usable) string. We've been delaying the
work on this for a while<br>
> since<br>
> > we have historically not provided a clear
way to delimit the<br>
> hierarchy.<br>
> > If we solve the issue with "what is the
delimiter" between domain,<br>
> > project, and subdomain/subproject, we end
up solving the usability<br>
><br>
> why not allow the top level domain/project to
define the delimiter for<br>
> its tree, and to carry the delimiter in the
JSON as a new parameter.<br>
> That provides full flexibility for all
languages and locales<br>
><br>
> David<br>
><br>
> > issues with proposal #1, and not breaking
the current behavior you'd<br>
> > expect with implementing option #2 (which
at face value feels to<br>
> be API<br>
> > incompatible/break of current behavior).<br>
> ><br>
> > Cheers,<br>
> > --Morgan<br>
> ><br>
> > On Tue, Jun 2, 2015 at 7:43 AM, Henrique
Truta<br>
> > <<a moz-do-not-send="true"
href="mailto:henriquecostatruta@gmail.com">henriquecostatruta@gmail.com</a><br>
> <mailto:<a moz-do-not-send="true"
href="mailto:henriquecostatruta@gmail.com">henriquecostatruta@gmail.com</a>><br>
</div>
</div>
> <mailto:<a moz-do-not-send="true"
href="mailto:henriquecostatruta@gmail.com">henriquecostatruta@gmail.com</a><br>
<div class="HOEnZb">
<div class="h5">> <mailto:<a
moz-do-not-send="true"
href="mailto:henriquecostatruta@gmail.com">henriquecostatruta@gmail.com</a>>>>
wrote:<br>
> ><br>
> > Hi folks,<br>
> ><br>
> ><br>
> > In Reseller[1], we’ll have the domains
concept merged into<br>
> projects,<br>
> > that means that we will have projects
that will behave as domains.<br>
> > Therefore, it will be possible to have
two projects with the same<br>
> > name in a hierarchy, one being a
domain and another being a<br>
> regular<br>
> > project. For instance, the following
hierarchy will be valid:<br>
> ><br>
> > A - is_domain project, with domain A<br>
> ><br>
> > |<br>
> ><br>
> > B - project<br>
> ><br>
> > |<br>
> ><br>
> > A - project with domain A<br>
> ><br>
> ><br>
> > That hierarchy faces a problem when a
user requests a project<br>
> scoped<br>
> > token by name, once she’ll pass
“domain = ‘A’” and<br>
> <a moz-do-not-send="true"
href="http://project.name" target="_blank">project.name</a>
<<a moz-do-not-send="true" href="http://project.name"
target="_blank">http://project.name</a>><br>
> > <<a moz-do-not-send="true"
href="http://project.name" target="_blank">http://project.name</a>>
= “A”. Currently, we have no way to<br>
> > distinguish which project we are
referring to. We have two<br>
> proposals<br>
> > for this.<br>
> ><br>
> ><br>
> > 1.<br>
> ><br>
> > Specify the whole hierarchy in the
token request body, which<br>
> > means that when requesting a token
for the child project for<br>
> > that hierarchy, we’ll have in the
scope field something like:<br>
> ><br>
> > "project": {<br>
> > "domain": {<br>
> > "name": "A"<br>
> > },<br>
> > "name": [“A”', “B”,
“A”]<br>
> > }<br>
> ><br>
> ><br>
> > If the project name is unique inside
the domain (project “B”, for<br>
> > example), the hierarchy is optional.<br>
> ><br>
> ><br>
> > 2.<br>
> ><br>
> > When a conflict happen, always
provide a token to the child<br>
> > project. That means that, in case
we have a name clashing as<br>
> > described, it will only be
possible to get a project scoped<br>
> > token to the is_domain project
through its id.<br>
> ><br>
> ><br>
> ><br>
> > The former will give us more clarity
and won’t create any more<br>
> > restrictions than we already have. As
a con, we currently are not<br>
> > able to get the names of projects in
the hierarchy above a given<br>
> > project. Although the latter seems to
hurt fewer people, it<br>
> has the<br>
> > disadvantage of creating another set
of constraints that might<br>
> > difficult the UX in the future.<br>
> ><br>
> ><br>
> > What do you think about that? We want
to hear your oppinion, so we<br>
> > can discuss it at today’s Keystone
Meeting.<br>
> ><br>
> ><br>
> > [1]<br>
> ><br>
> <a moz-do-not-send="true"
href="https://github.com/openstack/keystone-specs/blob/master/specs/liberty/reseller.rst"
target="_blank">https://github.com/openstack/keystone-specs/blob/master/specs/liberty/reseller.rst</a><br>
> ><br>
> ><br>
> ><br>
>
__________________________________________________________________________<br>
> > OpenStack Development Mailing List
(not for usage questions)<br>
> > Unsubscribe:<br>
> > <a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <<a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
> ><br>
> <<a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
> > <a moz-do-not-send="true"
href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
>
__________________________________________________________________________<br>
> > OpenStack Development Mailing List (not
for usage questions)<br>
> > Unsubscribe:<br>
> <a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <<a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
> > <a moz-do-not-send="true"
href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
> ><br>
><br>
>
__________________________________________________________________________<br>
> OpenStack Development Mailing List (not for
usage questions)<br>
> Unsubscribe:<br>
> <a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <<a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
> <a moz-do-not-send="true"
href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
><br>
><br>
>
__________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage
questions)<br>
> Unsubscribe: <a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a moz-do-not-send="true"
href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage
questions)<br>
Unsubscribe: <a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a moz-do-not-send="true"
href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>