Comment 0 for bug 1468306

Revision history for this message
Ante Karamatić (ivoks) wrote : Missing region setting in nova.conf

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 os_region_name = [Region] in nova.conf.

Setting os_region_name with config-flags is a workaround, but this should be part of the template. Note that region for nova-cloud-controller is set to [Region].