← Back to team overview

openstack team mailing list archive

Re: is this a bug in milestone-proposed keystone ? (cannotget endpoint-list, nor create endpoint)

 

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@xxxxxxxxxxxx <mailto:mandar.vaze@xxxxxxxxxxxx>> 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@xxxxxxxxxxxxxxxxxxx <mailto:openstack-bounces+mandar.vaze=vertex.co.in@xxxxxxxxxxxxxxxxxxx> [mailto:openstack-bounces+mandar.vaze=vertex.co.in@xxxxxxxxxxxxxxxxxxx <mailto:vertex.co.in@xxxxxxxxxxxxxxxxxxx>] *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@xxxxxxxxxxxxx <mailto:pierre.amadio@xxxxxxxxxxxxx>>;

*Date: * Sun, Mar 25, 2012 04:35 AM

*To: * "openstack"<openstack@xxxxxxxxxxxxxxxxxxx <mailto:openstack@xxxxxxxxxxxxxxxxxxx>>;

*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@xxxxxxxxxxxxxxxxxxx <mailto:openstack@xxxxxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxxxxx <mailto:openstack@xxxxxxxxxxxxxxxxxxx> Unsubscribe : https://launchpad.net/~openstack <https://launchpad.net/%7Eopenstack>
More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Follow ups

References