After recent commits DevStack crashes during first install

Bug #1686444 reported by emrys
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-onos
New
Undecided
Unassigned

Bug Description

After recent commit which "Supports security group change updates in ONOS ml2 plugin." DevStack crashes during initial setup.

q-svc.log says

2017-04-26 15:40:57.367 INFO neutron.plugins.ml2.plugin [-] Modular L2 Plugin initialization complete
2017-04-26 15:40:57.367 DEBUG neutron.manager [-] Loading services supported by the core plugin from (pid=31946) _load_services_from_core_plugin /opt/stack/neutron/neutron/manager.py:164
2017-04-26 15:40:57.367 INFO neutron.plugins.ml2.managers [-] Got port-security extension from driver 'port_security'
2017-04-26 15:40:57.367 WARNING neutron.agent.securitygroups_rpc [-] Driver configuration doesn't match with enable_security_group
2017-04-26 15:40:57.367 INFO neutron.extensions.vlantransparent [-] Disabled vlantransparent extension.
2017-04-26 15:40:57.368 DEBUG neutron.manager [-] Loading service plugins: ['networking_onos.plugins.l3.driver.ONOSL3Plugin', 'networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin', 'networking_sfc.services.sfc.plugin.SfcPlugin', 'flavors', 'auto_allocate', 'timestamp', 'network_ip_availability', 'tag', 'revisions'] from (pid=31946) _load_service_plugins /opt/stack/neutron/neutron/manager.py:190
2017-04-26 15:40:57.368 INFO neutron.manager [-] Loading Plugin: networking_onos.plugins.l3.driver.ONOSL3Plugin
2017-04-26 15:40:57.368 WARNING stevedore.named [-] Could not load networking_onos.plugins.l3.driver.ONOSL3Plugin
2017-04-26 15:40:57.374 DEBUG neutron.callbacks.manager [-] Subscribe: <function _prevent_l3_port_delete_callback at 0x7f6f8ccf98c0> port before_delete from (pid=31946) subscribe /opt/stack/neutron/neutron/callbacks/manager.py:42
2017-04-26 15:40:57.375 DEBUG neutron.callbacks.manager [-] Subscribe: <function _notify_routers_callback at 0x7f6f8ccf9938> port after_delete from (pid=31946) subscribe /opt/stack/neutron/neutron/callbacks/manager.py:42
2017-04-26 15:40:57.375 DEBUG neutron.callbacks.manager [-] Subscribe: <function _notify_subnet_gateway_ip_update at 0x7f6f8ccf99b0> subnet_gateway after_update from (pid=31946) subscribe /opt/stack/neutron/neutron/callbacks/manager.py:42
2017-04-26 15:40:57.375 DEBUG neutron.callbacks.manager [-] Subscribe: <function _notify_subnetpool_address_scope_update at 0x7f6f8ccf9a28> subnetpool_address_scope after_update from (pid=31946) subscribe /opt/stack/neutron/neutron/callbacks/manager.py:42
2017-04-26 15:40:57.399 DEBUG oslo_concurrency.lockutils [-] Lock "manager" released by "neutron.manager._create_instance" :: held 0.661s from (pid=31946) inner /usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py:282
2017-04-26 15:40:57.400 ERROR neutron.service [-] Unrecoverable error: please check log for details.
2017-04-26 15:40:57.400 TRACE neutron.service Traceback (most recent call last):
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/service.py", line 87, in serve_wsgi
2017-04-26 15:40:57.400 TRACE neutron.service service.start()
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/service.py", line 63, in start
2017-04-26 15:40:57.400 TRACE neutron.service self.wsgi_app = _run_wsgi(self.app_name)
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/service.py", line 289, in _run_wsgi
2017-04-26 15:40:57.400 TRACE neutron.service app = config.load_paste_app(app_name)
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/common/config.py", line 125, in load_paste_app
2017-04-26 15:40:57.400 TRACE neutron.service app = loader.load_app(app_name)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/oslo_service/wsgi.py", line 353, in load_app
2017-04-26 15:40:57.400 TRACE neutron.service return deploy.loadapp("config:%s" % self.config_path, name=name)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2017-04-26 15:40:57.400 TRACE neutron.service return loadobj(APP, uri, name=name, **kw)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2017-04-26 15:40:57.400 TRACE neutron.service return context.create()
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-04-26 15:40:57.400 TRACE neutron.service return self.object_type.invoke(self)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2017-04-26 15:40:57.400 TRACE neutron.service **context.local_conf)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2017-04-26 15:40:57.400 TRACE neutron.service val = callable(*args, **kw)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/urlmap.py", line 31, in urlmap_factory
2017-04-26 15:40:57.400 TRACE neutron.service app = loader.get_app(app_name, global_conf=global_conf)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2017-04-26 15:40:57.400 TRACE neutron.service name=name, global_conf=global_conf).create()
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-04-26 15:40:57.400 TRACE neutron.service return self.object_type.invoke(self)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2017-04-26 15:40:57.400 TRACE neutron.service **context.local_conf)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2017-04-26 15:40:57.400 TRACE neutron.service val = callable(*args, **kw)
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/auth.py", line 71, in pipeline_factory
2017-04-26 15:40:57.400 TRACE neutron.service app = loader.get_app(pipeline[-1])
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2017-04-26 15:40:57.400 TRACE neutron.service name=name, global_conf=global_conf).create()
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-04-26 15:40:57.400 TRACE neutron.service return self.object_type.invoke(self)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 146, in invoke
2017-04-26 15:40:57.400 TRACE neutron.service return fix_call(context.object, context.global_conf, **context.local_conf)
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2017-04-26 15:40:57.400 TRACE neutron.service val = callable(*args, **kw)
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/api/v2/router.py", line 72, in factory
2017-04-26 15:40:57.400 TRACE neutron.service return cls(**local_config)
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/api/v2/router.py", line 76, in __init__
2017-04-26 15:40:57.400 TRACE neutron.service plugin = manager.NeutronManager.get_plugin()
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/manager.py", line 244, in get_plugin
2017-04-26 15:40:57.400 TRACE neutron.service return weakref.proxy(cls.get_instance().plugin)
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/manager.py", line 238, in get_instance
2017-04-26 15:40:57.400 TRACE neutron.service cls._create_instance()
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line 271, in inner
2017-04-26 15:40:57.400 TRACE neutron.service return f(*args, **kwargs)
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/manager.py", line 224, in _create_instance
2017-04-26 15:40:57.400 TRACE neutron.service cls._instance = cls()
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/manager.py", line 137, in __init__
2017-04-26 15:40:57.400 TRACE neutron.service self._load_service_plugins()
2017-04-26 15:40:57.400 TRACE neutron.service File "/opt/stack/neutron/neutron/manager.py", line 202, in _load_service_plugins
2017-04-26 15:40:57.400 TRACE neutron.service if plugin_inst.get_plugin_type() in self.service_plugins:
2017-04-26 15:40:57.400 TRACE neutron.service File "/usr/local/lib/python2.7/dist-packages/networking_onos/plugins/l3/driver.py", line 68, in get_plugin_type
2017-04-26 15:40:57.400 TRACE neutron.service return q_const.L3_ROUTER_NAT
2017-04-26 15:40:57.400 TRACE neutron.service AttributeError: 'module' object has no attribute 'L3_ROUTER_NAT'
2017-04-26 15:40:57.400 TRACE neutron.service
2017-04-26 15:40:57.401 CRITICAL neutron [-] AttributeError: 'module' object has no attribute 'L3_ROUTER_NAT'

2017-04-26 15:40:57.401 TRACE neutron Traceback (most recent call last):
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/bin/neutron-server", line 10, in <module>
2017-04-26 15:40:57.401 TRACE neutron sys.exit(main())
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/cmd/eventlet/server/__init__.py", line 22, in main
2017-04-26 15:40:57.401 TRACE neutron server.boot_server(_main_neutron_server)
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/server/__init__.py", line 37, in boot_server
2017-04-26 15:40:57.401 TRACE neutron server_func()
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/cmd/eventlet/server/__init__.py", line 27, in _main_neutron_server
2017-04-26 15:40:57.401 TRACE neutron wsgi_eventlet.eventlet_wsgi_server()
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/server/wsgi_eventlet.py", line 25, in eventlet_wsgi_server
2017-04-26 15:40:57.401 TRACE neutron neutron_api = service.serve_wsgi(service.NeutronApiService)
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/service.py", line 90, in serve_wsgi
2017-04-26 15:40:57.401 TRACE neutron LOG.exception(_LE('Unrecoverable error: please check log '
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-04-26 15:40:57.401 TRACE neutron self.force_reraise()
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-04-26 15:40:57.401 TRACE neutron six.reraise(self.type_, self.value, self.tb)
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/service.py", line 87, in serve_wsgi
2017-04-26 15:40:57.401 TRACE neutron service.start()
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/service.py", line 63, in start
2017-04-26 15:40:57.401 TRACE neutron self.wsgi_app = _run_wsgi(self.app_name)
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/service.py", line 289, in _run_wsgi
2017-04-26 15:40:57.401 TRACE neutron app = config.load_paste_app(app_name)
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/common/config.py", line 125, in load_paste_app
2017-04-26 15:40:57.401 TRACE neutron app = loader.load_app(app_name)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/oslo_service/wsgi.py", line 353, in load_app
2017-04-26 15:40:57.401 TRACE neutron return deploy.loadapp("config:%s" % self.config_path, name=name)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2017-04-26 15:40:57.401 TRACE neutron return loadobj(APP, uri, name=name, **kw)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2017-04-26 15:40:57.401 TRACE neutron return context.create()
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-04-26 15:40:57.401 TRACE neutron return self.object_type.invoke(self)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2017-04-26 15:40:57.401 TRACE neutron **context.local_conf)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2017-04-26 15:40:57.401 TRACE neutron val = callable(*args, **kw)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/urlmap.py", line 31, in urlmap_factory
2017-04-26 15:40:57.401 TRACE neutron app = loader.get_app(app_name, global_conf=global_conf)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2017-04-26 15:40:57.401 TRACE neutron name=name, global_conf=global_conf).create()
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-04-26 15:40:57.401 TRACE neutron return self.object_type.invoke(self)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2017-04-26 15:40:57.401 TRACE neutron **context.local_conf)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2017-04-26 15:40:57.401 TRACE neutron val = callable(*args, **kw)
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/auth.py", line 71, in pipeline_factory
2017-04-26 15:40:57.401 TRACE neutron app = loader.get_app(pipeline[-1])
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2017-04-26 15:40:57.401 TRACE neutron name=name, global_conf=global_conf).create()
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-04-26 15:40:57.401 TRACE neutron return self.object_type.invoke(self)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 146, in invoke
2017-04-26 15:40:57.401 TRACE neutron return fix_call(context.object, context.global_conf, **context.local_conf)
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/paste/deploy/util.py", line 55, in fix_call
2017-04-26 15:40:57.401 TRACE neutron val = callable(*args, **kw)
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/api/v2/router.py", line 72, in factory
2017-04-26 15:40:57.401 TRACE neutron return cls(**local_config)
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/api/v2/router.py", line 76, in __init__
2017-04-26 15:40:57.401 TRACE neutron plugin = manager.NeutronManager.get_plugin()
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/manager.py", line 244, in get_plugin
2017-04-26 15:40:57.401 TRACE neutron return weakref.proxy(cls.get_instance().plugin)
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/manager.py", line 238, in get_instance
2017-04-26 15:40:57.401 TRACE neutron cls._create_instance()
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line 271, in inner
2017-04-26 15:40:57.401 TRACE neutron return f(*args, **kwargs)
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/manager.py", line 224, in _create_instance
2017-04-26 15:40:57.401 TRACE neutron cls._instance = cls()
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/manager.py", line 137, in __init__
2017-04-26 15:40:57.401 TRACE neutron self._load_service_plugins()
2017-04-26 15:40:57.401 TRACE neutron File "/opt/stack/neutron/neutron/manager.py", line 202, in _load_service_plugins
2017-04-26 15:40:57.401 TRACE neutron if plugin_inst.get_plugin_type() in self.service_plugins:
2017-04-26 15:40:57.401 TRACE neutron File "/usr/local/lib/python2.7/dist-packages/networking_onos/plugins/l3/driver.py", line 68, in get_plugin_type
2017-04-26 15:40:57.401 TRACE neutron return q_const.L3_ROUTER_NAT
2017-04-26 15:40:57.401 TRACE neutron AttributeError: 'module' object has no attribute 'L3_ROUTER_NAT'
2017-04-26 15:40:57.401 TRACE neutron
q-svc failed to start

I think this particular change
def get_plugin_type(self):
        return constants.L3_ROUTER_NAT
to
def get_plugin_type(self):
        return q_const.L3_ROUTER_NAT)
may trigger this effect.

As the result Neutron failed to start

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.