summaryrefslogtreecommitdiff
path: root/keystoneclient/discover.py
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2015-11-06 09:09:08 -0500
committerMonty Taylor <mordred@inaugust.com>2015-11-08 19:10:58 -0500
commitd9031c252848d89270a543b67109a46f9c505c86 (patch)
tree9cf1dd936b0fb15e07b24a7b60d42cb0496fdf0a /keystoneclient/discover.py
parent355e47abe1a0e62cf14990571a1b21615a1da997 (diff)
downloadpython-keystoneclient-d9031c252848d89270a543b67109a46f9c505c86.tar.gz
Pull the endpoint from the Session
If the user passes a Session in, we can pull the endpoint to use for discovery from the Session itself, rather than erroring. Closes-Bug: #1513839 Co-Authored-By: Dolph Mathews <dolph.mathews@gmail.com> Change-Id: I82a41c67f80d2494f04739d82b112b7ff1dc4682
Diffstat (limited to 'keystoneclient/discover.py')
-rw-r--r--keystoneclient/discover.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/keystoneclient/discover.py b/keystoneclient/discover.py
index 62aec44..7bc9cbe 100644
--- a/keystoneclient/discover.py
+++ b/keystoneclient/discover.py
@@ -17,6 +17,7 @@ from debtcollector import removals
import six
from keystoneclient import _discover
+from keystoneclient.auth import base
from keystoneclient import exceptions
from keystoneclient.i18n import _
from keystoneclient import session as client_session
@@ -170,11 +171,14 @@ class Discover(_discover.Discover):
elif auth_url:
self._use_endpoint = False
url = auth_url
+ elif session.auth:
+ self._use_endpoint = False
+ url = session.get_endpoint(interface=base.AUTH_INTERFACE)
if not url:
raise exceptions.DiscoveryFailure(
- _('Not enough information to determine URL. Provide either '
- 'auth_url or endpoint'))
+ _('Not enough information to determine URL. Provide'
+ ' either a Session, or auth_url or endpoint'))
self._client_kwargs = kwargs
super(Discover, self).__init__(session, url,