Vahid, The files you attached doesn't look like a YAML at all
Sincerely yours, Stan Lagun Principal Software Engineer @ Mirantis <sla...@mirantis.com> On Wed, Nov 25, 2015 at 10:21 PM, Vahid S Hashemian < vahidhashem...@us.ibm.com> wrote: > Kate, Serg, > > Thank you very much for your quick responses. > > I am attaching the requested yaml file. > > For Hot2 plugin, the only difference with hot_package.py is that I changed > the UI translation version to 2.2 and removed predefined_fields in > _translate_ui_parameters method. > The ui.yaml file is attached. > > > > The CSAR plugin is a work in progress. For example, the workflow method is > not yet implemented. > The ui.yaml file is attached. > > > I'd like to make sure the issue is not on my side before I open a bug, as > Kate suggested. > > If necessary, I can also send you the plugin python code. > > Thanks. > > Regards, > --Vahid > > > > > From: Serg Melikyan <smelik...@mirantis.com> > To: "OpenStack Development Mailing List (not for usage questions)" > <openstack-dev@lists.openstack.org> > Date: 11/25/2015 03:29 AM > Subject: Re: [openstack-dev] [Murano] > 'NoMatchingFunctionException: No function "#operator_." matches supplied > arguments' error when adding an application to an environment > ------------------------------ > > > > Hi Vahid, > > you can find generated UI definitions for the package here: > /tmp/muranodashboard-cache/apps/.../ui/ui.yaml > > On Wed, Nov 25, 2015 at 12:54 PM, Ekaterina Chernova > <efedor...@mirantis.com> wrote: > > > > 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 < > vahidhashem...@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-requ...@lists.openstack.org?subject:unsubscribe > >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > >> > > > > > > > __________________________________________________________________________ > > OpenStack Development Mailing List (not for usage questions) > > Unsubscribe: > openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > > > -- > Serg Melikyan, Senior Software Engineer at Mirantis, Inc. > http://mirantis.com| smelik...@mirantis.com > > +7 (495) 640-4904, 0261 > +7 (903) 156-0836 > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > >
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev