← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1154809] Re: Volume detach fails via OSAPI: AmbiguousEndpoints

 

My two cents: all python bindings should rely on python-keystoneclient
for obtaining token and url from catalogue, rather than duplicating the
logic to get a token and parse the catalogue, like cinder and nova
client do. This will make it easier in future to support new version of
the identity API.

** Also affects: python-novaclient
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1154809

Title:
  Volume detach fails via OSAPI: AmbiguousEndpoints

Status in OpenStack Compute (Nova):
  Fix Released
Status in Python client library for Cinder:
  New
Status in Python client library for Keystone:
  Confirmed
Status in Python client library for Nova:
  New

Bug description:
  Not sure if this is a cinderclient bug or nova.  Attempting to detach
  a volume via the OSAPI ends with an AmbiguousEndpoints exception:

  2013-03-13 17:30:40.314 ERROR nova.api.openstack [req-9dc2a448-c2ed-4db3-be2f-6e1f8971d463 f1a96ff6310042f7b7a9b5acbb634a43 e00a289cba9b45169f054067d7dd74e1] Caught error: AmbiguousEndpoints: [{u'url': u'http://test-07.os.magners.qa.lexington:8776/v1/e00a289cba9b45169f054067d7dd74e1', u'region': u'RegionOne', u'legacy_endpoint_id': u'8012ff386ffa4955b3eab965a4826b0e', 'serviceName': None, u'interface': u'internal', u'id': u'3b41c544eb24440b89946ab4da3c2524'}, {u'url': u'http://test-07.os.magners.qa.lexington:8776/v1/e00a289cba9b45169f054067d7dd74e1', u'region': u'RegionOne', u'legacy_endpoint_id': u'8012ff386ffa4955b3eab965a4826b0e', 'serviceName': None, u'interface': u'public', u'id': u'981469fb6b4f4928b1a59783bec445c4'}, {u'url': u'http://test-07.os.magners.qa.lexington:8776/v1/e00a289cba9b45169f054067d7dd74e1', u'region': u'RegionOne', u'legacy_endpoint_id': u'8012ff386ffa4955b3eab965a4826b0e', 'serviceName': None, u'interface': u'admin', u'id': u'c578676fd1c6404c9a4fddd8daf531a4'}]
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack Traceback (most recent call last):
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 81, in __call__
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     return req.get_response(self.application)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     application, catch_exc_info=False)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     app_iter = application(self.environ, start_response)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/keystoneclient/middleware/auth_token.py", line 451, in __call__
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     return self.app(env, start_response)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     response = self.app(environ, start_response)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     resp = self.call_func(req, *args, **self.kwargs)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     return self.func(req, *args, **kwargs)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 895, in __call__
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     content_type, body, accept)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 955, in _process_stack
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     action_result = self.dispatch(meth, request, action_args)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 1035, in dispatch
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     return method(req=request, **action_args)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/volumes.py", line 452, in delete
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     volume_id=volume_id)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 2332, in detach_volume
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     volume = self.volume_api.get(context, volume_id)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/volume/cinder.py", line 191, in get
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     self._reraise_translated_volume_exception(volume_id)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/volume/cinder.py", line 188, in get
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     item = cinderclient(context).volumes.get(volume_id)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/volume/cinder.py", line 92, in cinderclient
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     endpoint_type=endpoint_type)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/cinderclient/service_catalog.py", line 85, in url_for
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack     endpoints=matching_endpoints)
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack AmbiguousEndpoints: AmbiguousEndpoints: [{u'url': u'http://test-07.os.magners.qa.lexington:8776/v1/e00a289cba9b45169f054067d7dd74e1', u'region': u'RegionOne', u'legacy_endpoint_id': u'8012ff386ffa4955b3eab965a4826b0e', 'serviceName': None, u'interface': u'internal', u'id': u'3b41c544eb24440b89946ab4da3c2524'}, {u'url': u'http://test-07.os.magners.qa.lexington:8776/v1/e00a289cba9b45169f054067d7dd74e1', u'region': u'RegionOne', u'legacy_endpoint_id': u'8012ff386ffa4955b3eab965a4826b0e', 'serviceName': None, u'interface': u'public', u'id': u'981469fb6b4f4928b1a59783bec445c4'}, {u'url': u'http://test-07.os.magners.qa.lexington:8776/v1/e00a289cba9b45169f054067d7dd74e1', u'region': u'RegionOne', u'legacy_endpoint_id': u'8012ff386ffa4955b3eab965a4826b0e', 'serviceName': None, u'interface': u'admin', u'id': u'c578676fd1c6404c9a4fddd8daf531a4'}]
  2013-03-13 17:30:40.314 8945 TRACE nova.api.openstack 

  
  The configured keystone services and catalog looks like:

  adam@test-01:~$ keystone catalog
  Service: compute
  +-------------+-----------------------------------------------------------------------------------+
  |   Property  |                                       Value                                       |
  +-------------+-----------------------------------------------------------------------------------+
  |   adminURL  | http://test-05.os.magners.qa.lexington:8774/v1.1/e00a289cba9b45169f054067d7dd74e1 |
  |      id     |                          10b0009cd95a45d899eee12ce0bb1253                         |
  | internalURL | http://test-05.os.magners.qa.lexington:8774/v1.1/e00a289cba9b45169f054067d7dd74e1 |
  |  publicURL  | http://test-05.os.magners.qa.lexington:8774/v1.1/e00a289cba9b45169f054067d7dd74e1 |
  |    region   |                                     RegionOne                                     |
  +-------------+-----------------------------------------------------------------------------------+
  Service: s3
  +-------------+---------------------------------------------+
  |   Property  |                    Value                    |
  +-------------+---------------------------------------------+
  |   adminURL  | http://test-05.os.magners.qa.lexington:3333 |
  |      id     |       519b3206ab584bbaa5e0166eaac2bea5      |
  | internalURL | http://test-05.os.magners.qa.lexington:3333 |
  |  publicURL  | http://test-05.os.magners.qa.lexington:3333 |
  |    region   |                  RegionOne                  |
  +-------------+---------------------------------------------+
  Service: image
  +-------------+------------------------------------------------+
  |   Property  |                     Value                      |
  +-------------+------------------------------------------------+
  |   adminURL  | http://test-11.os.magners.qa.lexington:9292/v1 |
  |      id     |        5c870d37fdba4cf58b43a53f291b8e59        |
  | internalURL | http://test-11.os.magners.qa.lexington:9292/v1 |
  |  publicURL  | http://test-11.os.magners.qa.lexington:9292/v1 |
  |    region   |                   RegionOne                    |
  +-------------+------------------------------------------------+
  Service: volume
  +-------------+---------------------------------------------------------------------------------+
  |   Property  |                                      Value                                      |
  +-------------+---------------------------------------------------------------------------------+
  |   adminURL  | http://test-07.os.magners.qa.lexington:8776/v1/e00a289cba9b45169f054067d7dd74e1 |
  |      id     |                         3b41c544eb24440b89946ab4da3c2524                        |
  | internalURL | http://test-07.os.magners.qa.lexington:8776/v1/e00a289cba9b45169f054067d7dd74e1 |
  |  publicURL  | http://test-07.os.magners.qa.lexington:8776/v1/e00a289cba9b45169f054067d7dd74e1 |
  |    region   |                                    RegionOne                                    |
  +-------------+---------------------------------------------------------------------------------+
  Service: ec2
  +-------------+------------------------------------------------------------+
  |   Property  |                           Value                            |
  +-------------+------------------------------------------------------------+
  |   adminURL  | http://test-05.os.magners.qa.lexington:8773/services/Cloud |
  |      id     |              5dc0b588166f496a9f7e38343cea582b              |
  | internalURL | http://test-05.os.magners.qa.lexington:8773/services/Cloud |
  |  publicURL  | http://test-05.os.magners.qa.lexington:8773/services/Cloud |
  |    region   |                         RegionOne                          |
  +-------------+------------------------------------------------------------+
  Service: identity
  +-------------+---------------------------------------------------+
  |   Property  |                       Value                       |
  +-------------+---------------------------------------------------+
  |   adminURL  | http://test-02.os.magners.qa.lexington:35357/v2.0 |
  |      id     |          2469befa176047e9a2307b590bd49016         |
  | internalURL |  http://test-02.os.magners.qa.lexington:5000/v2.0 |
  |  publicURL  |  http://test-02.os.magners.qa.lexington:5000/v2.0 |
  |    region   |                     RegionOne                     |
  +-------------+---------------------------------------------------+
  adam@test-01:~$ keystone service-list
  +----------------------------------+----------+----------+----------------------------+
  |                id                |   name   |   type   |        description         |
  +----------------------------------+----------+----------+----------------------------+
  | 1a803d81a1754abc9d1b4f9f806b8343 |  cinder  |  volume  |   Cinder Volume Service    |
  | 30c39e60f05244bbb5a648e8d4f5b365 |   ec2    |   ec2    |  EC2 Compatibility Layer   |
  | 57e567fc7af5404ba2a9e2643cd1b35a | keystone | identity | Keystone Identity Service  |
  | 7ad8e13d1cc24473a011bdc2fa6e227e |  glance  |  image   |    Glance Image Service    |
  | 863bb1c4ce364858a9eaffa006ed9a44 |   nova   | compute  |    Nova Compute Service    |
  | a89a355e152e48e49a46ee592110d241 |    s3    |    s3    | S3 Compatible object-store |
  +----------------------------------+----------+----------+----------------------------+
  adam@test-01:~$

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1154809/+subscriptions