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" 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@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp