Comment 0 for bug 1461519

Revision history for this message
Magesh GV (magesh-gv) wrote :

I had a kilo setup where there were a few existing networks. Then I enabled the port security extension driver in ml2_conf.ini.

After this net-list fails because the extension driver tries to access the fields(port security related) which were never set for the old networks.

ocloud@ubuntu:~/devstack$ neutron net-list
Request Failed: internal server error while processing your request.

2015-06-03 17:14:44.059 ERROR neutron.api.v2.resource [req-d831393d-e02a-4405-8f3a-dd13291f86b1 admin admin] index failed
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource Traceback (most recent call last):
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/resource.py", line 83, in resource
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource result = method(request=request, **args)
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 319, in index
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource return self._items(request, True, parent_id)
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 249, in _items
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource obj_list = obj_getter(request.context, **kwargs)
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 669, in get_networks
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource limit, marker, page_reverse)
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 1020, in get_networks
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource page_reverse=page_reverse)
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/common_db_mixin.py", line 184, in _get_collection
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource items = [dict_func(c, fields) for c in query]
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 858, in _make_network_dict
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource attributes.NETWORKS, res, network)
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/common_db_mixin.py", line 162, in _apply_dict_extend_functions
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource func(*args)
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 477, in _ml2_md_extend_network_dict
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource self.extension_manager.extend_network_dict(session, netdb, result)
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 782, in extend_network_dict
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource driver.obj.extend_network_dict(session, base_model, result)
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/plugins/ml2/extensions/port_security.py", line 60, in extend_network_dict
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource self._extend_port_security_dict(result, db_data)
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/plugins/ml2/extensions/port_security.py", line 68, in _extend_port_security_dict
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource db_data['port_security'][psec.PORTSECURITY])
2015-06-03 17:14:44.059 11154 TRACE neutron.api.v2.resource TypeError: 'NoneType' object has no attribute '__getitem__'