From 27b62a363e923aaa056099eadc5f45d7cfb79ee0 Mon Sep 17 00:00:00 2001 From: Brian Lamar Date: Mon, 25 Mar 2013 13:19:26 -0400 Subject: [PATCH] Allow keystoneclient to work with older keystone installs Older keystone installs may return 501 for GET / instead of 300 like today. We should be able to assume that if 501 is returned the server will support v2.0 only. Fixes bug 1159911 Change-Id: If264840d8678a490264f1bdb62f1b51c362619e1 --- keystoneclient/middleware/auth_token.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/keystoneclient/middleware/auth_token.py b/keystoneclient/middleware/auth_token.py index 694089c9a..f86359fd2 100644 --- a/keystoneclient/middleware/auth_token.py +++ b/keystoneclient/middleware/auth_token.py @@ -410,7 +410,10 @@ class AuthProtocol(object): def _get_supported_versions(self): versions = [] response, data = self._json_request('GET', '/') - if response.status != 300: + if response.status == 501: + self.LOG.warning("Old keystone installation found...assuming v2.0") + versions.append("v2.0") + elif response.status != 300: self.LOG.error('Unable to get version info from keystone: %s' % response.status) raise ServiceError('Unable to get version info from keystone')