← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2046392] [NEW] Service Type Framework cannot handle router flavor provider entry point shortcut with stevedore

 

Public bug reported:

While implementing router flavors providers for L3 OVN
(https://review.opendev.org/c/openstack/neutron/+/883988), it was
discovered that the Service Type Framework doesn't support loading those
providers using stevedore shortcuts. When that is attempted. the neutron
server generates the following trace-back:

Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/auth.py", line 62, in pipeline_factory
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     app = loader.get_app(pipeline[-1])
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/paste/deploy/loadwsgi.py", line 355, in get_app
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return self.app_context(name=name, global_conf=global_conf).create()
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/paste/deploy/loadwsgi.py", line 741, in create
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return self.object_type.invoke(self)
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/paste/deploy/loadwsgi.py", line 138, in invoke
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return fix_call(context.object, context.global_conf, **context.local_conf)
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/paste/deploy/util.py", line 61, in fix_call
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     val = callable(*args, **kw)
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/api/v2/router.py", line 25, in _factory
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return pecan_app.v2_factory(global_config, **local_config)
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/pecan_wsgi/app.py", line 47, in v2_factory
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     startup.initialize_all()
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/pecan_wsgi/startup.py", line 39, in initialize_all
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     manager.init()
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 301, in init
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     NeutronManager.get_instance()
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 252, in get_instance
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     cls._create_instance()
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_concurrency/lockutils.py", line 414, in inner
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return f(*args, **kwargs)
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 238, in _create_instance
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     cls._instance = cls()
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 132, in __init__
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     self._load_service_plugins()
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 211, in _load_service_plugins
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     self._create_and_add_service_plugin(provider)
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 214, in _create_and_add_service_plugin
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     plugin_inst = self._get_plugin_instance('neutron.service_plugins',
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 162, in _get_plugin_instance
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     plugin_inst = plugin_class()
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/quota/resource_registry.py", line 124, in wrapper
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return f(*args, **kwargs)
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/services/ovn_l3/plugin.py", line 103, in __init__
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     self.l3_driver_controller = driver_controller.DriverController(self)
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/services/ovn_l3/service_providers/driver_controller.py", line 43, in __init__
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     self._load_drivers()
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/services/l3_router/service_providers/driver_controller.py", line 56, in _load_drivers
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     service_base.load_drivers(plugin_constants.L3, self.l3_plugin))
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/services/service_base.py", line 46, in load_drivers
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     drivers[provider['name']] = importutils.import_object(
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/importutils.py", line 44, in import_object
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return import_class(import_str)(*args, **kwargs)
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/importutils.py", line 30, in import_class
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     __import__(mod_str)
Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron ValueError: Empty module name

** Affects: neutron
     Importance: Low
         Status: New

** Changed in: neutron
   Importance: Undecided => Low

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

Title:
  Service Type Framework cannot handle router flavor provider entry
  point shortcut with  stevedore

Status in neutron:
  New

Bug description:
  While implementing router flavors providers for L3 OVN
  (https://review.opendev.org/c/openstack/neutron/+/883988), it was
  discovered that the Service Type Framework doesn't support loading
  those providers using stevedore shortcuts. When that is attempted. the
  neutron server generates the following trace-back:

  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/auth.py", line 62, in pipeline_factory
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     app = loader.get_app(pipeline[-1])
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/paste/deploy/loadwsgi.py", line 355, in get_app
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return self.app_context(name=name, global_conf=global_conf).create()
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/paste/deploy/loadwsgi.py", line 741, in create
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return self.object_type.invoke(self)
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/paste/deploy/loadwsgi.py", line 138, in invoke
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return fix_call(context.object, context.global_conf, **context.local_conf)
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/paste/deploy/util.py", line 61, in fix_call
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     val = callable(*args, **kw)
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/api/v2/router.py", line 25, in _factory
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return pecan_app.v2_factory(global_config, **local_config)
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/pecan_wsgi/app.py", line 47, in v2_factory
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     startup.initialize_all()
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/pecan_wsgi/startup.py", line 39, in initialize_all
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     manager.init()
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 301, in init
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     NeutronManager.get_instance()
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 252, in get_instance
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     cls._create_instance()
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_concurrency/lockutils.py", line 414, in inner
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return f(*args, **kwargs)
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 238, in _create_instance
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     cls._instance = cls()
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 132, in __init__
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     self._load_service_plugins()
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 211, in _load_service_plugins
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     self._create_and_add_service_plugin(provider)
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 214, in _create_and_add_service_plugin
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     plugin_inst = self._get_plugin_instance('neutron.service_plugins',
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/manager.py", line 162, in _get_plugin_instance
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     plugin_inst = plugin_class()
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/quota/resource_registry.py", line 124, in wrapper
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return f(*args, **kwargs)
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/services/ovn_l3/plugin.py", line 103, in __init__
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     self.l3_driver_controller = driver_controller.DriverController(self)
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/services/ovn_l3/service_providers/driver_controller.py", line 43, in __init__
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     self._load_drivers()
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/services/l3_router/service_providers/driver_controller.py", line 56, in _load_drivers
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     service_base.load_drivers(plugin_constants.L3, self.l3_plugin))
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/neutron/neutron/services/service_base.py", line 46, in load_drivers
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     drivers[provider['name']] = importutils.import_object(
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/importutils.py", line 44, in import_object
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     return import_class(import_str)(*args, **kwargs)
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron   File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/importutils.py", line 30, in import_class
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron     __import__(mod_str)
  Dec 13 23:12:31 central neutron-server[156513]: ERROR neutron ValueError: Empty module name

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