Comment 9 for bug 1472515

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to heat (stable/ocata)

Reviewed: https://review.openstack.org/487653
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=d712b8c39634afc0e50fdb3f3672c0029815900d
Submitter: Jenkins
Branch: stable/ocata

commit d712b8c39634afc0e50fdb3f3672c0029815900d
Author: Zane Bitter <email address hidden>
Date: Fri Jul 7 18:44:13 2017 -0400

    Fix ResourceActionNotSupported errors in log

    In 37ef66970510972af54ce6835ec234f3e30a0a88 (in Kilo) we made signalling
    a resource asynchronous because things like e.g. scaling an autoscaling
    group were too slow to do synchronously (bug 1394095).

    However, for resources that don't have a handle_signal() method at all,
    this means that if a signal other than one handled by Heat (e.g. to
    clear a hook) is received then the user won't be notified of the error.
    There will instead be an error message in the logs warning of an
    unhandled exception in a thread.

    (Previously, similar problems occurred if the user was attempting to
    clear a hook and some error occurred. This has since been fixed as bug
    1472515, in Liberty.)

    If there's no handle_signal() method defined, then calling
    Resource.signal() is quick (i.e. it's only going to clear a hook, or
    raise an error). So handle this case synchronously. This ensures that
    any error is reported to the user and not in the log.

    Change-Id: I917b4c7d4ab2cde46148197a3a232d5dc70f63d7
    Related-Bug: #1472515
    (cherry picked from commit dcf2463f1f21ed6b011730eceb6977d1582c912f)