From e9f0d54499047d534f068722868f6a66277870d8 Mon Sep 17 00:00:00 2001 From: Jamie Lennox Date: Wed, 7 Dec 2016 15:19:52 +1100 Subject: [PATCH] Deprecate the generic client The generic client has been around and unused for a really long time. I dont think it works at all and was never updated to support V3 concepts. Realistically we can probably just remove it and noone will notice, but give it a quick deprecation cycle. Closes-Bug: #1647930 Change-Id: Ie68c8995275bcd55aede49d8f4af4e0d172de089 --- keystoneclient/generic/client.py | 6 ++++++ .../notes/removed-generic-client-ff505b2b01bc9302.yaml | 6 ++++++ keystoneclient/tests/unit/generic/test_client.py | 1 + 3 files changed, 13 insertions(+) create mode 100644 keystoneclient/releasenotes/notes/removed-generic-client-ff505b2b01bc9302.yaml diff --git a/keystoneclient/generic/client.py b/keystoneclient/generic/client.py index 6d048026c..2f1ffca41 100644 --- a/keystoneclient/generic/client.py +++ b/keystoneclient/generic/client.py @@ -15,6 +15,7 @@ import logging +from debtcollector import removals from six.moves.urllib import parse as urlparse from keystoneclient import exceptions @@ -25,6 +26,11 @@ from keystoneclient.i18n import _, _LE _logger = logging.getLogger(__name__) +# NOTE(jamielennox): To be removed after Pike. +@removals.removed_class('keystoneclient.generic.client.Client', + message='Use keystoneauth discovery', + version='3.9.0', + removal_version='4.0.0') class Client(httpclient.HTTPClient): """Client for the OpenStack Keystone pre-version calls API. diff --git a/keystoneclient/releasenotes/notes/removed-generic-client-ff505b2b01bc9302.yaml b/keystoneclient/releasenotes/notes/removed-generic-client-ff505b2b01bc9302.yaml new file mode 100644 index 000000000..61b9d17ac --- /dev/null +++ b/keystoneclient/releasenotes/notes/removed-generic-client-ff505b2b01bc9302.yaml @@ -0,0 +1,6 @@ +--- +deprecations: + - Deprecate the `keystoneclient.generic` client. This client used to be able + to determine available API versions and some basics around installed + extensions however the APIs were never upgraded for the v3 API. It doesn't + seem to be used in the openstack ecosystem. diff --git a/keystoneclient/tests/unit/generic/test_client.py b/keystoneclient/tests/unit/generic/test_client.py index a3690fb0c..ffd3a5207 100644 --- a/keystoneclient/tests/unit/generic/test_client.py +++ b/keystoneclient/tests/unit/generic/test_client.py @@ -58,6 +58,7 @@ class ClientDiscoveryTests(utils.TestCase): def test_discover_extensions_v2(self): self.requests_mock.get("%s/extensions" % V2_URL, text=EXTENSION_LIST) # Creating a HTTPClient not using session is deprecated. + # creating a generic client at all is deprecated. with self.deprecations.expect_deprecations_here(): extensions = client.Client().discover_extensions(url=V2_URL) self.assertIn(EXTENSION_ALIAS_FOO, extensions)