<br><br><div class="gmail_quote">On Mon, Mar 26, 2012 at 11:12 AM, David Kranz <span dir="ltr"><<a href="mailto:david.kranz@qrclab.com">david.kranz@qrclab.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Thanks for the explanation. But I am still a little confused about
the point of the templates. Having two implementations, one simple
and one less simple, is not simpler than having only one. You still
need to user the CLI for user, roles, etc. so having a different
mechanism for endpoints does not seem simple. With regard to
performance, won't these endpoint values be changing infrequently
and so any reasonable caching strategy would give good performance?
Or am I missing something?</div></blockquote><div><br></div><div>The preference is to switch the default to the SQL driver, the other backend was simply the first driver written and will likely be deprecated.</div><div>
<br></div><div>--andy </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><span class="HOEnZb"><font color="#888888">
-David</font></span><div><div class="h5"><br>
<br>
On 3/26/2012 1:39 PM, Dolph Mathews wrote:
<blockquote type="cite">I think I'm to blame (apologies!) for suggesting that
one driver was preferred over the other (that was my understanding
a few weeks ago, based on test coverage). However, test coverage
has since improved and I think people are having good experience
with the SQL driver.
<div>
<br>
</div>
<div>The two methods are *not* functionally identical. The
file-based driver is simple and high-performance, and the
sql-based driver provides flexibility and API/CLI
administration.</div>
<div><br>
</div>
<div>I've just proposed a review to clarify each option in the <a href="http://keystone.openstack.org/configuration.html" target="_blank">http://keystone.openstack.org/configuration.html</a>
docs:</div>
<div><a href="https://review.openstack.org/#change,5820" target="_blank">https://review.openstack.org/#change,5820</a></div>
<div><br>
</div>
<div>As well as a separate review to change the default backend to
SQL, since most users are looking for the CLI management
commands out of the box:</div>
<div><a href="https://review.openstack.org/#change,5821" target="_blank">https://review.openstack.org/#change,5821</a><br>
<br>
-Dolph<br>
<br>
<div class="gmail_quote">On Mon, Mar 26, 2012 at 8:29 AM, David
Kranz <span dir="ltr"><<a href="mailto:david.kranz@qrclab.com" target="_blank">david.kranz@qrclab.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> There seems to be an
unfortunate difference in opinion out there about whether
the keystone endpoints should be defined using templates
(devstack) or keystone calls (ubuntu). I don't know why
keystone is offering two very different, but seemingly
functionally identical, ways to do this. Is there a good
reason? Can this be sorted out so there is only one
documented way to do this?<span><font color="#888888"><br>
<br>
-David</font></span>
<div>
<div><br>
<br>
On 3/26/2012 7:25 AM, Andiabes wrote:
<blockquote type="cite">
<div>Can you include your config?</div>
<div>The behavior you're describing seems to be
consistent with a missing backers configuration
...</div>
<div><br>
</div>
<div>Something like:</div>
<div>
<pre style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:normal normal normal 12px/normal 'Bitstream Vera Sans Mono',Courier,monospace">
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:1em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:inherit;background-color:transparent">
<font face="Helvetica"><span style="font-size:17px;white-space:normal">[identity]</span></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:1em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:inherit;background-color:transparent">
<font face="Helvetica"><span style="font-size:17px;white-space:normal">driver = keystone.identity.backends.sql.Identity</span></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:1em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:inherit;background-color:transparent">
<font face="Helvetica"><span>
</span></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:1em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:inherit;background-color:transparent">
<font face="Helvetica"><span style="font-size:17px;white-space:normal">[catalog]</span></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:1em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:inherit;background-color:transparent">
<font face="Helvetica"><span style="font-size:17px;white-space:normal">driver = keystone.catalog.backends.sql.Catalog</span></font></div><div>
</div><div>
</div><div>Also, where/how are you installing?</div></pre>
<br>
On Mar 26, 2012, at 6:56 AM, Mandar Vaze <<a href="mailto:mandar.vaze@vertex.co.in" target="_blank">mandar.vaze@vertex.co.in</a>>
wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I’m
also getting the same error on latest
master branch (updated today)</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Using
setup created by devstack</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">-Mandar</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
<a href="mailto:openstack-bounces+mandar.vaze=vertex.co.in@lists.launchpad.net" target="_blank">openstack-bounces+mandar.vaze=vertex.co.in@lists.launchpad.net</a>
[<a href="mailto:openstack-bounces+mandar.vaze=" target="_blank">mailto:openstack-bounces+mandar.vaze=</a><a href="mailto:vertex.co.in@lists.launchpad.net" target="_blank">vertex.co.in@lists.launchpad.net</a>]
<b>On Behalf Of </b>.?o 0 O??<br>
<b>Sent:</b> Monday, March 26, 2012 12:45
PM<br>
<b>To:</b> Pierre Amadio<br>
<b>Cc:</b> openstack<br>
<b>Subject:</b> Re: [Openstack] is this a
bug in milestone-proposed keystone ?
(cannotget endpoint-list, nor create
endpoint)</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">hi,<br>
<br>
I don't know if it is a bug but I come
across the same problem and wondering how to
solve it.</p>
<div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<div>
<p class="MsoNormal"><span>------------------ Original ------------------</span></p>
</div>
<div>
<div>
<p class="MsoNormal" style="background:#efefef"><b><span style="font-size:9.0pt">From: </span></b><span style="font-size:9.0pt"> "Pierre
Amadio"<<a href="mailto:pierre.amadio@canonical.com" target="_blank">pierre.amadio@canonical.com</a>>;</span></p>
</div>
<div>
<p class="MsoNormal" style="background:#efefef"><b><span style="font-size:9.0pt">Date: </span></b><span style="font-size:9.0pt"> Sun, Mar
25, 2012 04:35 AM</span></p>
</div>
<div>
<p class="MsoNormal" style="background:#efefef"><b><span style="font-size:9.0pt">To: </span></b><span style="font-size:9.0pt"> "openstack"<<a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a>>;
</span></p>
</div>
<div>
<p class="MsoNormal" style="background:#efefef"><b><span style="font-size:9.0pt">Subject:
</span></b><span style="font-size:9.0pt"> [Openstack]
is this a bug in
milestone-proposed keystone ?
(cannotget endpoint-list, nor
create endpoint)</span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span> </span></p>
</div>
<p class="MsoNormal"><span>Hi
there !<br>
<br>
I wanted to give a try to the
milestone-proposed branch of keystone
and<br>
got stuck quite fast.<br>
<br>
I am not sure if i hit a bug and
should report it, or if i'm doing<br>
something wrong.<br>
<br>
With previous version of keystone
(read packaged on ubuntu precise), i<br>
was able to create endpoint the
following way once keystone has been<br>
installed:<br>
<br>
1) setting some env variables:<br>
export KEYSTONE_IP=192.168.122.102 #
IP of your keystone API server<br>
export SERVICE_ENDPOINT=<a href="http://$KEYSTONE_IP:35357/v2.0/" target="_blank">http://$KEYSTONE_IP:35357/v2.0/</a><br>
export SERVICE_TOKEN=999888777666<br>
export NOVA_PUBLIC_URL="<a href="http://$NOVA_IP:8774/v1.1/%%28tenant_id%29s" target="_blank">http://$NOVA_IP:8774/v1.1/%(tenant_id)s</a>"<br>
export NOVA_ADMIN_URL=$NOVA_PUBLIC_URL<br>
export
NOVA_INTERNAL_URL=$NOVA_PUBLIC_URL<br>
<br>
2) creating services:<br>
keystone service-create --name nova
--type compute --description<br>
'OpenStack Compute Service'<br>
<br>
keystone service-create --name swift
--type object-store --description<br>
'OpenStack Storage Service'<br>
<br>
keystone service-create --name glance
--type image --description<br>
'OpenStack Image Service'<br>
<br>
keystone service-create --name
keystone --type identity --description<br>
'OpenStack Identity Service'<br>
<br>
3) creating an endpoint for those
services, starting with the compute<br>
service:<br>
<br>
ID=$(keystone service-list | grep -i
compute | awk '{print $2}')<br>
<br>
<br>
keystone endpoint-create --region
RegionOne --service_id $ID --publicurl<br>
$NOVA_PUBLIC_URL --adminurl
$NOVA_ADMIN_URL --internalurl
$NOVA_INTERNAL_URL<br>
<br>
When i run this command with
milestone-proposed, i experience the
following:<br>
<br>
No handlers could be found for logger
"keystoneclient.client"<br>
The action you have requested has not
been implemented. (HTTP 501)<br>
<br>
<br>
Strangely enough, i experience a
similar error message when running a<br>
simple "keystone endpoint-list"
whereas command such as "keystone<br>
user-list" works all right.<br>
<br>
<br>
here is what i have in the keystone
logs when trying "endpoint-list":<br>
<br>
2012-03-24 20:30:09 DEBUG
[routes.middleware] Matched GET
/endpoints<br>
2012-03-24 20:30:09 DEBUG
[routes.middleware] Route path:<br>
'{path_info:.*}', defaults:
{'controller':<br>
<keystone.contrib.admin_crud.core.CrudExtension
object at 0x2b215d0>}<br>
2012-03-24 20:30:09 DEBUG
[routes.middleware] Match dict:<br>
{'controller':
<keystone.contrib.admin_crud.core.CrudExtension
object at<br>
0x2b215d0>, 'path_info':
'/endpoints'}<br>
2012-03-24 20:30:09 DEBUG
[routes.middleware] Matched GET
/endpoints<br>
2012-03-24 20:30:09 DEBUG
[routes.middleware] Route path:<br>
'/endpoints', defaults: {'action':
u'get_endpoints', 'controller':<br>
<keystone.catalog.core.EndpointController
object at 0x2b21210>}<br>
2012-03-24 20:30:09 DEBUG
[routes.middleware] Match dict:
{'action':<br>
u'get_endpoints', 'controller':<br>
<keystone.catalog.core.EndpointController
object at 0x2b21210>}<br>
2012-03-24 20:30:09 DEBUG
[keystone.common.wsgi] arg_dict: {}<br>
2012-03-24 20:30:09 WARNING
[keystone.common.wsgi] The action you
have<br>
requested has not been implemented.<br>
2012-03-24 20:30:09 DEBUG
[keystone.common.wsgi]
********************<br>
RESPONSE HEADERS ********************<br>
2012-03-24 20:30:09 DEBUG
[keystone.common.wsgi] Content-Type =<br>
application/json<br>
2012-03-24 20:30:09 DEBUG
[keystone.common.wsgi] Vary =
X-Auth-Token<br>
2012-03-24 20:30:09 DEBUG
[keystone.common.wsgi] Content-Length
= 109<br>
2012-03-24 20:30:09 DEBUG
[keystone.common.wsgi]<br>
2012-03-24 20:30:09 DEBUG
[keystone.common.wsgi]
********************<br>
RESPONSE BODY ********************<br>
<br>
<br>
I try to add some debug in<br>
keystone.catalog.core.EndpointController.get_endpoints()
method:<br>
<br>
def get_endpoints(self, context):<br>
LOG.debug("PLOP
get_endpoints")<br>
self.assert_admin(context)<br>
LOG.debug("PLOP STILL
HERE") # <= LAST DEBUG LINE<br>
endpoint_list =
self.catalog_api.list_endpoints(context)<br>
LOG.debug("SO, how does
endpoint_list looks like ?")<br>
for i in endpoint_list:<br>
LOG.debug("PLOP: '%s'",s)<br>
endpoint_refs =
[self.catalog_api.get_endpoint(context,
e)<br>
for e in
endpoint_list]<br>
LOG.debug("PLOP THIS IS THE
END")<br>
return {'endpoints':
endpoint_refs}<br>
<br>
So, as i do not see anything after
"PLOP STILL HERE", i am assuming<br>
something is wrong in the
catalog_api.list_endpoints() method.<br>
<br>
However, i do not understand exactly
where it is implemented.<br>
catalog_api is a Manager instance,
wich seems to be a subclass of<br>
Manager() defined in
keystone/keystone/common/manager.py
but i am lost<br>
with the wrapping magic that occurs
there.<br>
<br>
So, is this a bug that i should file ?<br>
<br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/" target="_blank">https://launchpad.net/</a>‾openstack<br>
Post to : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/" target="_blank">https://launchpad.net/</a>‾openstack<br>
More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a></span></p>
</div>
</div>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a></span><br>
<span>Post to : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a></span><br>
<span>Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a></span><br>
<span>More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a></span><br>
</div>
</blockquote>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a>
Post to : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a>
Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a>
More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></blockquote></div><br>