osapi_volume api is loaded even when n-vol not enabled

Bug #1073701 reported by Andrew Laski
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
devstack
Fix Released
Undecided
Unassigned

Bug Description

If cinder is enabled the osapi_volume argument is removed from enabled_apis in nova.conf, but if neither cinder or n-vol is enabled it's still there. Currently this leads to:

2012-10-31 20:03:53 INFO nova.osapi_compute.wsgi.server [-] (16384) wsgi starting up on http://0.0.0.0:8774/

2012-10-31 20:03:53 CRITICAL nova [-] No module named volume
2012-10-31 20:03:53 TRACE nova Traceback (most recent call last):
2012-10-31 20:03:53 TRACE nova File "/opt/stack/nova/bin/nova-api", line 50, in <module>
2012-10-31 20:03:53 TRACE nova server = service.WSGIService(api)
2012-10-31 20:03:53 TRACE nova File "/opt/stack/nova/nova/service.py", line 572, in __init__
2012-10-31 20:03:53 TRACE nova self.app = self.loader.load_app(name)
2012-10-31 20:03:53 TRACE nova File "/opt/stack/nova/nova/wsgi.py", line 384, in load_app
2012-10-31 20:03:53 TRACE nova return deploy.loadapp("config:%s" % self.config_path, name=name)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2012-10-31 20:03:53 TRACE nova return loadobj(APP, uri, name=name, **kw)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2012-10-31 20:03:53 TRACE nova return context.create()
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2012-10-31 20:03:53 TRACE nova return self.object_type.invoke(self)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2012-10-31 20:03:53 TRACE nova **context.local_conf)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
2012-10-31 20:03:53 TRACE nova val = callable(*args, **kw)
2012-10-31 20:03:53 TRACE nova File "/opt/stack/nova/nova/api/openstack/urlmap.py", line 163, in urlmap_factory
2012-10-31 20:03:53 TRACE nova app = loader.get_app(app_name, global_conf=global_conf)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2012-10-31 20:03:53 TRACE nova name=name, global_conf=global_conf).create()
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2012-10-31 20:03:53 TRACE nova return self.object_type.invoke(self)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2012-10-31 20:03:53 TRACE nova **context.local_conf)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
2012-10-31 20:03:53 TRACE nova val = callable(*args, **kw)
2012-10-31 20:03:53 TRACE nova File "/opt/stack/nova/nova/api/auth.py", line 50, in pipeline_factory
2012-10-31 20:03:53 TRACE nova app = loader.get_app(pipeline[-1])
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2012-10-31 20:03:53 TRACE nova name=name, global_conf=global_conf).create()
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 362, in app_context
2012-10-31 20:03:53 TRACE nova APP, name=name, global_conf=global_conf)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 458, in get_context
2012-10-31 20:03:53 TRACE nova section)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 517, in _context_from_explicit
2012-10-31 20:03:53 TRACE nova value = import_string(found_expr)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 22, in import_string
2012-10-31 20:03:53 TRACE nova return pkg_resources.EntryPoint.parse("x=" + s).load(False)
2012-10-31 20:03:53 TRACE nova File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1989, in load
2012-10-31 20:03:53 TRACE nova entry = __import__(self.module_name, globals(),globals(), ['__name__'])
2012-10-31 20:03:53 TRACE nova ImportError: No module named volume
2012-10-31 20:03:53 TRACE nova
stack@alaski-dev2:~/nova$ 2012-10-31 20:03:53 INFO nova.service [-] Parent process has died unexpectedly, exiting
2012-10-31 20:03:53 INFO nova.wsgi [-] Stopping WSGI server.

Revision history for this message
Andrew Laski (alaski) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to devstack (master)

Reviewed: https://review.openstack.org/15144
Committed: http://github.com/openstack-dev/devstack/commit/6e7e1c941a3ea9e2d30a6b59ccce2c5efa44b349
Submitter: Jenkins
Branch: master

commit 6e7e1c941a3ea9e2d30a6b59ccce2c5efa44b349
Author: Andrew Laski <email address hidden>
Date: Wed Oct 31 16:11:37 2012 -0400

    Don't enable osapi_volume if n-vol not enabled.

    Enabling cinder removes osapi_volume from enabled_apis in nova.conf but
    if neither cinder or n-vol are enabled it should not be there. It seems
    that volume code is being removed from nova so osapi_volume should not
    be enabled by default.

    Fixes bug #1073701

    Change-Id: I626a941f434b1c8c1a73b32318e21c99445b5541

Changed in devstack:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.