Could not load 'opendaylight': No module named OpenDaylightMechanismDriver

Bug #1516678 reported by Federico Ressi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-odl
Fix Released
Undecided
yong sheng gong

Bug Description

Running devstack with networking-odl (see attached local.conf) it fails running neutron with following exceptions:
2015-11-16 12:57:16.177 ERROR stevedore.extension [-] Could not load 'opendaylight': No module named OpenDaylightMechanismDriver
2015-11-16 12:57:16.178 ERROR stevedore.extension [-] No module named OpenDaylightMechanismDriver
2015-11-16 12:57:16.178 TRACE stevedore.extension Traceback (most recent call last):
2015-11-16 12:57:16.178 TRACE stevedore.extension File "/usr/local/lib/python2.7/dist-packages/stevedore/extension.py", line 162, in _load_plugins
2015-11-16 12:57:16.178 TRACE stevedore.extension verify_requirements,
2015-11-16 12:57:16.178 TRACE stevedore.extension File "/usr/local/lib/python2.7/dist-packages/stevedore/named.py", line 123, in _load_one_plugin
2015-11-16 12:57:16.178 TRACE stevedore.extension verify_requirements,
2015-11-16 12:57:16.178 TRACE stevedore.extension File "/usr/local/lib/python2.7/dist-packages/stevedore/extension.py", line 183, in _load_one_plugin
2015-11-16 12:57:16.178 TRACE stevedore.extension plugin = ep.resolve()
2015-11-16 12:57:16.178 TRACE stevedore.extension File "/usr/local/lib/python2.7/dist-packages/pkg_resources/_init_.py", line 2376, in resolve
2015-11-16 12:57:16.178 TRACE stevedore.extension module = _import_(self.module_name, fromlist=['__name__'], level=0)
2015-11-16 12:57:16.178 TRACE stevedore.extension ImportError: No module named OpenDaylightMechanismDriver
2015-11-16 12:57:16.178 TRACE stevedore.extension
2015-11-16 12:57:16.179 DEBUG oslo_concurrency.lockutils [-] Lock "manager" released by "neutron.manager._create_instance" :: held 0.155s from (pid=32051) inner /usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py:265
2015-11-16 12:57:16.179 ERROR oslo.service.wsgi [-] Couldn't lookup app: neutron
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi Traceback (most recent call last):
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/oslo_service/wsgi.py", line 324, in load_app
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return deploy.loadapp("config:%s" % self.config_path, name=name)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return loadobj(APP, uri, name=name, **kw)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return context.create()
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return self.object_type.invoke(self)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi **context.local_conf)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi val = callable(*args, **kw)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/urlmap.py", line 31, in urlmap_factory
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi app = loader.get_app(app_name, global_conf=global_conf)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi name=name, global_conf=global_conf).create()
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return self.object_type.invoke(self)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi **context.local_conf)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi val = callable(*args, **kw)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/auth.py", line 71, in pipeline_factory
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi app = loader.get_app(pipeline[-1])
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi name=name, global_conf=global_conf).create()
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return self.object_type.invoke(self)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 146, in invoke
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return fix_call(context.object, context.global_conf, **context.local_conf)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi val = callable(*args, **kw)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/api/v2/router.py", line 74, in factory
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return cls(**local_config)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/api/v2/router.py", line 78, in _init_
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi plugin = manager.NeutronManager.get_plugin()
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/manager.py", line 237, in get_plugin
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return weakref.proxy(cls.get_instance().plugin)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/manager.py", line 231, in get_instance
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi cls._create_instance()
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line 254, in inner
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return f(*args, **kwargs)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/manager.py", line 217, in _create_instance
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi cls._instance = cls()
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/manager.py", line 117, in _init_
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi plugin_provider)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/manager.py", line 150, in _get_plugin_instance
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return plugin_class()
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/quota/resource_registry.py", line 121, in wrapper
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return f(*args, **kwargs)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 145, in _init_
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi self.mechanism_manager = managers.MechanismManager()
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 301, in _init_
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi name_order=True)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/stevedore/named.py", line 56, in _init_
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi self._init_plugins(extensions)
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/stevedore/named.py", line 112, in _init_plugins
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi self.extensions = [self[n] for n in self._names]
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi File "/usr/local/lib/python2.7/dist-packages/stevedore/extension.py", line 283, in _getitem_
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi return self._extensions_by_name[name]
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi KeyError: 'opendaylight'
2015-11-16 12:57:16.179 TRACE oslo.service.wsgi
2015-11-16 12:57:16.182 ERROR neutron.service [-] Unrecoverable error: please check log for details.
2015-11-16 12:57:16.182 TRACE neutron.service Traceback (most recent call last):
2015-11-16 12:57:16.182 TRACE neutron.service File "/opt/stack/neutron/neutron/service.py", line 107, in serve_wsgi
2015-11-16 12:57:16.182 TRACE neutron.service service.start()
2015-11-16 12:57:16.182 TRACE neutron.service File "/opt/stack/neutron/neutron/service.py", line 80, in start
2015-11-16 12:57:16.182 TRACE neutron.service self.wsgi_app = _run_wsgi(self.app_name)
2015-11-16 12:57:16.182 TRACE neutron.service File "/opt/stack/neutron/neutron/service.py", line 231, in _run_wsgi
2015-11-16 12:57:16.182 TRACE neutron.service app = config.load_paste_app(app_name)
2015-11-16 12:57:16.182 TRACE neutron.service File "/opt/stack/neutron/neutron/common/config.py", line 207, in load_paste_app
2015-11-16 12:57:16.182 TRACE neutron.service app = loader.load_app(app_name)
2015-11-16 12:57:16.182 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/oslo_service/wsgi.py", line 327, in load_app
2015-11-16 12:57:16.182 TRACE neutron.service raise PasteAppNotFound(name=name, path=self.config_path)
2015-11-16 12:57:16.182 TRACE neutron.service PasteAppNotFound: Could not load paste app 'neutron' from /etc/neutron/api-paste.ini
2015-11-16 12:57:16.182 TRACE neutron.service
2015-11-16 12:57:16.183 CRITICAL neutron [-] PasteAppNotFound: Could not load paste app 'neutron' from /etc/neutron/api-paste.ini
2015-11-16 12:57:16.183 TRACE neutron Traceback (most recent call last):
2015-11-16 12:57:16.183 TRACE neutron File "/usr/local/bin/neutron-server", line 10, in <module>
2015-11-16 12:57:16.183 TRACE neutron sys.exit(main_wsgi_eventlet())
2015-11-16 12:57:16.183 TRACE neutron File "/opt/stack/neutron/neutron/cmd/eventlet/server/_init_.py", line 19, in main_wsgi_eventlet
2015-11-16 12:57:16.183 TRACE neutron wsgi_eventlet.main()
2015-11-16 12:57:16.183 TRACE neutron File "/opt/stack/neutron/neutron/server/wsgi_eventlet.py", line 51, in main
2015-11-16 12:57:16.183 TRACE neutron server.boot_server(_eventlet_wsgi_server)
2015-11-16 12:57:16.183 TRACE neutron File "/opt/stack/neutron/neutron/server/_init_.py", line 35, in boot_server
2015-11-16 12:57:16.183 TRACE neutron server_func()
2015-11-16 12:57:16.183 TRACE neutron File "/opt/stack/neutron/neutron/server/wsgi_eventlet.py", line 28, in _eventlet_wsgi_server
2015-11-16 12:57:16.183 TRACE neutron neutron_api = service.serve_wsgi(service.NeutronApiService)
2015-11-16 12:57:16.183 TRACE neutron File "/opt/stack/neutron/neutron/service.py", line 110, in serve_wsgi
2015-11-16 12:57:16.183 TRACE neutron LOG.exception(_LE('Unrecoverable error: please check log '
2015-11-16 12:57:16.183 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 197, in _exit_
2015-11-16 12:57:16.183 TRACE neutron six.reraise(self.type_, self.value, self.tb)
2015-11-16 12:57:16.183 TRACE neutron File "/opt/stack/neutron/neutron/service.py", line 107, in serve_wsgi
2015-11-16 12:57:16.183 TRACE neutron service.start()
2015-11-16 12:57:16.183 TRACE neutron File "/opt/stack/neutron/neutron/service.py", line 80, in start
2015-11-16 12:57:16.183 TRACE neutron self.wsgi_app = _run_wsgi(self.app_name)
2015-11-16 12:57:16.183 TRACE neutron File "/opt/stack/neutron/neutron/service.py", line 231, in _run_wsgi
2015-11-16 12:57:16.183 TRACE neutron app = config.load_paste_app(app_name)
2015-11-16 12:57:16.183 TRACE neutron File "/opt/stack/neutron/neutron/common/config.py", line 207, in load_paste_app
2015-11-16 12:57:16.183 TRACE neutron app = loader.load_app(app_name)
2015-11-16 12:57:16.183 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/oslo_service/wsgi.py", line 327, in load_app
2015-11-16 12:57:16.183 TRACE neutron raise PasteAppNotFound(name=name, path=self.config_path)
2015-11-16 12:57:16.183 TRACE neutron PasteAppNotFound: Could not load paste app 'neutron' from /etc/neutron/api-paste.ini
2015-11-16 12:57:16.183 TRACE neutron
q-svc failed to start

Revision history for this message
Federico Ressi (federico-ressi-9) wrote :
Revision history for this message
Federico Ressi (federico-ressi-9) wrote :
Revision history for this message
Federico Ressi (federico-ressi-9) wrote :

To reproduce the problem with vagrant you can use this. You can use it as follow:

tar -xzvf bug-1477611.tgz
cd bug-1477611
export VAGRANT_BOX=ubuntu/trusty64
vagrant up
vagrant ssh -c 'cd /opt/stack && ./stack.sh'

Revision history for this message
Isaku Yamahata (yamahata) wrote :

After final driver decomposition, have you installed networking-odl again?

Changed in networking-odl:
assignee: nobody → yong sheng gong (gongysh)
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to networking-odl (master)

Fix proposed to branch: master
Review: https://review.openstack.org/246285

Changed in networking-odl:
status: Confirmed → In Progress
Revision history for this message
Federico Ressi (federico-ressi-9) wrote :

I am producing this error in a new ubuntu machine installed from scratch. I am using vagrant to stack inside of a clean virtual machine.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on networking-odl (master)

Change abandoned by gongysh (gong.yongsheng@99cloud.net) on branch: master
Review: https://review.openstack.org/246285
Reason: overlap with https://review.openstack.org/#/c/246453/

Revision history for this message
Isaku Yamahata (yamahata) wrote :

https://review.openstack.org/#/c/246453/ is merged
Ressi, can you please confirm that is fixed?
the we can close this bug.

Changed in networking-odl:
status: In Progress → 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.