← Back to team overview

openstack team mailing list archive

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

 

I’m using devstack setup. The configuration is unchanged from what devstack configured :

================ config for your reference ==================
[DEFAULT]
bind_host = 0.0.0.0
public_port = 5000
admin_port = 35357
admin_token = admin
compute_port = 3000
verbose = True
debug = True
# commented out so devstack logs to stdout
# log_file = /opt/stack/keystone/keystone.log

# ================= Syslog Options ============================
# Send logs to syslog (/dev/log) instead of to file specified
# by `log-file`
use_syslog = False

# Facility to use. If unset defaults to LOG_USER.
# syslog_log_facility = LOG_LOCAL0

[sql]
connection = mysql://root:nova@localhost/keystone
idle_timeout = 30
min_pool_size = 5
max_pool_size = 10
pool_timeout = 200

[identity]
driver = keystone.identity.backends.sql.Identity

[catalog]
driver = keystone.catalog.backends.templated.TemplatedCatalog
template_file = /opt/stack/keystone/etc/default_catalog.templates

[token]
driver = keystone.token.backends.kvs.Token

[policy]
driver = keystone.policy.backends.rules.Policy

[ec2]
driver = keystone.contrib.ec2.backends.sql.Ec2

[filter:debug]
paste.filter_factory = keystone.common.wsgi:Debug.factory

[filter:token_auth]
paste.filter_factory = keystone.middleware:TokenAuthMiddleware.factory

[filter:admin_token_auth]
paste.filter_factory = keystone.middleware:AdminTokenAuthMiddleware.factory

[filter:xml_body]
paste.filter_factory = keystone.middleware:XmlBodyMiddleware.factory

[filter:json_body]
paste.filter_factory = keystone.middleware:JsonBodyMiddleware.factory

[filter:crud_extension]
paste.filter_factory = keystone.contrib.admin_crud:CrudExtension.factory

[filter:ec2_extension]
paste.filter_factory = keystone.contrib.ec2:Ec2Extension.factory

[filter:s3_extension]
paste.filter_factory = keystone.contrib.s3:S3Extension.factory

[app:public_service]
paste.app_factory = keystone.service:public_app_factory

[app:admin_service]
paste.app_factory = keystone.service:admin_app_factory

[pipeline:public_api]
pipeline = token_auth admin_token_auth xml_body json_body debug ec2_extension public_service

[pipeline:admin_api]
pipeline = token_auth admin_token_auth xml_body json_body debug ec2_extension s3_extension crud_extension admin_service

[app:public_version_service]
paste.app_factory = keystone.service:public_version_app_factory

[app:admin_version_service]
paste.app_factory = keystone.service:admin_version_app_factory

[pipeline:public_version_api]
pipeline = xml_body public_version_service

[pipeline:admin_version_api]
pipeline = xml_body admin_version_service

[composite:main]
use = egg:Paste#urlmap
/v2.0 = public_api
/ = public_version_api

[composite:admin]
use = egg:Paste#urlmap
/v2.0 = admin_api
/ = admin_version_api



-Mandar


From: Andiabes [mailto:andi.abes@xxxxxxxxx]
Sent: Monday, March 26, 2012 4:56 PM
To: Mandar Vaze
Cc: .。o 0 O泡泡 ; Pierre Amadio; openstack
Subject: Re: [Openstack] is this a bug in milestone-proposed keystone ? (cannotget endpoint-list, nor create endpoint)

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/%25(tenant_id)s>"
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
Post to     : openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

References