Comment 6 for bug 1501367

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to murano (stable/liberty)

Reviewed: https://review.openstack.org/229848
Committed: https://git.openstack.org/cgit/openstack/murano/commit/?id=c4f1f14692ac07dd56aa32575d385ec711f440d8
Submitter: Jenkins
Branch: stable/liberty

commit c4f1f14692ac07dd56aa32575d385ec711f440d8
Author: Stan Lagun <email address hidden>
Date: Wed Sep 30 20:52:22 2015 +0300

    Number of yaql functions caused AmbiguousFunctionException

    There are several commonly used MuranoPL-specific yaql functions
    that were extension methods (i.e. those that can be called as both as functions
    (foo($x)) and as methods ($x.foo())) before Murano switched to yaql 1.0
    (because this was the only option for yaql 0.2). To keep backward compatibility
    they remain such after migration to 1.0 but only for MuranoPL/1.0 format.
    The new approach was to make them pure functions and auto convert to
    extension methods for MuranoPL/1.0. However due to error both original
    and auto-generated versions of the same functions were placed in the same
    yaql context. As a result when attempts to call them as a functions
    (say id($this)) caused AmbiguousFunctionException to be thrown because
    both function versions would satisfy this syntax.

    Change-Id: Ib58c64b999a309e51a7d4a86f5de4cdce84a86d6
    Closes-Bug: #1501367
    (cherry picked from commit c3aa79590890882dfa4b561f5c50bc03f6a66978)