[Openstack] is this a bug in milestone-proposed keystone ? (cannotget endpoint-list, nor create endpoint)

David Kranz david.kranz at qrclab.com
Mon Mar 26 18:12:00 UTC 2012


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?

  -David

On 3/26/2012 1:39 PM, Dolph Mathews wrote:
> 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.
>
> 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.
>
> I've just proposed a review to clarify each option in the 
> http://keystone.openstack.org/configuration.html docs:
> https://review.openstack.org/#change,5820
>
> 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:
> https://review.openstack.org/#change,5821
>
> -Dolph
>
> On Mon, Mar 26, 2012 at 8:29 AM, David Kranz <david.kranz at qrclab.com 
> <mailto:david.kranz at qrclab.com>> wrote:
>
>     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?
>
>      -David
>
>
>     On 3/26/2012 7:25 AM, Andiabes wrote:
>>     Can you include your config?
>>     The behavior you're describing seems to be consistent with a
>>     missing backers configuration ...
>>
>>     Something like:
>>     [identity]
>>     driver = keystone.identity.backends.sql.Identity
>>     [catalog]
>>     driver = keystone.catalog.backends.sql.Catalog
>>     Also, where/how are you installing?
>>
>>     On Mar 26, 2012, at 6:56 AM, Mandar Vaze
>>     <mandar.vaze at vertex.co.in <mailto:mandar.vaze at vertex.co.in>> wrote:
>>
>>>     I’m also getting the same error on latest master branch (updated
>>>     today)
>>>
>>>     Using setup created by devstack
>>>
>>>     -Mandar
>>>
>>>     *From:*openstack-bounces+mandar.vaze=vertex.co.in at lists.launchpad.net
>>>     <mailto:openstack-bounces+mandar.vaze=vertex.co.in at lists.launchpad.net>
>>>     [mailto:openstack-bounces+mandar.vaze=vertex.co.in at lists.launchpad.net
>>>     <mailto:vertex.co.in at lists.launchpad.net>] *On Behalf Of *.?o 0 O??
>>>     *Sent:* Monday, March 26, 2012 12:45 PM
>>>     *To:* Pierre Amadio
>>>     *Cc:* openstack
>>>     *Subject:* Re: [Openstack] is this a bug in milestone-proposed
>>>     keystone ? (cannotget endpoint-list, nor create endpoint)
>>>
>>>     hi,
>>>
>>>     I don't know if it is a bug but I come across the same problem
>>>     and wondering how to solve it.
>>>
>>>     ------------------ Original ------------------
>>>
>>>     *From: * "Pierre Amadio"<pierre.amadio at canonical.com
>>>     <mailto:pierre.amadio at canonical.com>>;
>>>
>>>     *Date: * Sun, Mar 25, 2012 04:35 AM
>>>
>>>     *To: * "openstack"<openstack at lists.launchpad.net
>>>     <mailto:openstack at lists.launchpad.net>>;
>>>
>>>     *Subject: * [Openstack] is this a bug in milestone-proposed
>>>     keystone ? (cannotget endpoint-list, nor create endpoint)
>>>
>>>     Hi there !
>>>
>>>     I wanted to give a try to the milestone-proposed branch of
>>>     keystone and
>>>     got stuck quite fast.
>>>
>>>     I am not sure if i hit a bug and should report it, or if i'm doing
>>>     something wrong.
>>>
>>>     With previous version of keystone (read packaged on ubuntu
>>>     precise), i
>>>     was able to create endpoint the following way once keystone has been
>>>     installed:
>>>
>>>     1) setting some env variables:
>>>     export KEYSTONE_IP=192.168.122.102 # IP of your keystone API server
>>>     export SERVICE_ENDPOINT=http://$KEYSTONE_IP:35357/v2.0/
>>>     export SERVICE_TOKEN=999888777666
>>>     export NOVA_PUBLIC_URL="http://$NOVA_IP:8774/v1.1/%(tenant_id)s
>>>     <http://$NOVA_IP:8774/v1.1/%%28tenant_id%29s>"
>>>     export NOVA_ADMIN_URL=$NOVA_PUBLIC_URL
>>>     export NOVA_INTERNAL_URL=$NOVA_PUBLIC_URL
>>>
>>>     2) creating services:
>>>     keystone service-create --name nova --type compute --description
>>>     'OpenStack Compute Service'
>>>
>>>     keystone service-create --name swift --type object-store
>>>     --description
>>>     'OpenStack Storage Service'
>>>
>>>     keystone service-create --name glance --type image --description
>>>     'OpenStack Image Service'
>>>
>>>     keystone service-create --name keystone --type identity
>>>     --description
>>>     'OpenStack Identity Service'
>>>
>>>     3) creating an endpoint for those services, starting with the
>>>     compute
>>>     service:
>>>
>>>     ID=$(keystone service-list | grep -i compute | awk '{print $2}')
>>>
>>>
>>>     keystone endpoint-create --region RegionOne --service_id $ID
>>>     --publicurl
>>>     $NOVA_PUBLIC_URL --adminurl $NOVA_ADMIN_URL --internalurl
>>>     $NOVA_INTERNAL_URL
>>>
>>>     When i run this command with milestone-proposed, i experience
>>>     the following:
>>>
>>>     No handlers could be found for logger "keystoneclient.client"
>>>     The action you have requested has not been implemented. (HTTP 501)
>>>
>>>
>>>     Strangely enough, i experience a similar error message when
>>>     running a
>>>     simple "keystone endpoint-list" whereas command such as "keystone
>>>     user-list" works all right.
>>>
>>>
>>>     here is what i have in the keystone logs when trying
>>>     "endpoint-list":
>>>
>>>     2012-03-24 20:30:09    DEBUG [routes.middleware] Matched GET
>>>     /endpoints
>>>     2012-03-24 20:30:09    DEBUG [routes.middleware] Route path:
>>>     '{path_info:.*}', defaults: {'controller':
>>>     <keystone.contrib.admin_crud.core.CrudExtension object at
>>>     0x2b215d0>}
>>>     2012-03-24 20:30:09    DEBUG [routes.middleware] Match dict:
>>>     {'controller': <keystone.contrib.admin_crud.core.CrudExtension
>>>     object at
>>>     0x2b215d0>, 'path_info': '/endpoints'}
>>>     2012-03-24 20:30:09    DEBUG [routes.middleware] Matched GET
>>>     /endpoints
>>>     2012-03-24 20:30:09    DEBUG [routes.middleware] Route path:
>>>     '/endpoints', defaults: {'action': u'get_endpoints', 'controller':
>>>     <keystone.catalog.core.EndpointController object at 0x2b21210>}
>>>     2012-03-24 20:30:09    DEBUG [routes.middleware] Match dict:
>>>     {'action':
>>>     u'get_endpoints', 'controller':
>>>     <keystone.catalog.core.EndpointController object at 0x2b21210>}
>>>     2012-03-24 20:30:09    DEBUG [keystone.common.wsgi] arg_dict: {}
>>>     2012-03-24 20:30:09  WARNING [keystone.common.wsgi] The action
>>>     you have
>>>     requested has not been implemented.
>>>     2012-03-24 20:30:09    DEBUG [keystone.common.wsgi]
>>>     ********************
>>>     RESPONSE HEADERS ********************
>>>     2012-03-24 20:30:09    DEBUG [keystone.common.wsgi] Content-Type =
>>>     application/json
>>>     2012-03-24 20:30:09    DEBUG [keystone.common.wsgi] Vary =
>>>     X-Auth-Token
>>>     2012-03-24 20:30:09    DEBUG [keystone.common.wsgi]
>>>     Content-Length = 109
>>>     2012-03-24 20:30:09    DEBUG [keystone.common.wsgi]
>>>     2012-03-24 20:30:09    DEBUG [keystone.common.wsgi]
>>>     ********************
>>>     RESPONSE BODY ********************
>>>
>>>
>>>     I try to add some debug in
>>>     keystone.catalog.core.EndpointController.get_endpoints() method:
>>>
>>>         def get_endpoints(self, context):
>>>             LOG.debug("PLOP get_endpoints")
>>>             self.assert_admin(context)
>>>             LOG.debug("PLOP STILL HERE")      # <= LAST DEBUG LINE
>>>             endpoint_list = self.catalog_api.list_endpoints(context)
>>>             LOG.debug("SO, how does endpoint_list looks like ?")
>>>             for i in endpoint_list:
>>>                 LOG.debug("PLOP: '%s'",s)
>>>             endpoint_refs = [self.catalog_api.get_endpoint(context, e)
>>>                              for e in endpoint_list]
>>>             LOG.debug("PLOP THIS IS THE END")
>>>             return {'endpoints': endpoint_refs}
>>>
>>>     So, as i do not see anything after "PLOP STILL HERE", i am assuming
>>>     something is wrong in the catalog_api.list_endpoints() method.
>>>
>>>     However, i do not understand exactly where it is implemented.
>>>     catalog_api is a Manager instance, wich seems to be a subclass of
>>>     Manager() defined in keystone/keystone/common/manager.py but i
>>>     am lost
>>>     with the wrapping magic that occurs there.
>>>
>>>     So, is this a bug that i should file ?
>>>
>>>
>>>
>>>
>>>
>>>
>>>     _______________________________________________
>>>     Mailing list: https://launchpad.net/‾openstack
>>>     Post to     : openstack at lists.launchpad.net
>>>     <mailto:openstack at lists.launchpad.net>
>>>     Unsubscribe : https://launchpad.net/‾openstack
>>>     More help   : https://help.launchpad.net/ListHelp
>>>
>>>     _______________________________________________
>>>     Mailing list: https://launchpad.net/~openstack
>>>     <https://launchpad.net/%7Eopenstack>
>>>     Post to     : openstack at lists.launchpad.net
>>>     <mailto:openstack at lists.launchpad.net>
>>>     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 at lists.launchpad.net  <mailto:openstack at lists.launchpad.net>
>>     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 at lists.launchpad.net
>     <mailto:openstack at lists.launchpad.net>
>     Unsubscribe : https://launchpad.net/~openstack
>     <https://launchpad.net/%7Eopenstack>
>     More help   : https://help.launchpad.net/ListHelp
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20120326/d0ba76b2/attachment.html>


More information about the Openstack mailing list