[openstack-dev] [Murano] 'NoMatchingFunctionException: No function "#operator_." matches supplied arguments' error when adding an application to an environment

Ekaterina Chernova efedorova at mirantis.com
Wed Nov 25 09:54:28 UTC 2015


Hi Vahid,

Forms are rended after app is added to the environment in accordance with
the UI definition.
UI definition contains yaql expressions and one of your expression is
incorrect.
Please, share UI yaml so we can find out what's the problem.
You can also create a bug that it's not obvious which expression is failed.


Also, make sure that you have valid YAQL version installed (should
correspond to the version in requirements.txt)
And you can ask for help in #murano channel.

Regards,
Kate.


On Wed, Nov 25, 2015 at 4:39 AM, Vahid S Hashemian <
vahidhashemian at us.ibm.com> wrote:

> Hi,
>
> I am working on the TOSCA CSAR plugin for murano and so far am able to
> successfully import an application definition archive of my CSAR example to
> murano.
> However, when I try to add the imported application to an environment I
> get this error from Murano Dashboard:
>
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/package_fqn.
> DEBUG:muranodashboard.catalog.views:Clearing forms data for application
> io.murano.apps.generated.CsarHelloWorld.
> DEBUG:muranodashboard.catalog.views:Clearing any leftover wizard step data.
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/ui/ui.yaml.
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/package_fqn.
> DEBUG:muranodashboard.dynamic_ui.services:Using data {} for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.dynamic_ui.services:Using in-memory forms for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/ui/ui.yaml.
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/package_fqn.
> DEBUG:muranodashboard.dynamic_ui.services:Using data {} for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.dynamic_ui.services:Using in-memory forms for app
> io.murano.apps.generated.CsarHelloWorld
> INFO:muranodashboard.dynamic_ui.forms:Creating form workflowManagement
> INFO:muranodashboard.dynamic_ui.forms:Creating form group0
> DEBUG:muranodashboard.api:Murano::Client <Url: http://localhost:8082/>
> DEBUG:muranoclient.common.http:curl -i -X GET -H 'X-Auth-Token:
> 324759651d234c4eaf08f6093dfd7000' -H 'Content-Type: application/json' -H
> 'User-Agent: python-muranoclient'
> http://localhost:8082//v1/catalog/packages/914c2bfd5d504419a94a9affb7af809a
> DEBUG:muranoclient.common.http:
> HTTP/1.1 200 OK
> Date: Wed, 25 Nov 2015 01:31:12 GMT
> Connection: keep-alive
> Content-Type: application/json
> Content-Length: 560
> X-Openstack-Request-Id: req-b6759ab2-04b4-4882-ac95-3ac06f970cb5
>
> {"updated": "2015-11-24T23:28:52", "description": "Template for deploying
> a single server with predefined properties.", "tags":
> ["TOSCA-CSAR-generated"], "class_definitions":
> ["io.murano.apps.generated.CsarHelloWorld"], "is_public": false, "id":
> "914c2bfd5d504419a94a9affb7af809a", "categories": [], "name":
> "csar_hello_world", "created": "2015-11-24T23:28:52", "author": "OASIS
> TOSCA TC", "enabled": true, "supplier": {}, "fully_qualified_name":
> "io.murano.apps.generated.CsarHelloWorld", "type": "Application",
> "owner_id": "1fee909728c54a698c96f0f7853412ae"}
>
> DEBUG:muranoclient.common.http:curl -i -X GET -H 'X-Auth-Token:
> 324759651d234c4eaf08f6093dfd7000' -H 'Content-Type: application/json' -H
> 'User-Agent: python-muranoclient'
> http://localhost:8082//v1/environments/b8d83a0b6fde465ab9de013f084518d4
> DEBUG:muranoclient.common.http:
> HTTP/1.1 200 OK
> Date: Wed, 25 Nov 2015 01:31:12 GMT
> Connection: keep-alive
> Content-Type: application/json
> Content-Length: 245
> X-Openstack-Request-Id: req-0ccb2b46-8a58-418f-b063-63067042e3f6
>
> {"status": "ready", "updated": "2015-11-24T23:29:11", "created":
> "2015-11-24T23:29:11", "tenant_id": "1fee909728c54a698c96f0f7853412ae",
> "acquired_by": null, "version": 0, "services": [], "id":
> "b8d83a0b6fde465ab9de013f084518d4", "name": "env1"}
>
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/ui/ui.yaml.
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/package_fqn.
> DEBUG:muranodashboard.dynamic_ui.services:Using data {} for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.dynamic_ui.services:Using in-memory forms for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranoclient.common.http:curl -i -X GET -H 'X-Auth-Token:
> 324759651d234c4eaf08f6093dfd7000' -H 'Content-Type: application/json' -H
> 'User-Agent: python-muranoclient'
> http://localhost:8082//v1/catalog/packages/914c2bfd5d504419a94a9affb7af809a
> DEBUG:muranoclient.common.http:
> HTTP/1.1 200 OK
> Date: Wed, 25 Nov 2015 01:31:12 GMT
> Connection: keep-alive
> Content-Type: application/json
> Content-Length: 560
> X-Openstack-Request-Id: req-ee4545dd-6dfe-4944-90bc-48a525b099d5
>
> {"updated": "2015-11-24T23:28:52", "description": "Template for deploying
> a single server with predefined properties.", "tags":
> ["TOSCA-CSAR-generated"], "class_definitions":
> ["io.murano.apps.generated.CsarHelloWorld"], "is_public": false, "id":
> "914c2bfd5d504419a94a9affb7af809a", "categories": [], "name":
> "csar_hello_world", "created": "2015-11-24T23:28:52", "author": "OASIS
> TOSCA TC", "enabled": true, "supplier": {}, "fully_qualified_name":
> "io.murano.apps.generated.CsarHelloWorld", "type": "Application",
> "owner_id": "1fee909728c54a698c96f0f7853412ae"}
>
> [25/Nov/2015 01:31:12] "GET
> /murano/catalog/add/914c2bfd5d504419a94a9affb7af809a/b8d83a0b6fde465ab9de013f084518d4
> HTTP/1.1" 200 3763
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/ui/ui.yaml.
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/package_fqn.
> DEBUG:muranodashboard.dynamic_ui.services:Using data {} for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.dynamic_ui.services:Using in-memory forms for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/ui/ui.yaml.
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/package_fqn.
> DEBUG:muranodashboard.dynamic_ui.services:Using data {} for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.dynamic_ui.services:Using in-memory forms for app
> io.murano.apps.generated.CsarHelloWorld
> INFO:muranodashboard.dynamic_ui.forms:Creating form workflowManagement
> INFO:muranodashboard.dynamic_ui.forms:Creating form group0
> INFO:muranodashboard.dynamic_ui.forms:Creating form workflowManagement
> DEBUG:muranodashboard.api:Murano::Client <Url: http://localhost:8082/>
> DEBUG:muranoclient.common.http:curl -i -X GET -H 'X-Auth-Token:
> 324759651d234c4eaf08f6093dfd7000' -H 'Content-Type: application/json' -H
> 'User-Agent: python-muranoclient'
> http://localhost:8082//v1/environments/b8d83a0b6fde465ab9de013f084518d4
> DEBUG:muranoclient.common.http:
> HTTP/1.1 200 OK
> Date: Wed, 25 Nov 2015 01:31:15 GMT
> Connection: keep-alive
> Content-Type: application/json
> Content-Length: 245
> X-Openstack-Request-Id: req-fd260c43-75e3-41eb-bf72-d7ebd537cc9b
>
> {"status": "ready", "updated": "2015-11-24T23:29:11", "created":
> "2015-11-24T23:29:11", "tenant_id": "1fee909728c54a698c96f0f7853412ae",
> "acquired_by": null, "version": 0, "services": [], "id":
> "b8d83a0b6fde465ab9de013f084518d4", "name": "env1"}
>
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/ui/ui.yaml.
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/package_fqn.
> DEBUG:muranodashboard.dynamic_ui.services:Using data {} for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.dynamic_ui.services:Using in-memory forms for app
> io.murano.apps.generated.CsarHelloWorld
> [25/Nov/2015 01:31:15] "POST
> /murano/catalog/add/914c2bfd5d504419a94a9affb7af809a/b8d83a0b6fde465ab9de013f084518d4/False/False
> HTTP/1.1" 200 4598
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/ui/ui.yaml.
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/package_fqn.
> DEBUG:muranodashboard.dynamic_ui.services:Using data {} for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.dynamic_ui.services:Using in-memory forms for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/ui/ui.yaml.
> DEBUG:muranodashboard.common.cache:Using cached value from
> /tmp/muranodashboard-cache/apps/91/4c2bfd5d504419a94a9affb7af809a/package_fqn.
> DEBUG:muranodashboard.dynamic_ui.services:Using data {} for app
> io.murano.apps.generated.CsarHelloWorld
> DEBUG:muranodashboard.dynamic_ui.services:Using in-memory forms for app
> io.murano.apps.generated.CsarHelloWorld
> INFO:muranodashboard.dynamic_ui.forms:Creating form workflowManagement
> INFO:muranodashboard.dynamic_ui.forms:Creating form workflowManagement
> INFO:muranodashboard.dynamic_ui.forms:Creating form group0
> INFO:muranodashboard.dynamic_ui.forms:Creating form workflowManagement
> Internal Server Error:
> /murano/catalog/add/914c2bfd5d504419a94a9affb7af809a/b8d83a0b6fde465ab9de013f084518d4/False/False
> Traceback (most recent call last):
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py",
> line 132, in get_response
>     response = wrapped_callback(request, *callback_args, **callback_kwargs)
>   File "/home/stack/project/horizon/horizon/decorators.py", line 36, in dec
>     return view_func(request, *args, **kwargs)
>   File "/home/stack/project/horizon/horizon/decorators.py", line 52, in dec
>     return view_func(request, *args, **kwargs)
>   File "/home/stack/project/horizon/horizon/decorators.py", line 36, in dec
>     return view_func(request, *args, **kwargs)
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/catalog/views.py",
> line 173, in __inner
>     return func(request, **kwargs)
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/catalog/views.py",
> line 303, in view
>     return self.dispatch(request, *args, **kwargs)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/formtools/wizard/views.py",
> line 237, in dispatch
>     response = super(WizardView, self).dispatch(request, *args, **kwargs)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/django/views/generic/base.py",
> line 89, in dispatch
>     return handler(request, *args, **kwargs)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/formtools/wizard/views.py",
> line 300, in post
>     return self.render_done(form, **kwargs)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/formtools/wizard/views.py",
> line 357, in render_done
>     **kwargs)
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/catalog/views.py",
> line 334, in done
>     attributes = service.extract_attributes()
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/dynamic_ui/services.py",
> line 123, in extract_attributes
>     attributes = helpers.evaluate(self.application, self.context)
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/dynamic_ui/helpers.py",
> line 97, in evaluate
>     value, context)
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/dynamic_ui/helpers.py",
> line 90, in recursive_apply
>     return rec(value)
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/dynamic_ui/helpers.py",
> line 80, in rec
>     return dict((rec(k), rec(v)) for (k, v) in val.iteritems())
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/dynamic_ui/helpers.py",
> line 80, in <genexpr>
>     return dict((rec(k), rec(v)) for (k, v) in val.iteritems())
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/dynamic_ui/helpers.py",
> line 78, in rec
>     return rec(transformer(val, *args))
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/dynamic_ui/helpers.py",
> line 96, in <lambda>
>     lambda v, _ctx: v.evaluate(context=_ctx),
>   File
> "/home/stack/project/murano-dashboard/muranodashboard/dynamic_ui/yaql_expression.py",
> line 61, in evaluate
>     return self._parsed_expression.evaluate(data=data, context=context)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/expressions.py",
> line 165, in evaluate
>     return self(utils.NO_VALUE, context, self.engine)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/expressions.py",
> line 156, in __call__
>     return super(Statement, self).__call__(receiver, context, engine)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/expressions.py",
> line 37, in __call__
>     return context(self.name, engine, receiver, context)(*self.args)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/contexts.py",
> line 65, in <lambda>
>     data_context, use_convention, function_filter)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/runner.py",
> line 49, in call
>     name, all_overloads, engine, receiver, data_context, args, kwargs)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/runner.py",
> line 117, in choose_overload
>     args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/runner.py",
> line 117, in <genexpr>
>     args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/runner.py",
> line 113, in <lambda>
>     and not isinstance(arg, expressions.Constant))
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/expressions.py",
> line 37, in __call__
>     return context(self.name, engine, receiver, context)(*self.args)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/contexts.py",
> line 65, in <lambda>
>     data_context, use_convention, function_filter)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/runner.py",
> line 49, in call
>     name, all_overloads, engine, receiver, data_context, args, kwargs)
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/runner.py",
> line 141, in choose_overload
>     raise_not_found()
>   File
> "/home/stack/project/horizon/.tox/venv/local/lib/python2.7/site-packages/yaql/language/runner.py",
> line 70, in raise_not_found
>     raise exceptions.NoMatchingFunctionException(name)
> NoMatchingFunctionException: No function "#operator_." matches supplied
> arguments
> [25/Nov/2015 01:31:17] "POST
> /murano/catalog/add/914c2bfd5d504419a94a9affb7af809a/b8d83a0b6fde465ab9de013f084518d4/False/False
> HTTP/1.1" 500 119882
>
>
> In order to test this further I tried to make a copy of the hot_package
> and create a HOT2 plugin (by renaming Hot to Hot2) to see if the issue is
> directly rooted in the CSAR plugin.
> However, with the HOT2 plugin I am getting the same error as above.
>
> Any help on how to resolve the problem is very much appreciated.
>
> Regards,
> --Vahid
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at 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/20151125/c8181d1e/attachment.html>


More information about the OpenStack-dev mailing list