Bug 1433905
Summary: | Heat should specify precisely where the parse error occurred | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Udi Kalifon <ukalifon> | ||||||
Component: | openstack-heat | Assignee: | Rabi Mishra <ramishra> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Ronnie Rasouli <rrasouli> | ||||||
Severity: | low | Docs Contact: | |||||||
Priority: | high | ||||||||
Version: | 10.0 (Newton) | CC: | jpichon, mburns, ramishra, rhel-osp-director-maint, sbaker, shardy, srevivo, tvignaud, zbitter | ||||||
Target Milestone: | rc | Keywords: | Triaged, ZStream | ||||||
Target Release: | 12.0 (Pike) | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | openstack-heat-9.0.0-0.20170706121153.bdfe16c.el7ost | Doc Type: | If docs needed, set a value | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2017-12-13 21:18:38 UTC | Type: | Bug | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Created attachment 1264739 [details]
error message
It looks like when a validation error occurs in a nested stack we're not including information about which nested stack it's in. Other than that, the message is pretty clear: ERROR: Failed to validate: Failed to validate: resources[0]: Error parsing template: while parsing a block collection in "<unicode string>", line 83, column 13: - ^ expected <block end>, but found '?' in "<unicode string>", line 102, column 13: members: ^ It's at line 102, column 13 of some template, which is resource "0" in its parent stack (so it's likely a member of a ResourceGroup). We don't know which template, but we do know that line says "members:", and also what line 83 says. Creating the overcloud normally works, so it's likely that one of the customised templates is the culprit. In this case it's serviceapi.yaml - there should be an extra two spaces at the beginning of line 102. Verified in openstack-heat-engine-9.0.1-0.20171023060845.be1e2e9.el7ost.noarch The error message now contains the file name where the parse error occurred: Error parsing template http://192.168.24.1:8080/v1/AUTH_c288d80d9b4646cb872d67109626440c/overcloud/user-files/home/stack/nic-configs/compute.yaml while parsing a block collection\n in "<unicode string>", line 71, column 13: Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2017:3462 |
Created attachment 1264738 [details] customized keystone role and environment files Description of problem: I'm trying to deploy in a virtual environment with OSP10. I am using the default templates with a customized roles_data.yaml (I have a separated keystone role there and a serviceapi role) and network isolation. Deployment fails with a very long error message (see attached text file). It says "Error parsing template" but it doesn't say exactly where and I am stuck with it. The deployment command that was used is: openstack overcloud deploy --templates -r roles_data.yaml --neutron-network-type vxlan --neutron-tunnel-types vxlan,gre --ntp-server clock.redhat.com -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml -e network-environment.yaml See also attached tgz file with the roles data and network environment files. Version-Release number of selected component (if applicable): openstack-heat-engine-7.0.2-1.el7ost.noarch openstack-heat-templates-0-0.11.1e6015dgit.el7ost.noarch python-heatclient-1.5.0-1.el7ost.noarch How reproducible: Steps to Reproduce: 1. Use the attached tgz which contains the network environment and custom roles_data.yaml. 2. Run the deployment command from above. Actual results: Error parsing template Expected results: The error is not specific enough. I can't guess where the problem is and I'm stuck the whole day on it.