Cinder and glance client have endpoint selection issues
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance Client |
New
|
Undecided
|
Unassigned | ||
openstack-ansible |
Invalid
|
Undecided
|
Unassigned | ||
python-cinderclient |
New
|
Undecided
|
Unassigned | ||
python-keystoneclient |
Invalid
|
Undecided
|
Unassigned |
Bug Description
The cinder and glance client past 10.1.2 have endpoint selection issues and issues using the right protocol when using HTTPS and selecting publicURL endpoints.
The issue can be reproduced if we set OS_ENDPOINT_TYPE to publicURL and OS_AUTH_URL to the public keystone URL while using the HTTPS protocol.
The glance and cinder client seem to use the the href from the links array
DEBUG:keystonec
DEBUG:keystonec
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-
DEBUG:keystonec
ERROR: Unable to establish connection to http://<ip>:5000/
I have not found an upstream issue yet but I suspect that either X-FORWARDED-PROTO is needed to help the keystone middleware selecting the protocol or we need to overwrite public_endpoint inside keystone.conf
Not working :
python-
python-
Working :
python-
python-
Changed in openstack-ansible: | |
status: | New → Opinion |
status: | Opinion → Incomplete |
summary: |
- Juno: cinder and glance client have endpoint selection issues + Cinder and glance client have endpoint selection issues |
This happens here independently of selecting https or endpoint type. However I call cinder, it ends up requesting tokens from what I suspect is the catalog entry of keystone instead of using os-auth-url
./bin/cinder --debug --os-auth-url=http:// example- front.com/ v2.0 list lient.session: REQ: curl -g -i -X GET http:// example- front.com/ v2.0 -H "Accept: application/json" -H "User-Agent: python- keystoneclient" lient.session: RESP: [200] content-length: 615 vary: X-Auth-Token keep-alive: timeout=5, max=100 server: Apache/2.4.7 (Ubuntu) connection: Keep-Alive date: Fri, 02 Oct 2015 12:55:19 GMT content-type: application/json x-distribution: Ubuntu 17T00:00: 00Z", "media-types": [{"base": "application/json", "type": "application/ vnd.openstack. identity- v2.0+json" }, {"base": "application/xml", "type": "application/ vnd.openstack. identity- v2.0+xml" }], "id": "v2.0", "links": [{"href": "http:// internal. ip.address: 5000/v2. 0/", "rel": "self"}, {"href": "http:// docs.openstack. org/api/ openstack- identity- service/ 2.0/content/", "type": "text/html", "rel": "describedby"}, {"href": "http:// docs.openstack. org/api/ openstack- identity- service/ 2.0/identity- dev-guide- 2.0.pdf", "type": "application/pdf", "rel": "describedby"}]}}
DEBUG:keystonec
DEBUG:keystonec
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-
DEBUG:keystonec lient.auth. identity. v2:Making authentication request to http:// internal. ip.address: 5000/v2. 0/tokens
^C... terminating cinder client
Cinder is installed via pip:
./bin/cinder --version
1.4.0