InstanceActionEvent traceback parameter not serializable

Bug #1317804 reported by Hans Lindgren
16
This bug affects 4 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Hans Lindgren

Bug Description

The change to use InstanceActionEvent objects in compute.utils.EventReporter changed the order of how things are done. Before, traceback info were converted to strings before being sent to the conductor. Now, since the object method being used remotes itself, the order becomes the opposite and any captured tracebacks are sent as is, resulting in errors during messaging.

See http://logstash.openstack.org/#eyJzZWFyY2giOiJtZXNzYWdlOlwiVmFsdWVFcnJvcjogQ2lyY3VsYXIgcmVmZXJlbmNlIGRldGVjdGVkXCIiLCJmaWVsZHMiOltdLCJvZmZzZXQiOjAsInRpbWVmcmFtZSI6IjkwMCIsImdyYXBobW9kZSI6ImNvdW50IiwidGltZSI6eyJ1c2VyX2ludGVydmFsIjowfSwic3RhbXAiOjEzOTk2MjYzMjYwODZ9

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/93017

Changed in nova:
status: New → In Progress
Revision history for this message
Hans Lindgren (hanlind) wrote :

Looks like most jobs don't fail due to this, so setting to high instead of critical.

Changed in nova:
importance: Critical → High
Revision history for this message
Matt Riedemann (mriedem) wrote :

Confirming that this is juno only given the change mentioned that broke it is this:

https://review.openstack.org/92826

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/93017
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=59a6cf233b538d6666740de4796fce25ed8265aa
Submitter: Jenkins
Branch: master

commit 59a6cf233b538d6666740de4796fce25ed8265aa
Author: Hans Lindgren <email address hidden>
Date: Fri May 9 10:47:17 2014 +0200

    Fix InstanceActionEvent traceback parameter not serializable

    The change to use InstanceActionEvent in compute.utils.EventReporter
    changed the order of how things are done. Before, traceback info were
    converted to a string before being sent to the conductor. Now, since
    the object method being used remotes itself, the order becomes the
    opposite and any captured tracebacks are sent as is, resulting in
    errors during messaging.

    This adds a serialize_args decorator for this case, which handles
    this specific case for the event_finish_with_failure() classmethod.
    A more generic approach is needed, and that will be applied to the
    also-affected but currently-unused finish_with_failure() instance
    method.

    Change-Id: Ibedddd606b9d25ffbbb2b1b5358cf0aa4741083f
    Co-Authored-By: Dan Smith <email address hidden>
    Closes-Bug: #1317804

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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