Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1433905 - Heat should specify precisely where the parse error occurred
Heat should specify precisely where the parse error occurred
Status: CLOSED ERRATA
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-heat (Show other bugs)
10.0 (Newton)
Unspecified Unspecified
high Severity low
: rc
: 12.0 (Pike)
Assigned To: Rabi Mishra
Ronnie Rasouli
: Triaged, ZStream
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-03-20 07:04 EDT by Udi
Modified: 2018-02-05 14:04 EST (History)
9 users (show)

See Also:
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 16:18:38 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
customized keystone role and environment files (3.86 KB, application/x-gzip)
2017-03-20 07:04 EDT, Udi
no flags Details
error message (4.15 KB, text/plain)
2017-03-20 07:06 EDT, Udi
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Launchpad 1684354 None None None 2017-04-20 00:48 EDT
Launchpad 1686360 None None None 2017-04-26 16:31 EDT
OpenStack gerrit 458499 None None None 2017-04-20 10:13 EDT
Red Hat Product Errata RHEA-2017:3462 normal SHIPPED_LIVE Red Hat OpenStack Platform 12.0 Enhancement Advisory 2018-02-15 20:43:25 EST

  None (edit)
Description Udi 2017-03-20 07:04:23 EDT
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.
Comment 1 Udi 2017-03-20 07:06 EDT
Created attachment 1264739 [details]
error message
Comment 2 Zane Bitter 2017-03-20 13:57:35 EDT
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.
Comment 6 Udi 2017-11-19 05:57:06 EST
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:
Comment 9 errata-xmlrpc 2017-12-13 16:18:38 EST
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

Note You need to log in before you can comment on or make changes to this bug.