OpenStack Train fresh installation from source.
Sources was downloaded with command 'git clone ... -b stable/train'
murano client 1.3.0
heat client 1.18.0
python 3.6
When trying to deploy environment with murano-app or with Murano app based on Heat template it both fails with exception:
2020-03-09 19:33:39 — Action deploy is scheduled
2020-03-09 19:33:46 — Application deployment has started
2020-03-09 19:33:46 — Stack creation has started
2020-03-09 19:33:47 — ERROR: None
2020-03-09 19:33:47 — [heatclient.exc.HTTPNotFound]: ERROR: None
2020-03-09 19:33:47 — Deployment finished with errors
in murano-engine.log found warning:
2020-03-09 19:33:47.076 1371 WARNING murano.dsl.murano_method [-] "Usage: Action" is deprecated, use "Scope: Public" instead: heatclient.exc.HTTPNotFound: ERROR: None
2020-03-09 19:33:47.553 1371 ERROR murano.common.engine [-]
heatclient.exc.HTTPNotFound: ERROR: None
After this warning environment deployment fails with the same as in warning error message.
I check io.murano, io.murano.applications and my murano-app sources with 'grep -r 'Usage: Action' *' command and there are no 'Usage: Action' string anywhere.
Also found reports from another users, about exceptions caused, i think, by the same issue:
https://ask.openstack.org/en/question/114580/murano-enviroment-deploy-exception/
https://ask.openstack.org/en/question/123128/murano-deploy-environment-faild/
There my murano app source code what i try to deploy:
pure murano app: https://bitbucket.org/alexey_smovzh/openstack_from_source/src/master/modules/openstack/files/murano_apps/mariadb/
app based on Heat template: https://bitbucket.org/alexey_smovzh/openstack_from_source/src/master/modules/openstack/files/murano_apps/cirros/
Both, as I mention earlier, fails with the same exception.
Full part from murano-engine.log, related to this error:
2020-03-09 19:33:42.486 1371 INFO murano.common.plugins.package_types_loader [-] Loading package type plugins
2020-03-09 19:33:42.490 1371 INFO murano.common.plugins.package_types_loader [-] Plugin for "MuranoPL/1.0" package type was loaded
2020-03-09 19:33:42.491 1371 INFO murano.common.plugins.package_types_loader [-] Plugin for "MuranoPL/1.1" package type was loaded
2020-03-09 19:33:42.491 1371 INFO murano.common.plugins.package_types_loader [-] Plugin for "MuranoPL/1.2" package type was loaded
2020-03-09 19:33:42.492 1371 INFO murano.common.plugins.package_types_loader [-] Plugin for "MuranoPL/1.3" package type was loaded
2020-03-09 19:33:42.492 1371 INFO murano.common.plugins.package_types_loader [-] Plugin for "MuranoPL/1.4" package type was loaded
2020-03-09 19:33:42.493 1371 INFO murano.common.plugins.package_types_loader [-] Plugin for "Heat.HOT/1.0" package type was loaded
2020-03-09 19:33:42.494 1371 INFO murano.engine.package_loader [-] Successfully downloaded and unpacked package io.murano 1c86e8bf15304cefb958867588b30f44
2020-03-09 19:33:42.794 1371 INFO murano.engine.package_loader [-] Successfully downloaded and unpacked package cloud.openstack.CirrOS 088b32fbeed040409ff754f6ff5623d4
2020-03-09 19:33:47.076 1371 WARNING murano.dsl.murano_method [-] "Usage: Action" is deprecated, use "Scope: Public" instead: heatclient.exc.HTTPNotFound: ERROR: None
2020-03-09 19:33:47.553 1371 ERROR murano.common.engine [-]
heatclient.exc.HTTPNotFound: ERROR: None
Traceback (most recent call last):
File "/tmp/murano-packages-cache/io.murano/0.0.0/1c86e8bf15304cefb958867588b30f44/Classes/Environment.yaml", line 120:9 in method deploy of type io.murano.Environment
$.applications.pselect($.deploy())
File "/<generated code>", line 38:9 in method deploy of type cloud.openstack.CirrOS
$stack.push()
File "/usr/local/lib/python3.6/dist-packages/murano/dsl/helpers.py", line 55 in method evaluate
return value(context)
File "/usr/local/lib/python3.6/dist-packages/murano/dsl/yaql_expression.py", line 85 in method __call__
return self._parsed_expression.evaluate(context=context)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/expressions.py", line 168 in method evaluate
return self(utils.NO_VALUE, context, self.engine)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/expressions.py", line 156 in method __call__
return super(Statement, self).__call__(receiver, context, engine)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/expressions.py", line 37 in method __call__
return context(self.name, engine, receiver, context)(*self.args)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/contexts.py", line 65 in method <lambda>
data_context, use_convention, function_filter)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py", line 49 in method call
name, all_overloads, engine, receiver, data_context, args, kwargs)
File "/usr/local/lib/python3.6/dist-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/local/lib/python3.6/dist-packages/yaql/language/runner.py", line 117 in method <genexpr>
args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))
File "/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py", line 113 in method <lambda>
and not isinstance(arg, expressions.Constant))
File "/usr/local/lib/python3.6/dist-packages/yaql/language/expressions.py", line 37 in method __call__
return context(self.name, engine, receiver, context)(*self.args)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/contexts.py", line 65 in method <lambda>
data_context, use_convention, function_filter)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py", line 51 in method call
result = delegate()
File "/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py", line 142 in method <lambda>
return lambda: delegate()
File "/usr/local/lib/python3.6/dist-packages/yaql/language/specs.py", line 346 in method func
six.iteritems(keyword_args)))
File "/usr/local/lib/python3.6/dist-packages/murano/dsl/yaql_functions.py", line 188 in method op_dot
return operator(ctx2, receiver, expr)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/yaqltypes.py", line 349 in method func
new_name, engine, new_receiver, new_context)(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/contexts.py", line 65 in method <lambda>
data_context, use_convention, function_filter)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py", line 51 in method call
result = delegate()
File "/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py", line 142 in method <lambda>
return lambda: delegate()
File "/usr/local/lib/python3.6/dist-packages/yaql/language/specs.py", line 346 in method func
six.iteritems(keyword_args)))
File "/usr/local/lib/python3.6/dist-packages/yaql/standard_library/system.py", line 63 in method op_dot
return expr(receiver)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/yaqltypes.py", line 293 in method func
engine, args, kwargs)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/yaqltypes.py", line 260 in method _call
result = value(receiver, context, engine)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/expressions.py", line 37 in method __call__
return context(self.name, engine, receiver, context)(*self.args)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/contexts.py", line 65 in method <lambda>
data_context, use_convention, function_filter)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py", line 51 in method call
result = delegate()
File "/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py", line 142 in method <lambda>
return lambda: delegate()
File "/usr/local/lib/python3.6/dist-packages/yaql/language/specs.py", line 346 in method func
six.iteritems(keyword_args)))
File "/usr/local/lib/python3.6/dist-packages/murano/dsl/yaql_integration.py", line 249 in method payload
__receiver, args, kwargs, __context, True), __context)
File "/usr/local/lib/python3.6/dist-packages/murano/dsl/murano_method.py", line 230 in method invoke
self, this, context, args, kwargs, skip_stub)
File "/usr/local/lib/python3.6/dist-packages/murano/dsl/executor.py", line 162 in method invoke_method
result = call()
File "/usr/local/lib/python3.6/dist-packages/murano/dsl/executor.py", line 152 in method call
yaql_engine, context, native_this)(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/yaql/language/specs.py", line 65 in method func
return self.get_delegate(receiver, engine, context, args, kwargs)()
File "/usr/local/lib/python3.6/dist-packages/yaql/language/specs.py", line 346 in method func
six.iteritems(keyword_args)))
File "/usr/local/lib/python3.6/dist-packages/murano/dsl/yaql_integration.py", line 195 in method payload
return body(__self.extension, *args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/murano/engine/system/heat_stack.py", line 290 in method push
self._push()
File "/usr/local/lib/python3.6/dist-packages/murano/engine/system/heat_stack.py", line 236 in method _push
tags=self._tags)
File "/usr/local/lib/python3.6/dist-packages/heatclient/v1/stacks.py", line 171 in method create
data=kwargs, headers=headers)
File "/usr/local/lib/python3.6/dist-packages/keystoneauth1/adapter.py", line 392 in method post
return self.request(url, 'POST', **kwargs)
File "/usr/local/lib/python3.6/dist-packages/heatclient/common/http.py", line 323 in method request
raise exc.from_response(resp): murano.dsl.dsl_exception.MuranoPlException: [heatclient.exc.HTTPNotFound]: ERROR: None
2020-03-09 19:33:47.585 1371 INFO murano.common.engine [-] Finished processing task: {"action": {"isException": true, "result":
{"message": "[heatclient.exc.HTTPNotFound]: ERROR: None", "details": "heatclient.exc.HTTPNotFound: ERROR: None\nTraceback (most
recent call last):\n File \"/tmp/murano-packages-cache/io.murano/0.0.0/1c86e8bf15304cefb958867588b30f44/Classes/Environment.yam
l\", line 120:9 in method deploy of type io.murano.Environment\n $.applications.pselect($.deploy())\n File \"/<generated c
ode>\", line 38:9 in method deploy of type cloud.openstack.CirrOS\n $stack.push()\n File \"/usr/local/lib/python3.6/dist-p
ackages/murano/dsl/helpers.py\", line 55 in method evaluate\n return value(context)\n File \"/usr/local/lib/python3.6/dist
-packages/murano/dsl/yaql_expression.py\", line 85 in method __call__\n return self._parsed_expression.evaluate(context=con
text)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/expressions.py\", line 168 in method evaluate\n return
self(utils.NO_VALUE, context, self.engine)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/expressions.py\", lin
e 156 in method __call__\n return super(Statement, self).__call__(receiver, context, engine)\n File \"/usr/local/lib/pytho
n3.6/dist-packages/yaql/language/expressions.py\", line 37 in method __call__\n return context(self.name, engine, receiver,
context)(*self.args)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/contexts.py\", line 65 in method <lambda>\n data_context, use_convention, function_filter)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py\", line 49 in method call\n name, all_overloads, engine, receiver, data_context, args, kwargs)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py\", line 117 in method choose_overload\n args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py\", line 117 in method <genexpr>\n args = tuple(arg_evaluator(i, arg) for i, arg in enumerate(args))\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py\", line 113 in method <lambda>\n and not isinstance(arg, expressions.Constant))\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/expressions.py\", line 37 in method __call__\n return context(self.name, engine, receiver, context)(*self.args)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/contexts.py\", line 65 in method <lambda>\n data_context, use_convention, function_filter)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py\", line 51 in method call\n result = delegate()\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py\", line 142 in method <lambda>\n return lambda: delegate()\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/specs.py\", line 346 in method func\n six.iteritems(keyword_args)))\n File \"/usr/local/lib/python3.6/dist-packages/murano/dsl/yaql_functions.py\", line 188 in method op_dot\n return operator(ctx2, receiver, expr)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/yaqltypes.py\", line 349 in method func\n new_name, engine, new_receiver, new_context)(*args, **kwargs)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/contexts.py\", line 65 in method <lambda>\n data_context, use_convention, function_filter)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py\", line 51 in method call\n result = delegate()\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py\", line 142 in method <lambda>\n return lambda: delegate()\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/specs.py\", line 346 in method func\n six.iteritems(keyword_args)))\n File \"/usr/local/lib/python3.6/dist-packages/yaql/standard_library/system.py\", line 63 in method op_dot\n return expr(receiver)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/yaqltypes.py\", line 293 in method func\n engine, args, kwargs)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/yaqltypes.py\", line 260 in method _call\n result = value(receiver, context, engine)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/expressions.py\", line 37 in method __call__\n return context(self.name, engine, receiver, context)(*self.args)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/contexts.py\", line 65 in method <lambda>\n data_context, use_convention, function_filter)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py\", line 51 in method call\n result = delegate()\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/runner.py\", line 142 in method <lambda>\n return lambda: delegate()\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/specs.py\", line 346 in method func\n six.iteritems(keyword_args)))\n File \"/usr/local/lib/python3.6/dist-packages/murano/dsl/yaql_integration.py\", line 249 in method payload\n __receiver, args, kwargs, __context, True), __context)\n File \"/usr/local/lib/python3.6/dist-packages/murano/dsl/murano_method.py\", line 230 in method invoke\n self, this, context, args, kwargs, skip_stub)\n File \"/usr/local/lib/python3.6/dist-packages/murano/dsl/executor.py\", line 162 in method invoke_method\n result = call()\n File \"/usr/local/lib/python3.6/dist-packages/murano/dsl/executor.py\", line 152 in method call\n yaql_engine, context, native_this)(*args, **kwargs)\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/specs.py\", line 65 in method func\n return self.get_delegate(receiver, engine, context, args, kwargs)()\n File \"/usr/local/lib/python3.6/dist-packages/yaql/language/specs.py\", line 346 in method func\n six.iteritems(keyword_args)))\n File \"/usr/local/lib/python3.6/dist-packages/murano/dsl/yaql_integration.py\", line 195 in method payload\n return body(__self.extension, *args, **kwargs)\n File \"/usr/local/lib/python3.6/dist-packages/murano/engine/system/heat_stack.py\", line 290 in method push\n self._push()\n File \"/usr/local/lib/python3.6/dist-packages/murano/engine/system/heat_stack.py\", line 236 in method _push\n tags=self._tags)\n File \"/usr/local/lib/python3.6/dist-packages/heatclient/v1/stacks.py\", line 171 in method create\n data=kwargs, headers=headers)\n File \"/usr/local/lib/python3.6/dist-packages/keystoneauth1/adapter.py\", line 392 in method post\n return self.request(url, 'POST', **kwargs)\n File \"/usr/local/lib/python3.6/dist-packages/heatclient/common/http.py\", line 323 in method request\n raise exc.from_response(resp)"}}, "model": {"Objects": {"?": {"type": "<email address hidden>", "id": "c00b9f7b948f4aec9fe60a6f2e9ad248", "name": null, "metadata": {}, "_actions": {"c00b9f7b948f4aec9fe60a6f2e9ad248_deploy": {"enabled": true, "name": "deploy", "title": "deploy"}}}, "name": "quick-env-1", "applications": [{"?": {"type": "<email address hidden>", "id": "ea6e7f17-1de9-43b2-8e03-01f170622556", "name": null, "metadata": null, "_actions": {}}, "generatedHeatStackName": null, "hotEnvironment": null, "name": "df1", "templateOutputs": {"instance_ip": null, "instance_name": null}, "templateParameters": {"flavor_name": "tiny", "net_id": "murano", "subnet_id": "murano-subnet"}}], "defaultNetworks": {"environment": {"?": {"type": "<email address hidden>", "id": "dfa0fd4c20a14947a16b5ac15f1934da", "name": null, "metadata": null}, "regionName": null, "port_security_disable": null, "name": "quick-env-1-network", "ipVersion": 4, "externalRouterId": null, "autoUplink": true, "autogenerateSubnet": true, "openstackId": null, "subnetCidr": null, "dnsNameservers": []}, "flat": null}, "region": "RegionUA", "regions": {"RegionUA": {"?": {"type": "<email address hidden>", "id": "b59c490c1b6b453cb0e981bb0f84f944", "name": null, "metadata": null, "_actions": {}}, "name": "RegionUA", "defaultNetworks": {"environment": {"?": {"type": "<email address hidden>", "id": "dd4a38ccb7164959908a373a58e32170", "name": null, "metadata": null, "dependencies": {"onDestruction": [{"subscriber": "b59c490c1b6b453cb0e981bb0f84f944", "handler": null}]}, "_actions": {}}, "regionName": "RegionUA", "port_security_disable": null, "name": "quick-env-1-network", "ipVersion": 4, "externalRouterId": null, "autoUplink": true, "autogenerateSubnet": true, "openstackId": null, "subnetCidr": null, "dnsNameservers": []}, "flat": null}}, "": "b59c490c1b6b453cb0e981bb0f84f944"}}, "ObjectsCopy": {"?": {"type": "<email address hidden>", "id": "c00b9f7b948f4aec9fe60a6f2e9ad248", "name": null, "metadata": {}}, "name": "quick-env-1", "applications": [{"?": {"type": "<email address hidden>", "id": "ea6e7f17-1de9-43b2-8e03-01f170622556", "name": null, "metadata": null}, "generatedHeatStackName": null, "hotEnvironment": null, "name": "df1", "templateOutputs": {"instance_ip": null, "instance_name": null}, "templateParameters": {"flavor_name": "tiny", "net_id": "murano", "subnet_id": "murano-subnet"}}], "defaultNetworks": {"environment": {"?": {"type": "<email address hidden>", "id": "dfa0fd4c20a14947a16b5ac15f1934da", "name": null, "metadata": null}, "regionName": null, "port_security_disable": null, "name": "quick-env-1-network", "ipVersion": 4, "externalRouterId": null, "autoUplink": true, "autogenerateSubnet": true, "openstackId": null, "subnetCidr": null, "dnsNameservers": []}, "flat": null}, "region": "RegionUA", "regions": {"RegionUA": {"?": {"type": "<email address hidden>", "id": "b59c490c1b6b453cb0e981bb0f84f944", "name": null, "metadata": null}, "name": "RegionUA", "defaultNetworks": {"environment": {"?": {"type": "<email address hidden>", "id": "dd4a38ccb7164959908a373a58e32170", "name": null, "metadata": null, "dependencies": {"onDestruction": [{"subscriber": "b59c490c1b6b453cb0e981bb0f84f944", "handler": null}]}}, "regionName": "RegionUA", "port_security_disable": null, "name": "quick-env-1-network", "ipVersion": 4, "externalRouterId": null, "autoUplink": true, "autogenerateSubnet": true, "openstackId": null, "subnetCidr": null, "dnsNameservers": []}, "flat": null}}, "": "b59c490c1b6b453cb0e981bb0f84f944"}}, "Attributes": [["b59c490c1b6b453cb0e981bb0f84f944", "io.murano.CloudRegion", "generatedStackName", "RegionUA-xlnuok7kqvju71"], ["ea6e7f17-1de9-43b2-8e03-01f170622556", "cloud.openstack.CirrOS", "generatedHeatStackName", "tbxabk7kqvlum2_c00b9f7b948f4aec9fe60a6f2e9ad248"]], "SystemData": {"TrustId": "*** SANITIZED ***", "Packages": {"cloud.openstack.CirrOS": ["0.0.0"]}}, "project_id": "71925f4091714bb69b4c8c2218e92a43", "user_id": "baeb2edc90024f1daf5f6b3a1ea192b1"}}
Hi, Thanks for report the bug, could you please paste the murano config?