lbaas v2(octavia) on DevStack - plugin not found

Asked by Jeff West

I'm trying to enable lbaas on my devstack instance.
I followed the instructions on https://wiki.openstack.org/wiki/Neutron/LBaaS/HowToRun, but get the following error in /opt/stack/logs/q-svc.log:

2016-06-30 19:36:05.315 INFO neutron.manager [-] Loading Plugin: neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2
2016-06-30 19:36:05.317 ERROR neutron.manager [-] Error loading plugin by name
2016-06-30 19:36:05.317 TRACE neutron.manager Traceback (most recent call last):
2016-06-30 19:36:05.317 TRACE neutron.manager File "/opt/stack/neutron/neutron/manager.py", line 144, in load_class_for_provider
2016-06-30 19:36:05.317 TRACE neutron.manager mgr = driver.DriverManager(namespace, plugin_provider)
2016-06-30 19:36:05.317 TRACE neutron.manager File "/usr/lib/python2.7/site-packages/stevedore/driver.py", line 46, in __init__
2016-06-30 19:36:05.317 TRACE neutron.manager verify_requirements=verify_requirements,
2016-06-30 19:36:05.317 TRACE neutron.manager File "/usr/lib/python2.7/site-packages/stevedore/named.py", line 56, in __init__
2016-06-30 19:36:05.317 TRACE neutron.manager self._init_plugins(extensions)
2016-06-30 19:36:05.317 TRACE neutron.manager File "/usr/lib/python2.7/site-packages/stevedore/driver.py", line 98, in _init_plugins
2016-06-30 19:36:05.317 TRACE neutron.manager (self.namespace, name))
2016-06-30 19:36:05.317 TRACE neutron.manager NoMatches: No 'neutron.service_plugins' driver found, looking for 'neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2'
2016-06-30 19:36:05.317 TRACE neutron.manager
2016-06-30 19:36:05.318 ERROR neutron.manager [-] Error loading plugin by class
2016-06-30 19:36:05.318 TRACE neutron.manager Traceback (most recent call last):
2016-06-30 19:36:05.318 TRACE neutron.manager File "/opt/stack/neutron/neutron/manager.py", line 150, in load_class_for_provider
2016-06-30 19:36:05.318 TRACE neutron.manager plugin_class = importutils.import_class(plugin_provider)
2016-06-30 19:36:05.318 TRACE neutron.manager File "/usr/lib/python2.7/site-packages/oslo_utils/importutils.py", line 30, in import_class
2016-06-30 19:36:05.318 TRACE neutron.manager __import__(mod_str)
2016-06-30 19:36:05.318 TRACE neutron.manager File "/opt/stack/neutron-lbaas/neutron_lbaas/services/loadbalancer/plugin.py", line 24, in <module>
2016-06-30 19:36:05.318 TRACE neutron.manager from neutron.services.flavors import flavors_plugin
2016-06-30 19:36:05.318 TRACE neutron.manager ImportError: No module named flavors
2016-06-30 19:36:05.318 TRACE neutron.manager
2016-06-30 19:36:05.319 DEBUG oslo_concurrency.lockutils [-] Lock "manager" released by "neutron.manager._create_instance" :: held 0.616s from (pid=26781) inner /usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py:265
2016-06-30 19:36:05.319 ERROR neutron.common.config [-] Unable to load neutron from configuration file /etc/neutron/api-paste.ini.
2016-06-30 19:36:05.319 TRACE neutron.common.config Traceback (most recent call last):
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/common/config.py", line 252, in load_paste_app
2016-06-30 19:36:05.319 TRACE neutron.common.config app = deploy.loadapp("config:%s" % config_path, name=app_name)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2016-06-30 19:36:05.319 TRACE neutron.common.config return loadobj(APP, uri, name=name, **kw)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2016-06-30 19:36:05.319 TRACE neutron.common.config return context.create()
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2016-06-30 19:36:05.319 TRACE neutron.common.config return self.object_type.invoke(self)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2016-06-30 19:36:05.319 TRACE neutron.common.config **context.local_conf)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
2016-06-30 19:36:05.319 TRACE neutron.common.config val = callable(*args, **kw)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/urlmap.py", line 31, in urlmap_factory
2016-06-30 19:36:05.319 TRACE neutron.common.config app = loader.get_app(app_name, global_conf=global_conf)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2016-06-30 19:36:05.319 TRACE neutron.common.config name=name, global_conf=global_conf).create()
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2016-06-30 19:36:05.319 TRACE neutron.common.config return self.object_type.invoke(self)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2016-06-30 19:36:05.319 TRACE neutron.common.config **context.local_conf)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
2016-06-30 19:36:05.319 TRACE neutron.common.config val = callable(*args, **kw)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/auth.py", line 71, in pipeline_factory
2016-06-30 19:36:05.319 TRACE neutron.common.config app = loader.get_app(pipeline[-1])
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2016-06-30 19:36:05.319 TRACE neutron.common.config name=name, global_conf=global_conf).create()
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2016-06-30 19:36:05.319 TRACE neutron.common.config return self.object_type.invoke(self)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 146, in invoke
2016-06-30 19:36:05.319 TRACE neutron.common.config return fix_call(context.object, context.global_conf, **context.local_conf)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
2016-06-30 19:36:05.319 TRACE neutron.common.config val = callable(*args, **kw)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/api/v2/router.py", line 73, in factory
2016-06-30 19:36:05.319 TRACE neutron.common.config return cls(**local_config)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/api/v2/router.py", line 77, in __init__
2016-06-30 19:36:05.319 TRACE neutron.common.config plugin = manager.NeutronManager.get_plugin()
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/manager.py", line 248, in get_plugin
2016-06-30 19:36:05.319 TRACE neutron.common.config return weakref.proxy(cls.get_instance().plugin)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/manager.py", line 242, in get_instance
2016-06-30 19:36:05.319 TRACE neutron.common.config cls._create_instance()
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 254, in inner
2016-06-30 19:36:05.319 TRACE neutron.common.config return f(*args, **kwargs)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/manager.py", line 228, in _create_instance
2016-06-30 19:36:05.319 TRACE neutron.common.config cls._instance = cls()
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/manager.py", line 132, in __init__
2016-06-30 19:36:05.319 TRACE neutron.common.config self._load_service_plugins()
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/manager.py", line 198, in _load_service_plugins
2016-06-30 19:36:05.319 TRACE neutron.common.config provider)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/manager.py", line 160, in _get_plugin_instance
2016-06-30 19:36:05.319 TRACE neutron.common.config plugin_class = self.load_class_for_provider(namespace, plugin_provider)
2016-06-30 19:36:05.319 TRACE neutron.common.config File "/opt/stack/neutron/neutron/manager.py", line 156, in load_class_for_provider
2016-06-30 19:36:05.319 TRACE neutron.common.config raise ImportError(_("Plugin not found."))
2016-06-30 19:36:05.319 TRACE neutron.common.config ImportError: Plugin not found.
2016-06-30 19:36:05.319 TRACE neutron.common.config
2016-06-30 19:36:05.321 ERROR neutron.service [-] Unrecoverable error: please check log for details.
2016-06-30 19:36:05.321 TRACE neutron.service Traceback (most recent call last):
2016-06-30 19:36:05.321 TRACE neutron.service File "/opt/stack/neutron/neutron/service.py", line 103, in serve_wsgi
2016-06-30 19:36:05.321 TRACE neutron.service service.start()
2016-06-30 19:36:05.321 TRACE neutron.service File "/opt/stack/neutron/neutron/service.py", line 76, in start
2016-06-30 19:36:05.321 TRACE neutron.service self.wsgi_app = _run_wsgi(self.app_name)
2016-06-30 19:36:05.321 TRACE neutron.service File "/opt/stack/neutron/neutron/service.py", line 218, in _run_wsgi
2016-06-30 19:36:05.321 TRACE neutron.service app = config.load_paste_app(app_name)
2016-06-30 19:36:05.321 TRACE neutron.service File "/opt/stack/neutron/neutron/common/config.py", line 259, in load_paste_app
2016-06-30 19:36:05.321 TRACE neutron.service raise RuntimeError(msg)
2016-06-30 19:36:05.321 TRACE neutron.service RuntimeError: Unable to load neutron from configuration file /etc/neutron/api-paste.ini.
2016-06-30 19:36:05.321 TRACE neutron.service
ERROR: Unable to load neutron from configuration file /etc/neutron/api-paste.ini.
q-svc failed to start

How do I get it working?

Please help!
Thanks!

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu neutron Edit question
Assignee:
No assignee Edit question
Solved by:
Jeff West
Solved:
Last query:
Last reply:
Revision history for this message
Jeff West (jeffry-west) said :
#1

The issue turned out to be that I was using stable/liberty for almost all of the devstack, but was pulling master for octavia.
Pulling everything from stable/liberty branches fixed the issue.