MACAlreadyExists error in Ironic tempest run

Bug #1348676 reported by Ben Nemec
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Medium
Dmitry Tantsur

Bug Description

Seeing a few failures in the Ironic tempest job lately. I don't see any matches in the existing bugs, so opening this new one to track the problem.

2014-07-23 22:54:02.665 29094 ERROR oslo.messaging.rpc.dispatcher [-] Exception during message handling: A port with MAC address fa:16:3e:80:e1:54 already exists.
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher Traceback (most recent call last):
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 134, in _dispatch_and_reply
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher incoming.message))
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 177, in _dispatch
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher return self._do_dispatch(endpoint, method, ctxt, args)
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 123, in _do_dispatch
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher result = getattr(endpoint, method)(ctxt, **new_args)
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/server.py", line 138, in inner
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher return func(*args, **kwargs)
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/new/ironic/ironic/conductor/manager.py", line 966, in update_port
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher port_obj.save(context)
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/new/ironic/ironic/objects/base.py", line 141, in wrapper
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher return fn(self, ctxt, *args, **kwargs)
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/new/ironic/ironic/objects/port.py", line 61, in save
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher self.dbapi.update_port(self.uuid, updates)
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/new/ironic/ironic/objects/__init__.py", line 28, in wrapper
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher result = fn(*args, **kwargs)
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/new/ironic/ironic/db/sqlalchemy/api.py", line 427, in update_port
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher raise exception.MACAlreadyExists(mac=values['address'])
2014-07-23 22:54:02.665 29094 TRACE oslo.messaging.rpc.dispatcher MACAlreadyExists: A port with MAC address fa:16:3e:80:e1:54 already exists.

Full log: http://logs.openstack.org/49/104449/5/check/check-tempest-dsvm-virtual-ironic/4dd2c2e/logs/screen-ir-cond.txt.gz#_2014-07-23_22_54_02_665

Revision history for this message
Yuriy Zveryanskyy (yzveryanskyy) wrote :

It is traceback from negative port API tempest test. Fix: https://review.openstack.org/#/c/109107/

Changed in ironic:
status: New → Triaged
importance: Undecided → Medium
Ruby Loo (rloo)
Changed in ironic:
assignee: nobody → Devananda van der Veen (devananda)
status: Triaged → In Progress
Changed in ironic:
assignee: Devananda van der Veen (devananda) → Dmitry "Divius" Tantsur (divius)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

Reviewed: https://review.openstack.org/109107
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=b52a3084f83cfed4b8f7775b0757a1cc643577fa
Submitter: Jenkins
Branch: master

commit b52a3084f83cfed4b8f7775b0757a1cc643577fa
Author: Devananda van der Veen <email address hidden>
Date: Wed Jul 23 13:07:25 2014 -0700

    Update_port should expect MACAlreadyExists

    Conductor manager's update_port() method should include
    exception.MACAlreadyExists in the list of expected exceptions. This
    will stop logging it as a traceback on the Conductor when a client
    attempts to update a port and change its address to one that is already
    registered.

    Change-Id: Ic575e03da566c7b44bf6b72ac171633d80165ffc
    Closes-Bug: #1348676

Changed in ironic:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in ironic:
milestone: none → juno-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in ironic:
milestone: juno-3 → 2014.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.