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 <[email protected]
<mailto:[email protected]>> 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
<[email protected] <mailto:[email protected]>> wrote:
I’m also getting the same error on latest master branch (updated
today)
Using setup created by devstack
-Mandar
*From:*[email protected]
<mailto:[email protected]>
[mailto:[email protected]
<mailto:[email protected]>] *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"<[email protected]
<mailto:[email protected]>>;
*Date: * Sun, Mar 25, 2012 04:35 AM
*To: * "openstack"<[email protected]
<mailto:[email protected]>>;
*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 : [email protected]
<mailto:[email protected]>
Unsubscribe : https://launchpad.net/‾openstack
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~openstack
<https://launchpad.net/%7Eopenstack>
Post to : [email protected]
<mailto:[email protected]>
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 :[email protected]
<mailto:[email protected]>
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 : [email protected]
<mailto:[email protected]>
Unsubscribe : https://launchpad.net/~openstack
<https://launchpad.net/%7Eopenstack>
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp