Reviewed: https://review.openstack.org/238419 Committed: https://git.openstack.org/cgit/openstack/django_openstack_auth/commit/?id=58ce9d7edeac81dbd7e7f77efde33c97e8d1e00c Submitter: Jenkins Branch: master
commit 58ce9d7edeac81dbd7e7f77efde33c97e8d1e00c Author: Johannes Grassler <[email protected]> Date: Wed Oct 21 17:43:35 2015 +0200 Add API version to identity endpoint URLs This change adds the Keystone API version to the identity endpoint URL retrieved from Keystone's endpoint list. This is neccessary in Kilo and later, since identity endpoint URLs retrieved from Keystone no longer contain the API version path they used to contain until Juno. See https://bugs.launchpad.net/horizon/+bug/1508421 for a detailed analysis of the problem. Change-Id: Ieff5a6cdd1ad352a9731d46785802e8c36adcdd1 Closes-Bug: 1508421 ** Changed in: django-openstack-auth Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Dashboard (Horizon). https://bugs.launchpad.net/bugs/1508421 Title: Projects dropdown fails due to incomplete Keystone endpoint URL Status in django-openstack-auth: Fix Released Status in OpenStack Dashboard (Horizon): In Progress Bug description: Problem Description =================== The 'Projects' dropdown in our Horizon dashboard (the one on the top left) is empty since we switched to Openstack Kilo. We investigated the issue and found the following error message in horizon.log: AuthorizationFailure: Authorization Failed: The resource could not be found. (HTTP 404) http://10.0.81.10:5000 [You will find a full stack trace in stacktrace.txt in the attached tarball.] Further investigation (see keystone.pcap in the attached tarball for a packet trace) revealed that horizon is trying to access http://10.0.81.10:5000/tokens (as opposed to the correct URL, http://10.0.81.10:5000/v2.0/tokens). We found the problem could be worked around by appending missing versioning information in backend.py (see below), but it should be possible to fix this in a cleaner manner. Environment =========== We are running Openstack Kilo with the Ubuntu Cloud packages, some of them modified locally with backported bugfixes. You will find these packages at https://launchpad.net/~syseleven-platform/+archive/ubuntu/kilo. In particular, we are running the following Horizon package: https://launchpad.net/~syseleven-platform/+archive/ubuntu/kilo Configuration ============= You will find our full Horizon configuration in local_settings.py in the attached tarball. Relevant points: * OPENSTACK_KEYSTONE_URL is http://10.0.81.10:5000/v2.0 * OPENSTACK_API_VERSIONS is configured for Keystone 2.0 * The identity endpoints as reported by Keystone itself do not contain versioning information (the way it is supposed to be as of Kilo). Steps to reproduce ================== * Run Horizon/Kilo (with the Ubuntu Cloud packages or our modified packages; both should exhibit this problem) * Configure the end points and OPENSTACK_KEYSTONE_URL as described under "Configuration" * Log into the web interface. This should yield an empty Projects dropdown list and the stacktrace in stacktrace.txt in /var/log/horizon/horizon.log). Workaround ========== I modified /usr/lib/python2.7/dist-packages/openstack_auth/backend.py to append versioning information to the endpoint URL if it is missing. This can be used to work around the problem in a pinch, but I do not consider it a clean fix. Files ===== I attached a couple of files to illustrate the problem (you will find all of these in horizon-projects-dropdown.tar): backend.py The modified backend.py described under "Workaround" endpoints.txt A list of identity endpoints as reported by Keystone keystone.pcap A packet capture of Horizon's interactions with Keystone local_settings.py Our Horizon configuration stacktrace.txt The stack trace that appears in /var/log/horizon/horizon.log To manage notifications about this bug go to: https://bugs.launchpad.net/django-openstack-auth/+bug/1508421/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

