From dd7567d50aac1b6b070cc13d6f77036eb22d0c24 Mon Sep 17 00:00:00 2001 From: yufei Date: Thu, 25 Jan 2018 17:32:55 +0800 Subject: [PATCH] remove re-auth logic for ironic client We are using keystone session to build ironic client now, keystone session support to re-auth for expired token, so we don't need to re-auth again in client wrapper. This logic is removed from nova in Ifbb6e19d4e2811ebaafc4e5899e46b13b4520f62. Change-Id: Id319a01c8745b466aaf77b9087ffb2f3fd1e5533 --- mogan/common/ironic.py | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/mogan/common/ironic.py b/mogan/common/ironic.py index 6c4705f1..20cb5b7b 100644 --- a/mogan/common/ironic.py +++ b/mogan/common/ironic.py @@ -37,10 +37,6 @@ class IronicClientWrapper(object): """Initialise the IronicClientWrapper for use.""" self._cached_client = None - def _invalidate_cached_client(self): - """Tell the wrapper to invalidate the cached ironic-client.""" - self._cached_client = None - def _get_auth_plugin(self): """Load an auth plugin from CONF options.""" # If an auth plugin name is defined in `auth_type` option of [ironic] @@ -115,21 +111,8 @@ class IronicClientWrapper(object): """ retry_on_conflict = kwargs.pop('retry_on_conflict', True) - # NOTE(dtantsur): allow for authentication retry, other retries are - # handled by ironicclient starting with 0.8.0 - for attempt in range(2): - client = self._get_client(retry_on_conflict=retry_on_conflict) - - try: - return self._multi_getattr(client, method)(*args, **kwargs) - except ironic_exc.Unauthorized: - # In this case, the authorization token of the cached - # ironic-client probably expired. So invalidate the cached - # client and the next try will start with a fresh one. - if not attempt: - self._invalidate_cached_client() - LOG.debug("The Ironic client became unauthorized. " - "Will attempt to reauthorize and try again.") - else: - # This code should be unreachable actually - raise + # authentication retry for token expiration is handled in keystone + # session, other retries are handled by ironicclient starting with + # 0.8.0 + client = self._get_client(retry_on_conflict=retry_on_conflict) + return self._multi_getattr(client, method)(*args, **kwargs)