← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1461519] [NEW] Enabling ml2 port security extension driver causes net-list to fail on existing deployment

 

Public bug reported:

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__'

** Affects: neutron
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1461519

Title:
  Enabling ml2 port security extension driver causes net-list to fail on
  existing deployment

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  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__'

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1461519/+subscriptions


Follow ups

References