From fb28e1a2b80c21ff6a9728654b4d736add810ae1 Mon Sep 17 00:00:00 2001 From: Brant Knudson Date: Fri, 24 Jul 2015 14:45:36 -0500 Subject: [PATCH] Proper deprecation for Dicover.raw_version_data unstable parameter Dicover.raw_version_data()'s unstable parameter wasn't properly deprecated since it was only mentioned in the docstring. Prope deprecation requires use of warnings/debtcollector and documentation. Also, fixed a place where the deprecated function could be used. bp deprecations Change-Id: I42dd7c1831bcfc3c637572eb112353b8760ed8d0 --- keystoneclient/_discover.py | 3 +++ keystoneclient/discover.py | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/keystoneclient/_discover.py b/keystoneclient/_discover.py index 07d0ae6c6..8d6889d1b 100644 --- a/keystoneclient/_discover.py +++ b/keystoneclient/_discover.py @@ -195,6 +195,9 @@ class Discover(object): :raw_status str: The status as provided by the server :rtype: list(dict) """ + if kwargs.pop('unstable', None): + kwargs.setdefault('allow_experimental', True) + kwargs.setdefault('allow_unknown', True) data = self.raw_version_data(**kwargs) versions = [] diff --git a/keystoneclient/discover.py b/keystoneclient/discover.py index 6ead9620c..ff0db6d85 100644 --- a/keystoneclient/discover.py +++ b/keystoneclient/discover.py @@ -191,6 +191,10 @@ class Discover(_discover.Discover): """ return self.raw_version_data(**kwargs) + @removals.removed_kwarg( + 'unstable', + message='Use allow_experimental and allow_unknown instead.', + version='1.7.0', removal_version='2.0.0') def raw_version_data(self, unstable=False, **kwargs): """Get raw version information from URL. @@ -198,8 +202,10 @@ class Discover(_discover.Discover): on the data, so what is returned here will be the data in the same format it was received from the endpoint. - :param bool unstable: (deprecated) equates to setting - allow_experimental and allow_unknown. + :param bool unstable: equates to setting allow_experimental and + allow_unknown. This argument is deprecated as of + the 1.7.0 release and may be removed in the 2.0.0 + release. :param bool allow_experimental: Allow experimental version endpoints. :param bool allow_deprecated: Allow deprecated version endpoints. :param bool allow_unknown: Allow endpoints with an unrecognised status.