summaryrefslogtreecommitdiff
path: root/keystoneclient/auth
diff options
context:
space:
mode:
authorBrant Knudson <bknudson@us.ibm.com>2015-07-24 13:16:00 -0500
committerBrant Knudson <bknudson@us.ibm.com>2015-07-26 06:54:22 -0500
commit799e1faa505ac0c62d6db76ad68cdbb2d7148888 (patch)
treefffbceb6e3f3f585f7a2221dcbaa92ec42953ab4 /keystoneclient/auth
parent85b32fcb9d1df1362209c2902768a4de013004cb (diff)
downloadpython-keystoneclient-799e1faa505ac0c62d6db76ad68cdbb2d7148888.tar.gz
Proper deprecation for BaseIdentityPlugin username, password, token_id properties
BaseIdentityPlugin's username, password, and token_id properties weren't properly deprecated since all they had was a comment in the code. Proper deprecation requires use of warnings and documentation. Where the plugins already provide their own properties, the properties need to be un-deprecated. bp deprecations Change-Id: Ic9fce89b8544d8c01f16e8f9c2f9dd2659d03c18
Diffstat (limited to 'keystoneclient/auth')
-rw-r--r--keystoneclient/auth/identity/base.py79
-rw-r--r--keystoneclient/auth/identity/v2.py36
2 files changed, 109 insertions, 6 deletions
diff --git a/keystoneclient/auth/identity/base.py b/keystoneclient/auth/identity/base.py
index f785192..b6ff4ae 100644
--- a/keystoneclient/auth/identity/base.py
+++ b/keystoneclient/auth/identity/base.py
@@ -12,6 +12,7 @@
import abc
import logging
+import warnings
from oslo_config import cfg
import six
@@ -54,13 +55,85 @@ class BaseIdentityPlugin(base.BaseAuthPlugin):
self._endpoint_cache = {}
+ self._username = username
+ self._password = password
+ self._token = token
# NOTE(jamielennox): DEPRECATED. The following should not really be set
# here but handled by the individual auth plugin.
- self.username = username
- self.password = password
- self.token = token
self.trust_id = trust_id
+ @property
+ def username(self):
+ """Deprecated as of the 1.7.0 release and may be removed in the 2.0.0
+ release.
+ """
+
+ warnings.warn(
+ 'username is deprecated as of the 1.7.0 release and may be '
+ 'removed in the 2.0.0 release.', DeprecationWarning)
+
+ return self._username
+
+ @username.setter
+ def username(self, value):
+ """Deprecated as of the 1.7.0 release and may be removed in the 2.0.0
+ release.
+ """
+
+ warnings.warn(
+ 'username is deprecated as of the 1.7.0 release and may be '
+ 'removed in the 2.0.0 release.', DeprecationWarning)
+
+ self._username = value
+
+ @property
+ def password(self):
+ """Deprecated as of the 1.7.0 release and may be removed in the 2.0.0
+ release.
+ """
+
+ warnings.warn(
+ 'password is deprecated as of the 1.7.0 release and may be '
+ 'removed in the 2.0.0 release.', DeprecationWarning)
+
+ return self._password
+
+ @password.setter
+ def password(self, value):
+ """Deprecated as of the 1.7.0 release and may be removed in the 2.0.0
+ release.
+ """
+
+ warnings.warn(
+ 'password is deprecated as of the 1.7.0 release and may be '
+ 'removed in the 2.0.0 release.', DeprecationWarning)
+
+ self._password = value
+
+ @property
+ def token(self):
+ """Deprecated as of the 1.7.0 release and may be removed in the 2.0.0
+ release.
+ """
+
+ warnings.warn(
+ 'token is deprecated as of the 1.7.0 release and may be '
+ 'removed in the 2.0.0 release.', DeprecationWarning)
+
+ return self._token
+
+ @token.setter
+ def token(self, value):
+ """Deprecated as of the 1.7.0 release and may be removed in the 2.0.0
+ release.
+ """
+
+ warnings.warn(
+ 'token is deprecated as of the 1.7.0 release and may be '
+ 'removed in the 2.0.0 release.', DeprecationWarning)
+
+ self._token = value
+
@abc.abstractmethod
def get_auth_ref(self, session, **kwargs):
"""Obtain a token from an OpenStack Identity Service.
diff --git a/keystoneclient/auth/identity/v2.py b/keystoneclient/auth/identity/v2.py
index 3ea74b7..725da3b 100644
--- a/keystoneclient/auth/identity/v2.py
+++ b/keystoneclient/auth/identity/v2.py
@@ -131,8 +131,28 @@ class Password(Auth):
user_id = None
self.user_id = user_id
- self.username = username
- self.password = password
+ self._username = username
+ self._password = password
+
+ @property
+ def username(self):
+ # Override to remove deprecation.
+ return self._username
+
+ @username.setter
+ def username(self, value):
+ # Override to remove deprecation.
+ self._username = value
+
+ @property
+ def password(self):
+ # Override to remove deprecation.
+ return self._password
+
+ @password.setter
+ def password(self, value):
+ # Override to remove deprecation.
+ self._password = value
def get_auth_data(self, headers=None):
auth = {'password': self.password}
@@ -182,7 +202,17 @@ class Token(Auth):
def __init__(self, auth_url, token, **kwargs):
super(Token, self).__init__(auth_url, **kwargs)
- self.token = token
+ self._token = token
+
+ @property
+ def token(self):
+ # Override to remove deprecation.
+ return self._token
+
+ @token.setter
+ def token(self, value):
+ # Override to remove deprecation.
+ self._token = value
def get_auth_data(self, headers=None):
if headers is not None: