← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1262616] [NEW] 'Multiple plugins for service %s were configured', 'L3_ROUTER_NAT'

 

Public bug reported:

When installing havan on debian 64bit wheezy, using the repositories:

deb http://havana.pkgs.enovance.com/debian havana main
deb http://archive.gplhost.com/debian havana-backports main

The neutron-server fails to start because of this check in 
https://github.com/openstack/neutron/blob/master/neutron/manager.py#L174 

Why raise an exception and not simply do the following:
            if plugin_inst.get_plugin_type() not in self.service_plugins:
              self.service_plugins[plugin_inst.get_plugin_type()] = plugin_inst

With the existing code I can not make neutron-server run no matter, what I do.
The error is:

2013-12-19 12:00:07.896 13128 TRACE neutron.service Traceback (most recent call last):
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/service.py", line 99, in serve_wsgi
2013-12-19 12:00:07.896 13128 TRACE neutron.service     service.start()
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/service.py", line 68, in start
2013-12-19 12:00:07.896 13128 TRACE neutron.service     self.wsgi_app = _run_wsgi(self.app_name)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/service.py", line 112, in _run_wsgi
2013-12-19 12:00:07.896 13128 TRACE neutron.service     app = config.load_paste_app(app_name)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/common/config.py", line 144, in load_paste_app
2013-12-19 12:00:07.896 13128 TRACE neutron.service     app = deploy.loadapp("config:%s" % config_path, name=app_name)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2013-12-19 12:00:07.896 13128 TRACE neutron.service     return loadobj(APP, uri, name=name, **kw)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2013-12-19 12:00:07.896 13128 TRACE neutron.service     return context.create()
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2013-12-19 12:00:07.896 13128 TRACE neutron.service     return self.object_type.invoke(self)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2013-12-19 12:00:07.896 13128 TRACE neutron.service     **context.local_conf)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
2013-12-19 12:00:07.896 13128 TRACE neutron.service     val = callable(*args, **kw)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 25, in urlmap_factory
2013-12-19 12:00:07.896 13128 TRACE neutron.service     app = loader.get_app(app_name, global_conf=global_conf)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2013-12-19 12:00:07.896 13128 TRACE neutron.service     name=name, global_conf=global_conf).create()
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2013-12-19 12:00:07.896 13128 TRACE neutron.service     return self.object_type.invoke(self)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2013-12-19 12:00:07.896 13128 TRACE neutron.service     **context.local_conf)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
2013-12-19 12:00:07.896 13128 TRACE neutron.service     val = callable(*args, **kw)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/auth.py", line 59, in pipeline_factory
2013-12-19 12:00:07.896 13128 TRACE neutron.service     app = loader.get_app(pipeline[-1])
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2013-12-19 12:00:07.896 13128 TRACE neutron.service     name=name, global_conf=global_conf).create()
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2013-12-19 12:00:07.896 13128 TRACE neutron.service     return self.object_type.invoke(self)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 146, in invoke
2013-12-19 12:00:07.896 13128 TRACE neutron.service     return fix_call(context.object, context.global_conf, **context.local_conf)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
2013-12-19 12:00:07.896 13128 TRACE neutron.service     val = callable(*args, **kw)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/api/v2/router.py", line 72, in factory
2013-12-19 12:00:07.896 13128 TRACE neutron.service     return cls(**local_config)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/api/v2/router.py", line 76, in __init__
2013-12-19 12:00:07.896 13128 TRACE neutron.service     plugin = manager.NeutronManager.get_plugin()
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 210, in get_plugin
2013-12-19 12:00:07.896 13128 TRACE neutron.service     return cls.get_instance().plugin
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 205, in get_instance
2013-12-19 12:00:07.896 13128 TRACE neutron.service     cls._create_instance()
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/openstack/common/lockutils.py", line 247, in inner
2013-12-19 12:00:07.896 13128 TRACE neutron.service     retval = f(*args, **kwargs)
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 199, in _create_instance
2013-12-19 12:00:07.896 13128 TRACE neutron.service     cls._instance = cls()
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 132, in __init__
2013-12-19 12:00:07.896 13128 TRACE neutron.service     self._load_service_plugins()
2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 182, in _load_service_plugins
2013-12-19 12:00:07.896 13128 TRACE neutron.service     plugin_inst.get_plugin_type())
2013-12-19 12:00:07.896 13128 TRACE neutron.service ValueError: (u'Multiple plugins for service %s were configured', 'L3_ROUTER_NAT')
2013-12-19 12:00:07.896 13128 TRACE neutron.service 
2013-12-19 12:00:07.899 13128 CRITICAL neutron [-] (u'Multiple plugins for service %s were configured', 'L3_ROUTER_NAT')

** Affects: neutron
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1262616

Title:
  'Multiple plugins for service %s were configured', 'L3_ROUTER_NAT'

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  When installing havan on debian 64bit wheezy, using the repositories:

  deb http://havana.pkgs.enovance.com/debian havana main
  deb http://archive.gplhost.com/debian havana-backports main

  The neutron-server fails to start because of this check in 
  https://github.com/openstack/neutron/blob/master/neutron/manager.py#L174 

  Why raise an exception and not simply do the following:
              if plugin_inst.get_plugin_type() not in self.service_plugins:
                self.service_plugins[plugin_inst.get_plugin_type()] = plugin_inst

  With the existing code I can not make neutron-server run no matter, what I do.
  The error is:

  2013-12-19 12:00:07.896 13128 TRACE neutron.service Traceback (most recent call last):
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/service.py", line 99, in serve_wsgi
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     service.start()
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/service.py", line 68, in start
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     self.wsgi_app = _run_wsgi(self.app_name)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/service.py", line 112, in _run_wsgi
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     app = config.load_paste_app(app_name)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/common/config.py", line 144, in load_paste_app
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     app = deploy.loadapp("config:%s" % config_path, name=app_name)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     return loadobj(APP, uri, name=name, **kw)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     return context.create()
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     return self.object_type.invoke(self)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     **context.local_conf)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     val = callable(*args, **kw)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 25, in urlmap_factory
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     app = loader.get_app(app_name, global_conf=global_conf)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     name=name, global_conf=global_conf).create()
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     return self.object_type.invoke(self)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     **context.local_conf)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     val = callable(*args, **kw)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/auth.py", line 59, in pipeline_factory
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     app = loader.get_app(pipeline[-1])
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     name=name, global_conf=global_conf).create()
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     return self.object_type.invoke(self)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 146, in invoke
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     return fix_call(context.object, context.global_conf, **context.local_conf)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     val = callable(*args, **kw)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/api/v2/router.py", line 72, in factory
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     return cls(**local_config)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/api/v2/router.py", line 76, in __init__
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     plugin = manager.NeutronManager.get_plugin()
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 210, in get_plugin
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     return cls.get_instance().plugin
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 205, in get_instance
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     cls._create_instance()
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/openstack/common/lockutils.py", line 247, in inner
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     retval = f(*args, **kwargs)
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 199, in _create_instance
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     cls._instance = cls()
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 132, in __init__
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     self._load_service_plugins()
  2013-12-19 12:00:07.896 13128 TRACE neutron.service   File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 182, in _load_service_plugins
  2013-12-19 12:00:07.896 13128 TRACE neutron.service     plugin_inst.get_plugin_type())
  2013-12-19 12:00:07.896 13128 TRACE neutron.service ValueError: (u'Multiple plugins for service %s were configured', 'L3_ROUTER_NAT')
  2013-12-19 12:00:07.896 13128 TRACE neutron.service 
  2013-12-19 12:00:07.899 13128 CRITICAL neutron [-] (u'Multiple plugins for service %s were configured', 'L3_ROUTER_NAT')

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1262616/+subscriptions


Follow ups

References