← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1265472] [NEW] nicira: db integrity error on dhcp port operations

 

Public bug reported:

This stacktrace has been observed during dhcp port operations after
change 648f787d80530d34bbbb159220d56591dfa46a86:

2014-01-01 10:25:03.086 29167 ERROR neutron.openstack.common.rpc.amqp [req-5efe812b-3f99-4712-b301-c93cb1f5e893 888bff1f89bd4cdab3ea4d1d9e4a1c34 0f1987d130294a938bf3d6c04ca843dc] Exception during message handling
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp Traceback (most recent call last):
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/openstack/common/rpc/amqp.py", line 438, in _process_data
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     **args)
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/common/rpc.py", line 45, in dispatch
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     neutron_ctxt, version, method, namespace, **kwargs)
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/openstack/common/rpc/dispatcher.py", line 172, in dispatch
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     result = getattr(proxyobj, method)(ctxt, **kwargs)
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/db/dhcp_rpc_base.py", line 195, in get_dhcp_port
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     'create_port')
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/db/dhcp_rpc_base.py", line 53, in _port_action
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     return plugin.create_port(context, port)
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/plugins/nicira/NeutronPlugin.py", line 1172, in create_port
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     with context.session.begin(subtransactions=True):
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 643, in begin
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     nested=nested)
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 236, in _begin
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     self._assert_is_active()
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 213, in _assert_is_active
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     % self._rollback_exception
2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (IntegrityError) (1452, 'Cannot add or update a child row: a foreign key constraint fails (`neutron_nvp`.`neutron_nsx_port_mappings`, CONSTRAINT `neutron_nsx_port_mappings_ibfk_1` FOREIGN KEY (`neutron_id`) REFERENCES `ports` (`id`) ON DELETE CASCADE)') 'INSERT INTO neutron_nsx_port_mappings (neutron_id, nsx_switch_id, nsx_port_id) VALUES (%s, %s, %s)' ('b79d2734-29e6-4494-9325-c50c647d6a56', 'cb841161-bcee-49df-a881-d143667115c4', '5e660371-797a-449c-890d-b63c02364bea')

It looks like the plugin is attempting to add a mapping for a Neutron
port that no longer exists. Even though this is likely not to lead to a
potential failure in API operations, this should be dealt with in order
to not upset the dhcp agent normal processing.

** Affects: neutron
     Importance: Undecided
     Assignee: Armando Migliaccio (armando-migliaccio)
         Status: New


** Tags: nicira

** Changed in: neutron
     Assignee: (unassigned) => Armando Migliaccio (armando-migliaccio)

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

Title:
  nicira: db integrity error on dhcp port operations

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  This stacktrace has been observed during dhcp port operations after
  change 648f787d80530d34bbbb159220d56591dfa46a86:

  2014-01-01 10:25:03.086 29167 ERROR neutron.openstack.common.rpc.amqp [req-5efe812b-3f99-4712-b301-c93cb1f5e893 888bff1f89bd4cdab3ea4d1d9e4a1c34 0f1987d130294a938bf3d6c04ca843dc] Exception during message handling
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp Traceback (most recent call last):
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/openstack/common/rpc/amqp.py", line 438, in _process_data
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     **args)
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/common/rpc.py", line 45, in dispatch
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     neutron_ctxt, version, method, namespace, **kwargs)
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/openstack/common/rpc/dispatcher.py", line 172, in dispatch
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     result = getattr(proxyobj, method)(ctxt, **kwargs)
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/db/dhcp_rpc_base.py", line 195, in get_dhcp_port
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     'create_port')
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/db/dhcp_rpc_base.py", line 53, in _port_action
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     return plugin.create_port(context, port)
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/opt/stack/neutron/neutron/plugins/nicira/NeutronPlugin.py", line 1172, in create_port
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     with context.session.begin(subtransactions=True):
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 643, in begin
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     nested=nested)
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 236, in _begin
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     self._assert_is_active()
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 213, in _assert_is_active
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp     % self._rollback_exception
  2014-01-01 10:25:03.086 29167 TRACE neutron.openstack.common.rpc.amqp InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (IntegrityError) (1452, 'Cannot add or update a child row: a foreign key constraint fails (`neutron_nvp`.`neutron_nsx_port_mappings`, CONSTRAINT `neutron_nsx_port_mappings_ibfk_1` FOREIGN KEY (`neutron_id`) REFERENCES `ports` (`id`) ON DELETE CASCADE)') 'INSERT INTO neutron_nsx_port_mappings (neutron_id, nsx_switch_id, nsx_port_id) VALUES (%s, %s, %s)' ('b79d2734-29e6-4494-9325-c50c647d6a56', 'cb841161-bcee-49df-a881-d143667115c4', '5e660371-797a-449c-890d-b63c02364bea')

  It looks like the plugin is attempting to add a mapping for a Neutron
  port that no longer exists. Even though this is likely not to lead to
  a potential failure in API operations, this should be dealt with in
  order to not upset the dhcp agent normal processing.

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


Follow ups

References