[Bug 1468306] Re: Missing os_region_name for mult-region cinder with nova

James Page james.page at ubuntu.com
Wed Feb 17 15:26:02 UTC 2016


** Changed in: cinder (Juju Charms Collection)
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to cinder in Juju Charms Collection.
Matching subscriptions: charm-bugs
https://bugs.launchpad.net/bugs/1468306

Title:
  Missing os_region_name for mult-region cinder with nova

Status in cinder package in Juju Charms Collection:
  Fix Committed
Status in nova-cloud-controller package in Juju Charms Collection:
  In Progress
Status in nova-compute package in Juju Charms Collection:
  In Progress

Bug description:
  When multiple regions are used, nova api doesn't know to which cinder
  to reach out:

  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack Traceback (most recent call last):
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 124, in __call__
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return req.get_response(self.application)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     application, catch_exc_info=False)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     app_iter = application(self.environ, start_response)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return resp(environ, start_response)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/keystoneclient/middleware/auth_token.py", line 663, in __call__
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return self.app(env, start_response)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return resp(environ, start_response)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return resp(environ, start_response)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     response = self.app(environ, start_response)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return resp(environ, start_response)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     resp = self.call_func(req, *args, **self.kwargs)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return self.func(req, *args, **kwargs)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 910, in __call__
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     content_type, body, accept)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 975, in _process_stack
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     action_result = self.dispatch(meth, request, action_args)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 1059, in dispatch
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return method(req=request, **action_args)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/volumes.py", line 418, in create
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     volume_id, device)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 221, in wrapped
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return func(self, context, target, *args, **kwargs)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 211, in inner
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return function(self, context, instance, *args, **kwargs)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 192, in inner
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     return f(self, context, instance, *args, **kw)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 2947, in attach_volume
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     disk_bus, device_type)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 2928, in _attach_volume
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     volume_bdm.destroy(context)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 82, in __exit__
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     six.reraise(self.type_, self.value, self.tb)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 2921, in _attach_volume
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     volume = self.volume_api.get(context, volume_id)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/volume/cinder.py", line 185, in wrapper
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     res = method(self, ctx, volume_id, *args, **kwargs)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/volume/cinder.py", line 283, in get
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     item = cinderclient(context).volumes.get(volume_id)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/volume/cinder.py", line 92, in cinderclient
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     version = get_cinder_client_version(context)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/nova/volume/cinder.py", line 254, in get_cinder_client_version
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     endpoint_type=endpoint_type)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack   File "/usr/lib/python2.7/dist-packages/cinderclient/service_catalog.py", line 86, in url_for
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack     raise cinderclient.exceptions.AmbiguousEndpoints(endpoints=eplist)
  2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack AmbiguousEndpoints: AmbiguousEndpoints: [{u'adminURL': u'http://172.16.20.4:8776/v1/9eb8fcc4d6114834b8716f3209c05478', u'region': u'Chassis1', u'internalURL':
  u'http://172.16.20.4:8776/v1/9eb8fcc4d6114834b8716f3209c05478', 'serviceName': u'cinder', u'id': u'65776036ee7745b89483b992d1d41d73', u'publicURL': u'http://172.16.20.4:8776/v1/9eb8fcc4d6114834b8716f3209c05478'},
  {u'adminURL': u'http://172.16.30.4:8776/v1/9eb8fcc4d6114834b8716f3209c05478', u'region': u'Chassis2', u'internalURL': u'http://172.16.30.4:8776/v1/9eb8fcc4d6114834b8716f3209c05478', 'serviceName': u'cinder', u'id'
  : u'1e8916d776414e6da4d7bf1b4ada5fc1', u'publicURL': u'http://172.16.30.4:8776/v1/9eb8fcc4d6114834b8716f3209c05478'}, {u'adminURL': u'http://172.16.40.4:8776/v1/9eb8fcc4d6114834b8716f3209c05478', u'region': u'Chas
  sis3', u'internalURL': u'http://172.16.40.4:8776/v1/9eb8fcc4d6114834b8716f3209c05478', 'serviceName': u'cinder', u'id': u'0e42b2c9322a49f3842a088b630accd9', u'publicURL': u'http://172.16.40.4:8776/v1/9eb8fcc4d6114
  834b8716f3209c05478'}]

  It's missing:

  == nova.conf (nova-cloud-controller and nova-compute nodes) ==

  [cinder]
  os_region_name = <region>

  == cinder.conf ==

  [DEFAULT]
  os_region_name = <region>

  
  Unfortunately the config-flags option does not yet support non-DEFAULT sections so only the cinder entry can be added this way.

To manage notifications about this bug go to:
https://bugs.launchpad.net/charms/+source/cinder/+bug/1468306/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list