From 109ccb1ad94af3509b028ea8611311fa5ddf7588 Mon Sep 17 00:00:00 2001 From: Matthias Runge Date: Wed, 13 Feb 2013 10:05:03 +0100 Subject: [PATCH] Fix a TypeError when working in a Folsom env. Fixes bug 1121975 Change-Id: I6b4482e9efd1332f8969c54f68a365f6b48d8e04 --- openstack_dashboard/api/keystone.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/openstack_dashboard/api/keystone.py b/openstack_dashboard/api/keystone.py index c59f92e69..8ebe75417 100644 --- a/openstack_dashboard/api/keystone.py +++ b/openstack_dashboard/api/keystone.py @@ -21,6 +21,7 @@ import logging import urlparse +from pkg_resources import get_distribution from django.conf import settings from django.utils.translation import ugettext_lazy as _ @@ -115,10 +116,18 @@ def keystoneclient(request, admin=False): endpoint = _get_endpoint_url(request, endpoint_type) insecure = getattr(settings, 'OPENSTACK_SSL_NO_VERIFY', False) LOG.debug("Creating a new keystoneclient connection to %s." % endpoint) - conn = keystone_client.Client( - token=user.token.id, endpoint=endpoint, - original_ip=request.environ.get('REMOTE_ADDR', ''), - insecure=insecure) + + # TODO: to be removed in H release + kcversion = get_distribution("python-keystoneclient").version + if kcversion >= '0.2.0': + conn = keystone_client.Client( + token=user.token.id, endpoint=endpoint, + original_ip=request.environ.get('REMOTE_ADDR', ''), + insecure=insecure) + else: + conn = keystone_client.Client( + token=user.token.id, endpoint=endpoint, + insecure=insecure) setattr(request, cache_attr, conn) return conn