<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Ziad,<div><br></div><div>Sorry, that was my mistake. I meant to have "case service.name:"  on that pseudocode and not type. I wasn't proposing any EndpointType and don't see how that would help. </div><div><br></div><div>The way that I was thinking was, you can either have the "services" table  pre-populated during keystone install/setup or have the user do it. Also provide information on the docs about the services that keystone currently support. The documentation would provide information to the user on how to add an endpointTemplate to a particular  service. </div><div><br></div><div><br></div><div>Perhaps this is a bit more clear:</div><div><br></div><div><br></div><div>case <a href="http://service.name">service.name</a>:</div><div> </div><div><span class="Apple-tab-span" style="white-space:pre">     </span>openstack-swift)</div><div><span class="Apple-tab-span" style="white-space:pre">             </span>try</div><div><span class="Apple-tab-span" style="white-space:pre">                  </span><span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); "><strong>endpointTemplate add</strong></span><span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); "> </span><span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); ">[region] [service] [public_url] [internal_url] [enabled] [is_global]</span></div><div><span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); "><span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; font-size: medium; "><span class="Apple-tab-span" style="white-space:pre">         </span>except</span></span></div><div><span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "><span class="Apple-tab-span" style="white-space: pre; ">  <font class="Apple-style-span" face="'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif" size="4"><span class="Apple-style-span" style="line-height: 21px;">     </span></font></span><font class="Apple-style-span" face="'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif" size="4"><span class="Apple-style-span" style="line-height: 21px;">  </span></font><span class="Apple-tab-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; line-height: 21px; font-size: 14px; white-space: pre; ">     </span></span>"Failed with improper number of arguments"swift)</div><div><span class="Apple-tab-span" style="white-space:pre">                      </span>show_some_help()</div><div></div><div><span class="Apple-tab-span" style="white-space: pre; ">           </span>try</div><div><br></div><div><span class="Apple-tab-span" style="white-space: pre; ">      </span>openstack-compute)</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span><span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); "><strong>endpointTemplate add</strong></span><span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); "> </span><span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); ">[region] [service] [public_url] [admin_url] [internal_url] [enabled] [is_global]</span><span class="Apple-tab-span" style="white-space:pre">    </span></div><div><span class="Apple-tab-span" style="white-space:pre">             </span>....</div><div><br></div><div><span class="Apple-tab-span" style="white-space: pre; ">     </span>openstack-swift)</div><div><br></div><div><br></div><div><br></div><div>If one needs to add a "generic/custom"  service (one that keystone does not know yet), perhaps keystone could be flexible enough  to accept  N numbers of URLs for this "generic/custom"  service. But I think this is something more for the future.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Marcelo Martins</div><div>Openstack-swift</div><div><a href="mailto:btorch-os@zeroaccess.org">btorch-os@zeroaccess.org</a></div><div><br></div><div><div>“Knowledge is the wings on which our aspirations take flight and soar. When it comes to surfing and life if you know what to do you can do it. If you desire anything become educated about it and succeed. “</div></div><div><br></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br><div><div>On Oct 31, 2011, at 4:42 PM, Ziad Sawalha wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">

<div bgcolor="#FFFFFF">
<div>The list of URLs comes from what we have historically done at Rackspace and the conversations had in OpenStack about a management/admin API.</div></div></blockquote><blockquote type="cite"><div bgcolor="#FFFFFF">
<div><br>
</div>
<div>I agree that not all services need those three. And some may want to create additional ones. You mention "type" below. Not to be confused with the serviceType (like compute, identity, image-service, object-store, etc...). Are you proposing an EndpointType
 (maybe admin, public, private, etc..)?</div>
<div><br>
</div>
<div>That does seem like a more flexible approach.</div>
<div><br>
</div>
<div>It would help to have some well-known types, such as:</div>
<div>- public: Internet-accessible</div>
<div>- admin: private, with elevated-privilege calls available</div>
<div>- internal: provides a high bandwidth, low latency, unmetered endpoint</div>
<div><br>
</div>
<div>Thoughts?</div>
<div><br>
</div>
<div>Z<br>
<br>
<div><br>
</div>
</div>
<div><br>
On Oct 31, 2011, at 2:17 PM, "Marcelo Martins" <<a href="mailto:btorch-os@zeroaccess.org">btorch-os@zeroaccess.org</a>> wrote:<br>
<br>
</div>
<div></div>
<blockquote type="cite">
<div>
<div><br>
</div>
<div>It should require/accept the number of URLs that is required by the type of service one is adding. For example, swift only has public and localnet storage URLs. No admin URL.</div>
<div>So, regardless if one is using keystone-manage or not (not sure what else one can use, Rest calls maybe ? ),  it should only accept what the service type requires.   </div>
<div><br>
</div>
<div><br>
</div>
<div>case type:</div>
<div><br>
</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>swift) </div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>try </div>
<div> <span class="Apple-tab-span" style="white-space:pre"> </span> <span class="Apple-tab-span" style="white-space:pre">
</span><span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); "><strong>endpointTemplate add</strong></span><span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); "> </span><span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); ">[region]
 [service] [public_url] [internal_url] [enabled] [is_global]</span></div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>except</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>"Failed with improper number of arguments"</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>show_some_help()</div>
<div><br>
</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>nova)</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>....</div>
<div><br>
</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>keystone)</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>...</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span></div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>another-service)</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>....</div>
<div><br>
</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>whatever_else)</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>...</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<div><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div>Marcelo Martins</div>
<div>Openstack-swift</div>
<div><a href="mailto:btorch-os@zeroaccess.org">btorch-os@zeroaccess.org</a></div>
<div><br>
</div>
<div>
<div>“Knowledge is the wings on which our aspirations take flight and soar. When it comes to surfing and life if you know what to do you can do it. If you desire anything become educated about it and succeed. “</div>
</div>
<div><br>
</div>
</div>
</span><br class="Apple-interchange-newline">
</span><br class="Apple-interchange-newline">
</div>
<br>
<div>
<div>On Oct 31, 2011, at 1:52 PM, Joseph Heck wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div>Can you provide an example?<br>
<br>
I think you're asserting that you'd like the keystone-manage command to not require 3 different URLs when they don't exist separately, is that correct?<br>
<br>
-joe<br>
<br>
On Oct 31, 2011, at 11:45 AM, Marcelo Martins wrote:<br>
<blockquote type="cite">Well, If you need to specify a "type" when adding an endpointTemplate, then keystone should be smart enough to identify the type given and only accept the number of  URLs needed for such type of service.<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Marcelo Martins<br>
</blockquote>
<blockquote type="cite">Openstack-swift<br>
</blockquote>
<blockquote type="cite"><a href="mailto:btorch-os@zeroaccess.org">btorch-os@zeroaccess.org</a><br>
</blockquote>
<br>
<blockquote type="cite">On Oct 31, 2011, at 1:40 PM, Joseph Heck wrote:<br>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">That's just what it sees today - the only one of the service endpoints that uses all three (right now anyway) is Keystone itself. Can you share a different pattern that you're interested in seeing supported?<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">-joe<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">On Oct 31, 2011, at 9:46 AM, Marcelo Martins wrote:<br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">What makes keystone assume that all types of services will have " [public_url] [admin_url] [internal_url] "?<br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">Marcelo Martins<br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">Openstack-swift<br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><a href="mailto:btorch-os@zeroaccess.org">btorch-os@zeroaccess.org</a><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><br>
</blockquote>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a></span><br>
<span>Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a></span><br>
<span>Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a></span><br>
<span>More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a></span><br>
</div>
</blockquote>
</div>

</blockquote></div><br></div></body></html>