Missing os_region_name for mult-region cinder with nova
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cinder (Juju Charms Collection) |
Fix Released
|
High
|
Billy Olsen | ||
nova-cloud-controller (Juju Charms Collection) |
Fix Released
|
High
|
Billy Olsen | ||
nova-compute (Juju Charms Collection) |
Fix Released
|
High
|
Billy Olsen |
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/
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack return req.get_
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack File "/usr/lib/
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack application, catch_exc_
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack File "/usr/lib/
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack app_iter = application(
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack File "/usr/lib/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack volume_
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack File "/usr/lib/
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack six.reraise(
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack File "/usr/lib/
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack volume = self.volume_
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack File "/usr/lib/
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/
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack item = cinderclient(
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack File "/usr/lib/
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack version = get_cinder_
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack File "/usr/lib/
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack endpoint_
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack File "/usr/lib/
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack raise cinderclient.
2015-06-24 10:43:47.964 1170 TRACE nova.api.openstack AmbiguousEndpoints: AmbiguousEndpoints: [{u'adminURL': u'http://
u'http://
{u'adminURL': u'http://
: u'1e8916d776414
sis3', u'internalURL': u'http://
834b8716f3209c0
It's missing:
== nova.conf (nova-cloud-
[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.
Related branches
- James Page: Needs Fixing
-
Diff: 211 lines (+50/-6)8 files modifiedhooks/nova_cc_hooks.py (+10/-0)
templates/icehouse/nova.conf (+3/-0)
templates/juno/nova.conf (+2/-0)
templates/kilo/nova.conf (+2/-0)
templates/mitaka/nova.conf (+2/-0)
templates/parts/cinder (+5/-0)
unit_tests/test_nova_cc_contexts.py (+5/-2)
unit_tests/test_nova_cc_hooks.py (+21/-4)
- James Page: Needs Fixing
-
Diff: 90 lines (+28/-0)6 files modifiedhooks/nova_compute_context.py (+13/-0)
templates/icehouse/nova.conf (+3/-0)
templates/juno/nova.conf (+3/-0)
templates/kilo/nova.conf (+2/-0)
templates/mitaka/nova.conf (+2/-0)
templates/parts/cinder (+5/-0)
- James Page: Approve
-
Diff: 94 lines (+34/-1)6 files modifiedhooks/cinder_contexts.py (+15/-0)
hooks/cinder_utils.py (+2/-1)
templates/cinder.conf (+4/-0)
templates/icehouse/cinder.conf (+4/-0)
templates/kilo/cinder.conf (+4/-0)
unit_tests/test_cinder_contexts.py (+5/-0)
Changed in nova-compute (Juju Charms Collection): | |
milestone: | none → 16.01 |
Changed in nova-cloud-controller (Juju Charms Collection): | |
milestone: | none → 16.01 |
status: | New → Triaged |
Changed in nova-compute (Juju Charms Collection): | |
status: | New → Triaged |
Changed in nova-cloud-controller (Juju Charms Collection): | |
importance: | Undecided → High |
Changed in nova-compute (Juju Charms Collection): | |
importance: | Undecided → High |
description: | updated |
summary: |
- Missing region setting in nova.conf + Missing os_region_name for mult-region cinder with nova |
tags: | added: openstack sts |
tags: | added: hitlist |
Changed in cinder (Juju Charms Collection): | |
assignee: | nobody → Billy Olsen (billy-olsen) |
status: | Triaged → In Progress |
Changed in nova-cloud-controller (Juju Charms Collection): | |
status: | Triaged → In Progress |
Changed in nova-compute (Juju Charms Collection): | |
status: | Triaged → In Progress |
Changed in nova-cloud-controller (Juju Charms Collection): | |
assignee: | nobody → Billy Olsen (billy-olsen) |
Changed in nova-compute (Juju Charms Collection): | |
assignee: | nobody → Billy Olsen (billy-olsen) |
Changed in cinder (Juju Charms Collection): | |
status: | In Progress → Fix Committed |
Changed in nova-compute (Juju Charms Collection): | |
status: | In Progress → Fix Committed |
Changed in nova-cloud-controller (Juju Charms Collection): | |
status: | In Progress → Fix Committed |
Changed in nova-cloud-controller (Juju Charms Collection): | |
status: | Fix Committed → Fix Released |
Changed in nova-compute (Juju Charms Collection): | |
status: | Fix Committed → Fix Released |
Changed in cinder (Juju Charms Collection): | |
status: | Fix Committed → Fix Released |
It's needed on both nova-cloud- controller and nova-compute nodes.