L2GatewayPlugin cannot be loaded in queens: no attribute FAULT_MAP

Bug #1739779 reported by Tobias Urdin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-l2gw
Fix Released
Undecided
Unassigned
networking-l2gw (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

In queens cloud-archive the neutron-server fails to load the l2gw plugin.

The l2gw package must be cut from a newer version of networking-l2gw where the fault map is loaded from neutron.lib.api.faults

2017-12-22 14:19:24.261 28176 CRITICAL neutron [req-e5a8e96c-e659-4de0-8424-60c7d1315000 - - - - -] Unhandled error: AttributeError: 'module' object has no attribute 'FAULT_MAP'
2017-12-22 14:19:24.261 28176 ERROR neutron Traceback (most recent call last):
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/bin/neutron-server", line 10, in <module>
2017-12-22 14:19:24.261 28176 ERROR neutron sys.exit(main())
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/cmd/eventlet/server/__init__.py", line 19, in main
2017-12-22 14:19:24.261 28176 ERROR neutron server.boot_server(wsgi_eventlet.eventlet_wsgi_server)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/server/__init__.py", line 42, in boot_server
2017-12-22 14:19:24.261 28176 ERROR neutron server_func()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/server/wsgi_eventlet.py", line 24, in eventlet_wsgi_server
2017-12-22 14:19:24.261 28176 ERROR neutron neutron_api = service.serve_wsgi(service.NeutronApiService)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/service.py", line 89, in serve_wsgi
2017-12-22 14:19:24.261 28176 ERROR neutron LOG.exception('Unrecoverable error: please check log '
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-12-22 14:19:24.261 28176 ERROR neutron self.force_reraise()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-12-22 14:19:24.261 28176 ERROR neutron six.reraise(self.type_, self.value, self.tb)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/service.py", line 86, in serve_wsgi
2017-12-22 14:19:24.261 28176 ERROR neutron service.start()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/service.py", line 62, in start
2017-12-22 14:19:24.261 28176 ERROR neutron self.wsgi_app = _run_wsgi(self.app_name)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/service.py", line 289, in _run_wsgi
2017-12-22 14:19:24.261 28176 ERROR neutron app = config.load_paste_app(app_name)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/common/config.py", line 122, in load_paste_app
2017-12-22 14:19:24.261 28176 ERROR neutron app = loader.load_app(app_name)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/oslo_service/wsgi.py", line 353, in load_app
2017-12-22 14:19:24.261 28176 ERROR neutron return deploy.loadapp("config:%s" % self.config_path, name=name)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2017-12-22 14:19:24.261 28176 ERROR neutron return loadobj(APP, uri, name=name, **kw)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2017-12-22 14:19:24.261 28176 ERROR neutron return context.create()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-12-22 14:19:24.261 28176 ERROR neutron return self.object_type.invoke(self)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2017-12-22 14:19:24.261 28176 ERROR neutron **context.local_conf)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2017-12-22 14:19:24.261 28176 ERROR neutron val = callable(*args, **kw)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 31, in urlmap_factory
2017-12-22 14:19:24.261 28176 ERROR neutron app = loader.get_app(app_name, global_conf=global_conf)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2017-12-22 14:19:24.261 28176 ERROR neutron name=name, global_conf=global_conf).create()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-12-22 14:19:24.261 28176 ERROR neutron return self.object_type.invoke(self)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2017-12-22 14:19:24.261 28176 ERROR neutron **context.local_conf)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2017-12-22 14:19:24.261 28176 ERROR neutron val = callable(*args, **kw)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/auth.py", line 47, in pipeline_factory
2017-12-22 14:19:24.261 28176 ERROR neutron app = loader.get_app(pipeline[-1])
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2017-12-22 14:19:24.261 28176 ERROR neutron name=name, global_conf=global_conf).create()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-12-22 14:19:24.261 28176 ERROR neutron return self.object_type.invoke(self)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 146, in invoke
2017-12-22 14:19:24.261 28176 ERROR neutron return fix_call(context.object, context.global_conf, **context.local_conf)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2017-12-22 14:19:24.261 28176 ERROR neutron val = callable(*args, **kw)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/api/v2/router.py", line 25, in _factory
2017-12-22 14:19:24.261 28176 ERROR neutron return pecan_app.v2_factory(global_config, **local_config)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/pecan_wsgi/app.py", line 47, in v2_factory
2017-12-22 14:19:24.261 28176 ERROR neutron startup.initialize_all()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/pecan_wsgi/startup.py", line 39, in initialize_all
2017-12-22 14:19:24.261 28176 ERROR neutron manager.init()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 296, in init
2017-12-22 14:19:24.261 28176 ERROR neutron NeutronManager.get_instance()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 247, in get_instance
2017-12-22 14:19:24.261 28176 ERROR neutron cls._create_instance()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line 277, in inner
2017-12-22 14:19:24.261 28176 ERROR neutron return f(*args, **kwargs)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 233, in _create_instance
2017-12-22 14:19:24.261 28176 ERROR neutron cls._instance = cls()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 141, in __init__
2017-12-22 14:19:24.261 28176 ERROR neutron self._load_service_plugins()
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 203, in _load_service_plugins
2017-12-22 14:19:24.261 28176 ERROR neutron provider)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 165, in _get_plugin_instance
2017-12-22 14:19:24.261 28176 ERROR neutron plugin_class = self.load_class_for_provider(namespace, plugin_provider)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron/manager.py", line 159, in load_class_for_provider
2017-12-22 14:19:24.261 28176 ERROR neutron plugin_provider)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/neutron_lib/utils/runtime.py", line 52, in load_class_by_alias_or_classname
2017-12-22 14:19:24.261 28176 ERROR neutron class_to_load = importutils.import_class(name)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/oslo_utils/importutils.py", line 30, in import_class
2017-12-22 14:19:24.261 28176 ERROR neutron __import__(mod_str)
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/networking_l2gw/services/l2gateway/plugin.py", line 23, in <module>
2017-12-22 14:19:24.261 28176 ERROR neutron from networking_l2gw.db.l2gateway import l2gateway_db
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/networking_l2gw/db/l2gateway/l2gateway_db.py", line 27, in <module>
2017-12-22 14:19:24.261 28176 ERROR neutron from networking_l2gw.services.l2gateway import exceptions as l2gw_exc
2017-12-22 14:19:24.261 28176 ERROR neutron File "/usr/lib/python2.7/dist-packages/networking_l2gw/services/l2gateway/exceptions.py", line 129, in <module>
2017-12-22 14:19:24.261 28176 ERROR neutron base.FAULT_MAP.update({L2GatewayInUse: web_exc.HTTPConflict,
2017-12-22 14:19:24.261 28176 ERROR neutron AttributeError: 'module' object has no attribute 'FAULT_MAP'

Revision history for this message
Corey Bryant (corey.bryant) wrote :

Looks like we can either cherry-pick the following patch or release a snapshot package to Queens for now for Ubuntu, however it would be great if upstream could provide milestone releases.

a4c0992801be9bb13005cf8a6892806ac4e9a6fa
Author: Boden R <email address hidden>
Date: Wed Oct 18 08:39:53 2017 -0600

    use FAULT_MAP from neutron-lib

    The FAULT_MAP is now located in neutron-lib and will be removed from
    neutron with Ib051555ea8496ed7eec8ed30733c964012e31c32
    This patch updates imports to use neutron-lib's FAULT_MAP.

    Depends-On: I8e79f29206ec244d870e19f99c18ccaaa50b4761

    Change-Id: Ie54e77d3e264ff8da0d6e87e41fbe09758aecea9
patch:

commit a4c0992801be9bb13005cf8a6892806ac4e9a6fa
Author: Boden R <email address hidden>
Date: Wed Oct 18 08:39:53 2017 -0600

    use FAULT_MAP from neutron-lib

    The FAULT_MAP is now located in neutron-lib and will be removed from
    neutron with Ib051555ea8496ed7eec8ed30733c964012e31c32
    This patch updates imports to use neutron-lib's FAULT_MAP.

    Depends-On: I8e79f29206ec244d870e19f99c18ccaaa50b4761

    Change-Id: Ie54e77d3e264ff8da0d6e87e41fbe09758aecea9

Changed in networking-l2gw (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Corey Bryant (corey.bryant) wrote :

I've just uploaded networking-l2gw 1:12.0.0~git20180223.32631dc1-0ubuntu1 which is based on the latest upstream stable/queens commit. This includes the 'use FAULT_MAP from neutron-lib' commit mentioned above.

Changed in networking-l2gw:
status: New → Fix Released
Changed in networking-l2gw (Ubuntu):
status: Triaged → 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.