← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1381263] [NEW] Attribute Error found with router_interface_delete

 

Public bug reported:

This may be related to the DB lockwait timeout issue seen in the neutron with DVR.
The error occurs when trying to query the ports in the "delete_csnat_router_interface".

This is from the recent change in the router and port relationship.

2014-10-14 15:54:02.332 ERROR neutron.api.v2.resource [req-5508a216-08e5-4dc4-8ed5-9ebe79b1f7aa admin 065018a159504b6189562b5ff29463d0] remove_router_interface failed
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource Traceback (most recent call last):
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/resource.py", line 87, in resource
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     result = method(request=request, **args)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/base.py", line 200, in _handle_action
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return getattr(self._plugin, name)(*arg_list, **kwargs)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/l3_dvr_db.py", line 260, in remove_router_interface
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     context.elevated(), router, subnet_id=subnet_id)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/l3_dvr_db.py", line 590, in delete_csnat_router_interface_ports
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     filters={'id': ports}
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 1463, in get_ports
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     page_reverse=page_reverse)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 1449, in _get_ports_query
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     query = self._apply_filters_to_query(query, Port, filters)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/common_db_mixin.py", line 132, in _apply_filters_to_query
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     query = query.filter(column.in_(value))
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 404, in in_
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return self.operate(in_op, other)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/attributes.py", line 252, in operate
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return op(self.comparator, *other, **kwargs)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 694, in in_op
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return a.in_(b)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 404, in in_
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return self.operate(in_op, other)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/properties.py", line 212, in operate
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return op(self.__clause_element__(), *other, **kwargs)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 694, in in_op
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return a.in_(b)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 404, in in_
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return self.operate(in_op, other)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/expression.py", line 2311, in operate
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return op(self.comparator, *other, **kwargs)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 694, in in_op
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return a.in_(b)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 404, in in_
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return self.operate(in_op, other)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/expression.py", line 1994, in operate
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return o[0](self, self.expr, op, *(other + o[1:]), **kwargs)
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/expression.py", line 2113, in _in_impl
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     for o in seq_or_selectable:
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/l3_dvr_db.py", line 584, in <genexpr>
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     rp.port.id for rp in
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource AttributeError: 'NoneType' object has no attribute 'id'
2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: l3-dvr-backlog

** Tags added: l3-dvr-backlog

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

Title:
  Attribute Error found with router_interface_delete

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  This may be related to the DB lockwait timeout issue seen in the neutron with DVR.
  The error occurs when trying to query the ports in the "delete_csnat_router_interface".

  This is from the recent change in the router and port relationship.

  2014-10-14 15:54:02.332 ERROR neutron.api.v2.resource [req-5508a216-08e5-4dc4-8ed5-9ebe79b1f7aa admin 065018a159504b6189562b5ff29463d0] remove_router_interface failed
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource Traceback (most recent call last):
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/resource.py", line 87, in resource
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     result = method(request=request, **args)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/base.py", line 200, in _handle_action
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return getattr(self._plugin, name)(*arg_list, **kwargs)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/l3_dvr_db.py", line 260, in remove_router_interface
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     context.elevated(), router, subnet_id=subnet_id)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/l3_dvr_db.py", line 590, in delete_csnat_router_interface_ports
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     filters={'id': ports}
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 1463, in get_ports
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     page_reverse=page_reverse)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 1449, in _get_ports_query
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     query = self._apply_filters_to_query(query, Port, filters)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/common_db_mixin.py", line 132, in _apply_filters_to_query
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     query = query.filter(column.in_(value))
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 404, in in_
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return self.operate(in_op, other)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/attributes.py", line 252, in operate
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return op(self.comparator, *other, **kwargs)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 694, in in_op
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return a.in_(b)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 404, in in_
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return self.operate(in_op, other)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/properties.py", line 212, in operate
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return op(self.__clause_element__(), *other, **kwargs)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 694, in in_op
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return a.in_(b)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 404, in in_
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return self.operate(in_op, other)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/expression.py", line 2311, in operate
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return op(self.comparator, *other, **kwargs)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 694, in in_op
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return a.in_(b)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/operators.py", line 404, in in_
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return self.operate(in_op, other)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/expression.py", line 1994, in operate
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     return o[0](self, self.expr, op, *(other + o[1:]), **kwargs)
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/expression.py", line 2113, in _in_impl
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     for o in seq_or_selectable:
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/l3_dvr_db.py", line 584, in <genexpr>
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource     rp.port.id for rp in
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource AttributeError: 'NoneType' object has no attribute 'id'
  2014-10-14 15:54:02.332 TRACE neutron.api.v2.resource

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


Follow ups

References