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__'
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-dd13291f86 b1 admin admin] index failed api.v2. resource Traceback (most recent call last): api.v2. resource File "/opt/stack/ neutron/ neutron/ api/v2/ resource. py", line 83, in resource api.v2. resource result = method( request= request, **args) api.v2. resource File "/opt/stack/ neutron/ neutron/ api/v2/ base.py" , line 319, in index api.v2. resource return self._items( request, True, parent_id) api.v2. resource File "/opt/stack/ neutron/ neutron/ api/v2/ base.py" , line 249, in _items api.v2. resource obj_list = obj_getter( request. context, **kwargs) api.v2. resource File "/opt/stack/ neutron/ neutron/ plugins/ ml2/plugin. py", line 669, in get_networks api.v2. resource limit, marker, page_reverse) api.v2. resource File "/opt/stack/ neutron/ neutron/ db/db_base_ plugin_ v2.py", line 1020, in get_networks api.v2. resource page_reverse= page_reverse) api.v2. resource File "/opt/stack/ neutron/ neutron/ db/common_ db_mixin. py", line 184, in _get_collection api.v2. resource items = [dict_func(c, fields) for c in query] api.v2. resource File "/opt/stack/ neutron/ neutron/ db/db_base_ plugin_ v2.py", line 858, in _make_network_dict api.v2. resource attributes. NETWORKS, res, network) api.v2. resource File "/opt/stack/ neutron/ neutron/ db/common_ db_mixin. py", line 162, in _apply_ dict_extend_ functions api.v2. resource func(*args) api.v2. resource File "/opt/stack/ neutron/ neutron/ plugins/ ml2/plugin. py", line 477, in _ml2_md_ extend_ network_ dict api.v2. resource self.extension_ manager. extend_ network_ dict(session, netdb, result) api.v2. resource File "/opt/stack/ neutron/ neutron/ plugins/ ml2/managers. py", line 782, in extend_network_dict api.v2. resource driver. obj.extend_ network_ dict(session, base_model, result) api.v2. resource File "/opt/stack/ neutron/ neutron/ plugins/ ml2/extensions/ port_security. py", line 60, in extend_network_dict api.v2. resource self._extend_ port_security_ dict(result, db_data) api.v2. resource File "/opt/stack/ neutron/ neutron/ plugins/ ml2/extensions/ port_security. py", line 68, in _extend_ port_security_ dict api.v2. resource db_data[ 'port_security' ][psec. PORTSECURITY] ) api.v2. resource TypeError: 'NoneType' object has no attribute '__getitem__'
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.
2015-06-03 17:14:44.059 11154 TRACE neutron.