Bug 1316200

Summary: OSP director 8 not setting up keystone endpoints correctly for the undercloud
Product: Red Hat OpenStack Reporter: Harry Rybacki <hrybacki>
Component: instack-undercloudAssignee: James Slagle <jslagle>
Status: CLOSED ERRATA QA Contact: Arik Chernetsky <achernet>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.0 (Liberty)CC: achernet, bnemec, dbecker, dmellado, mburns, morazi, rhel-osp-director-maint, sclewis, slinaber
Target Milestone: ga   
Target Release: 8.0 (Liberty)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: instack-undercloud-2.2.6-1.el7ost Doc Type: Bug Fix
Doc Text:
Cause: Previously, there was a trailing slash (/) on the keystone endpoint in the service catalog. Consequence: Services that queries the service catalog for the keystone endpoint and did not allow for an optional trailing slash on the endpoint would fail in different ways. For instance, tempest would fail with a 404 in its log since the url was not constructed correctly: 2016-03-09 09:22:52.020 18640 ERROR tempest Details: {u'message': u'The resource could not be found.', u'code': 404, u'title': u'Not Found'} 2016-03-09 09:22:52.020 18640 ERROR tempest Fix: The keystone endpoint in the service catalog no longer has a trailing slash on the end, which is the correct way to define an endpoint. Result: All services using the keystone endpoint from the service catalog operate as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-07 21:49:09 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:

Description Harry Rybacki 2016-03-09 16:25:40 UTC
Description of problem:

After OSPd deploys an under/overcloud the keystone adminUrl endpoint has a malformed URI.

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

How reproducible:
Easily

Steps to Reproduce:
1. Use director to deploy an under/overcloud
2. ssh into the undercloud as the stack user
3. $ source /home/stack/stackrc
4. $ keystone endpoint-list

Actual results:
+----------------------------------+-----------+---------------------------------------------+---------------------------------------------+----------------------------------------+----------------------------------+
|                id                |   region  |                  publicurl                  |                 internalurl                 |                adminurl                |            service_id            |
+----------------------------------+-----------+---------------------------------------------+---------------------------------------------+----------------------------------------+----------------------------------+
| 14b0ad49e98b40239817e42ab3ba0cc3 | regionOne |            http://192.0.2.1:9696            |            http://192.0.2.1:9696            |         http://192.0.2.1:9696          | 92137b7209ca40788913254c371e87b9 |
... <output omitted> ...
| ec66c507afd74310a761007dc7034531 | regionOne |          http://192.0.2.1:5000/v2.0         |          http://192.0.2.1:5000/v2.0         |      http://192.0.2.1:35357//v2.0      | 488ec1f8aabe4acf9734d4883a53e5e9 |
+--------

Expected results:
+----------------------------------+-----------+---------------------------------------------+---------------------------------------------+----------------------------------------+----------------------------------+
|                id                |   region  |                  publicurl                  |                 internalurl                 |                adminurl                |            service_id            |
+----------------------------------+-----------+---------------------------------------------+---------------------------------------------+----------------------------------------+----------------------------------+
| 14b0ad49e98b40239817e42ab3ba0cc3 | regionOne |            http://192.0.2.1:9696            |            http://192.0.2.1:9696            |         http://192.0.2.1:9696          | 92137b7209ca40788913254c371e87b9 |
... <output omitted> ...
| ec66c507afd74310a761007dc7034531 | regionOne |          http://192.0.2.1:5000/v2.0         |          http://192.0.2.1:5000/v2.0         |      http://192.0.2.1:35357/v2.0      | 488ec1f8aabe4acf9734d4883a53e5e9 |
+--------

Additional info:

This issue was noted when attempting generate a tempest config via the config tempest/tools/config_tempest.py tool. 

Note the uri in the GET request at timestamp:2016-03-09 09:22:52.019

[stack@instack tempest]$ tools/config_tempest.py --create --debug identity.uri $OS_AUTH_URL identity.admin_password $OS_PASSWORD
2016-03-09 09:22:51.836 18640 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
2016-03-09 09:22:51.917 18640 INFO __main__ [-] Reading defaults from file '/home/stack/tempest/etc/default-overrides.conf'
2016-03-09 09:22:51.918 18640 DEBUG __main__ [-] Setting [identity] uri = http://192.0.2.1:5000/v2.0 set tools/config_tempest.py:403
2016-03-09 09:22:51.918 18640 DEBUG __main__ [-] Setting [identity] admin_password = ecc0073453a6063ffdf4bdea10319ddb46aa3336 set tools/config_tempest.py:403
2016-03-09 09:22:51.919 18640 DEBUG __main__ [-] Setting [identity] uri_v3 = http://192.0.2.1:5000/v3 set tools/config_tempest.py:403
2016-03-09 09:22:52.003 18640 INFO tempest_lib.common.rest_client [req-3fd6e18a-0b8a-4996-bee8-1f6b1fdad0d1 ] Request (main): 200 POST http://192.0.2.1:5000/v2.0/tokens
2016-03-09 09:22:52.019 18640 INFO tempest_lib.common.rest_client [req-8dd6be79-9d27-4acc-bb29-565b47dcf198 ] Request (main): 404 GET **http://192.0.2.1:35357/v2.0/v2.0/tenants 0.015s**
... <output omitted> ...
2016-03-09 09:22:52.020 18640 ERROR tempest Details: {u'message': u'The resource could not be found.', u'code': 404, u'title': u'Not Found'}
2016-03-09 09:22:52.020 18640 ERROR tempest

Comment 2 Ben Nemec 2016-03-09 17:54:52 UTC
This problem is also present in upstream master.  I've linked a patch that should fix this, which will need to be backported.

Comment 5 errata-xmlrpc 2016-04-07 21:49:09 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.

https://rhn.redhat.com/errata/RHEA-2016-0604.html