[openstack-dev] [Murano] ERROR murano.common.engine [-] yaql.language.exceptions.NoMatchingMethodException: No method "values" for receiver None matches supplied arguments

Waines, Greg Greg.Waines at windriver.com
Tue Mar 7 00:53:09 UTC 2017


Thanks for the input Stan.

I re-wrote the Murano Application Packaging … basing it on the Apache Murano App on the community catalog … and things are working when I use this updated Murano APP.  ☺

HOWEVER … for future reference …
how do I go about seeing the internal HEAT STACK that Murano builds based on the Murano Application / Packaging ?

Greg.

From: Stan Lagun <slagun at mirantis.com>
Date: Monday, March 6, 2017 at 6:22 PM
To: Greg Waines <Greg.Waines at windriver.com>, "openstack-dev at lists.openstack.org" <openstack-dev at lists.openstack.org>
Subject: Re: [openstack-dev] [Murano] ERROR murano.common.engine [-] yaql.language.exceptions.NoMatchingMethodException: No method "values" for receiver None matches supplied arguments

Greg,

based on the stack trace provided I see that it happened because the Heat stack output had wrong value.

If you look at https://github.com/openstack/murano/blob/stable/newton/meta/io.murano/Classes/resources/Instance.yaml#L178-L179

      - $netIdToIpsMap: $outputs.get(format('{0}-assigned-ips', $this.name<http://this.name>))
      - $.ipAddresses: $netIdToIpsMap.values().flatten().distinct()  # <--- exception is thrown here

"No method "values" for receiver None..." means that $netIdToIpsMap is null (None), which, in turn, means that
ether there in no output value with the name "$instanceName-assigned-ips" or its value is null. In both cases it is not
something that can happen under normal conditions. Unfortunately I cannot tell why it happened in your case.
I'd start with debugging of the Heat stack in attempt to find out why Heat didn't set the output values

Regards,
Stan



On March 6, 2017 at 12:02:59 PM, Waines, Greg (greg.waines at windriver.com<mailto:greg.waines at windriver.com>) wrote:
We are attempting to integrate a NEWTON-version of MURANO integrated into our OpenStack solution.

With a very simple murano package/app, that basically just does a “ $.instance.deploy() “ in its deploy method of its main class,
we are getting the following traceback error (see end of email).

Any thoughts / guidance on potential issues ?

( NOTE … we had been trying to run with the secondary rabbit server, but now (temporarily) just pointing murano at the core rabbit server to get past some issues with not having the secondary rabbit server running. )

thanks in advance,
Greg.


2017-03-06 19:28:08.904 184898 ERROR murano.common.engine [-]
  yaql.language.exceptions.NoMatchingMethodException: No method "values" for receiver None matches supplied arguments
  Traceback (most recent call last):
    File "/tmp/murano-packages-cache/io.murano/0.0.0/37e6dfe1415c4caa9150a53fc18506ef/Classes/Environment.yaml", line 120:9 in method deploy of type io.murano.Environment
        $.applications.pselect($.deploy())
    File "/tmp/murano-packages-cache/wrs.titanium.murano.examples.cgcs_guest/0.0.0/b7554a5f915748629da6e425005e1933/Classes/cgcs_guest.yaml", line 41:13 in method deploy of type wrs.titanium.murano.examples.cgcs_guest
        $.instance.deploy()
    File "/tmp/murano-packages-cache/io.murano/0.0.0/37e6dfe1415c4caa9150a53fc18506ef/Classes/resources/Instance.yaml", line 194:9 in method deploy of type io.murano.resources.Instance
        $this.endDeploy()
    File "/tmp/murano-packages-cache/io.murano/0.0.0/37e6dfe1415c4caa9150a53fc18506ef/Classes/resources/Instance.yaml", line 179:24 in method endDeploy of type io.murano.resources.Instance
        $netIdToIpsMap.values().flatten().distinct()
    File "/usr/lib/python2.7/site-packages/murano/dsl/helpers.py", line 53 in method evaluate
        return value(context)
    File "/usr/lib/python2.7/site-packages/murano/dsl/yaql_expression.py", line 85 in method __call__
        return self._parsed_expression.evaluate(context=context)
    File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", line 165 in method evaluate
        return self(utils.NO_VALUE, context, self.engine)
    File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", line 156 in method __call__
        return super(Statement, self).__call__(receiver, context, engine)
    File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", line 37 in method __call__
        return context(self.name<http://self.name>, engine, receiver, context)(*self.args)
    File "/usr/lib/python2.7/site-packages/yaql/language/contexts.py", line 65 in method <lambda>
        data_context, use_convention, function_filter)
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 49 in method call
        name, all_overloads, engine, receiver, data_context, args, kwargs)
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 117 in method choose_overload
        args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 117 in method <genexpr>
        args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 113 in method <lambda>
        and not isinstance(arg, expressions.Constant))
    File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", line 37 in method __call__
        return context(self.name<http://self.name>, engine, receiver, context)(*self.args)
    File "/usr/lib/python2.7/site-packages/yaql/language/contexts.py", line 65 in method <lambda>
        data_context, use_convention, function_filter)
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 49 in method call
        name, all_overloads, engine, receiver, data_context, args, kwargs)

    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 117 in method choose_overload
        args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 117 in method <genexpr>
        args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 113 in method <lambda>
        and not isinstance(arg, expressions.Constant))
    File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", line 37 in method __call__
        return context(self.name<http://self.name>, engine, receiver, context)(*self.args)
    File "/usr/lib/python2.7/site-packages/yaql/language/contexts.py", line 65 in method <lambda>
        data_context, use_convention, function_filter)
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 49 in method call
        name, all_overloads, engine, receiver, data_context, args, kwargs)
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 117 in method choose_overload
        args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 117 in method <genexpr>
        args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 113 in method <lambda>
        and not isinstance(arg, expressions.Constant))
    File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", line 37 in method __call__
        return context(self.name<http://self.name>, engine, receiver, context)(*self.args)
    File "/usr/lib/python2.7/site-packages/yaql/language/contexts.py", line 65 in method <lambda>
        data_context, use_convention, function_filter)
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 51 in method call
        result = delegate()
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 142 in method <lambda>
        return lambda: delegate()
    File "/usr/lib/python2.7/site-packages/yaql/language/specs.py", line 341 in method func
        six.iteritems(keyword_args)))
    File "/usr/lib/python2.7/site-packages/yaql/standard_library/system.py", line 34 in method op_dot
        return expr(receiver)
    File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 269 in method func
        engine, args, kwargs)
    File "/usr/lib/python2.7/site-packages/yaql/language/yaqltypes.py", line 236 in method _call
        result = value(receiver, context, engine)
    File "/usr/lib/python2.7/site-packages/yaql/language/expressions.py", line 37 in method __call__
        return context(self.name<http://self.name>, engine, receiver, context)(*self.args)
    File "/usr/lib/python2.7/site-packages/yaql/language/contexts.py", line 65 in method <lambda>
        data_context, use_convention, function_filter)
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 49 in method call
        name, all_overloads, engine, receiver, data_context, args, kwargs)
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 108 in method choose_overload
        raise_not_found()
    File "/usr/lib/python2.7/site-packages/yaql/language/runner.py", line 72 in method raise_not_found
        raise exceptions.NoMatchingMethodException(name, receiver)



__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe<http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20170307/c1c99cd9/attachment.html>


More information about the OpenStack-dev mailing list