If you specify a rendered environment file name that comes from a j2 template with -e on the command line like so:
openstack overcloud deploy ... -e /path/to/some/environment/my-environment.yaml ...
where /path/to/some/environment/my-environment.yaml comes from /path/to/some/environment/my-environment.j2.yaml, if there is any exception loading the rendered environment you hit this exception block:
where tripleoclient will attempt to rewrite file paths from their absolution location to the new tmp dir location that has been downloaded from swift.
However, this fails with an error with a "No such file or directory" error triggered by this line:
with open(abs_env_path, 'r') as f:
since the the abs_env_path doesn't exist as it was rendered from a template.
In this case, I think we just need to use env_path in that line.
Moving to post; patches have been merged in master and backported in stable/ocata upstream. Now waiting for a new downstream build that would include the fix.
Verified on build 2017-04-20.2
[stack@undercloud-0 ~]$ rpm -q python-tripleoclient
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.