Bug 1428632 - OpenStack Heat may fail to connect keystone admin API in multi-region environment
Summary: OpenStack Heat may fail to connect keystone admin API in multi-region environ...
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-heat
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
Target Milestone: async
: 10.0 (Newton)
Assignee: Rabi Mishra
QA Contact: Amit Ugol
Depends On: 1418159
Blocks: 1419348
TreeView+ depends on / blocked
Reported: 2017-03-03 00:38 UTC by Zane Bitter
Modified: 2017-05-17 12:21 UTC (History)
8 users (show)

Fixed In Version: openstack-heat-7.0.2-3.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1418159
Last Closed: 2017-05-17 12:21:45 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Launchpad 1661594 0 None None None 2017-03-03 00:38:36 UTC
OpenStack gerrit 430058 0 None MERGED Use region_name when creating keystone client 2020-12-31 07:29:05 UTC
Red Hat Product Errata RHSA-2017:1243 0 normal SHIPPED_LIVE Moderate: openstack-heat security, bug fix, and enhancement update 2017-05-17 16:18:42 UTC

Description Zane Bitter 2017-03-03 00:38:36 UTC
+++ This bug was initially created as a clone of Bug #1418159 +++

Description of problem:
Heat uses Keystone Trust to build a stack as a tenant user. To do so, heat-engine needs connections to a Keystone admin API endpoint.
In multi-region environment, each region may have its own Keystone admin API and Keystone may have multiple endpoint entries. In this case, heat-engine uses the 1st. So, heat-engine in regions without the 1st endpoint tries to connect another region with the 1st. It will fail if there is no route to the endpoint.

Version-Release number of selected component (if applicable):

How reproducible:
100% in regions without the 1st endpoint.

Steps to Reproduce:
1. Register multiple Keystone admin endpoints. The 1st entry should have dummy region name and inaccessible IP address from heat-engine.
2. "heat stack-create <template>"

Actual results:
heat command failed with and error:
ConnectFailure: Unable to establish connection to http://<inaccessbile>:35357/v2.0/OS-TRUST/trusts

Expected results:
heat-engine works properly and the stack creation completed.

Additional info:
The attached patch fixes the problem.

--- Additional comment from Rabi Mishra on 2017-02-03 08:02:00 EST ---

I've raised an upstream bug and put a fix for it.

Comment 3 Amit Ugol 2017-05-16 15:57:04 UTC
There is a consensus to mark as verified.

Comment 5 errata-xmlrpc 2017-05-17 12:21:45 UTC
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.


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