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

Bug #2046392 reported by Miguel Lavalle
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Confirmed
Low
Miguel Lavalle

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

Miguel Lavalle (minsel)
Changed in neutron:
importance: Undecided → Low
yatin (yatinkarel)
Changed in neutron:
status: New → Confirmed
Miguel Lavalle (minsel)
Changed in neutron:
assignee: nobody → Miguel Lavalle (minsel)
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.