From 73809a98ed63af214ced7d3f51814ca91b122bbe Mon Sep 17 00:00:00 2001 From: Dean Troyer Date: Sat, 18 Feb 2017 15:46:43 -0600 Subject: [PATCH] Remove remaining uses of SDK Proxy.session SDK commit Ie67c240e3caa5e100ce07db3862718195c894748 exposed lingering uses of Proxy.session in OSC. Get rid of them. Change-Id: Icab230f1897a446cf3deb0e3d0550d24e11a0ef3 --- openstackclient/common/quota.py | 36 +------------------ openstackclient/network/client.py | 5 +++ openstackclient/network/v2/floating_ip.py | 4 +-- .../tests/unit/network/v2/fakes.py | 4 +++ 4 files changed, 12 insertions(+), 37 deletions(-) diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py index fa6c576552..afc6195f93 100644 --- a/openstackclient/common/quota.py +++ b/openstackclient/common/quota.py @@ -18,8 +18,6 @@ import itertools import sys -from openstack import exceptions as sdk_exceptions -from openstack.network.v2 import quota as _quota from osc_lib.command import command from osc_lib import utils import six @@ -253,39 +251,7 @@ class ShowQuota(command.ShowOne): project = self._get_project(parsed_args) client = self.app.client_manager.network if parsed_args.default: - # TODO(dtroyer): Remove the top of this if block once the - # fixed SDK QuotaDefault class is the minimum - # required version. This is expected to be - # SDK release 0.9.13 - if hasattr(_quota.QuotaDefault, 'project'): - # hack 0.9.11+ - quotadef_obj = client._get_resource( - _quota.QuotaDefault, - project, - ) - quotadef_obj.base_path = quotadef_obj.base_path % { - 'project': project, - } - try: - network_quota = quotadef_obj.get( - client.session, - requires_id=False, - ) - except sdk_exceptions.NotFoundException as e: - raise sdk_exceptions.ResourceNotFound( - message="No %s found for %s" % - (_quota.QuotaDefault.__name__, project), - details=e.details, - response=e.response, - request_id=e.request_id, - url=e.url, - method=e.method, - http_status=e.http_status, - cause=e.cause, - ) - # end hack-around - else: - network_quota = client.get_quota_default(project) + network_quota = client.get_quota_default(project) else: network_quota = client.get_quota(project) return network_quota diff --git a/openstackclient/network/client.py b/openstackclient/network/client.py index c562058da5..9525b947d0 100644 --- a/openstackclient/network/client.py +++ b/openstackclient/network/client.py @@ -44,6 +44,11 @@ def make_client(instance): LOG.debug('Connection: %s', conn) LOG.debug('Network client initialized using OpenStack SDK: %s', conn.network) + + # NOTE(dtroyer): Horrible ugly hack since we don't actually save + # the connection anywhere yet, so stash it in the + # instance directly from here for other uses + instance.sdk_connection = conn return conn.network diff --git a/openstackclient/network/v2/floating_ip.py b/openstackclient/network/v2/floating_ip.py index 980c41c716..41b208aa3b 100644 --- a/openstackclient/network/v2/floating_ip.py +++ b/openstackclient/network/v2/floating_ip.py @@ -241,7 +241,7 @@ class DeleteFloatingIP(common.NetworkAndComputeDelete): def take_action_network(self, client, parsed_args): (obj, self.ip_cache) = _find_floating_ip( - client.session, + self.app.client_manager.sdk_connection.session, self.ip_cache, self.r, ignore_missing=False, @@ -472,7 +472,7 @@ class ShowFloatingIP(common.NetworkAndComputeShowOne): def take_action_network(self, client, parsed_args): (obj, self.ip_cache) = _find_floating_ip( - client.session, + self.app.client_manager.sdk_connection.session, [], parsed_args.floating_ip, ignore_missing=False, diff --git a/openstackclient/tests/unit/network/v2/fakes.py b/openstackclient/tests/unit/network/v2/fakes.py index 4b266efb42..dcecbeee80 100644 --- a/openstackclient/tests/unit/network/v2/fakes.py +++ b/openstackclient/tests/unit/network/v2/fakes.py @@ -71,6 +71,10 @@ class TestNetworkV2(utils.TestCommand): token=fakes.AUTH_TOKEN, ) + self.app.client_manager.sdk_connection = mock.Mock() + self.app.client_manager.sdk_connection.network = \ + self.app.client_manager.network + self.app.client_manager.identity = ( identity_fakes_v3.FakeIdentityv3Client( endpoint=fakes.AUTH_URL,