Removed the --no-ssl-compression parameter which is deprecated
--no-ssl-compression is deprecated and no longer used. So, it is removed from the help message. Change-Id: I2b886671a568ed191ee380cf16335ccd9ae85062 Closes-Bug: #1583919
This commit is contained in:
@@ -20,7 +20,7 @@ glance usage
|
|||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
usage: glance [--version] [-d] [-v] [--get-schema] [--no-ssl-compression] [-f]
|
usage: glance [--version] [-d] [-v] [--get-schema] [-f]
|
||||||
[--os-image-url OS_IMAGE_URL]
|
[--os-image-url OS_IMAGE_URL]
|
||||||
[--os-image-api-version OS_IMAGE_API_VERSION]
|
[--os-image-api-version OS_IMAGE_API_VERSION]
|
||||||
[--profile HMAC_KEY] [--key-file OS_KEY] [--ca-file OS_CACERT]
|
[--profile HMAC_KEY] [--key-file OS_KEY] [--ca-file OS_CACERT]
|
||||||
@@ -64,11 +64,6 @@ glance optional arguments
|
|||||||
that generates portions of the help text. Ignored with
|
that generates portions of the help text. Ignored with
|
||||||
API version 1.
|
API version 1.
|
||||||
|
|
||||||
``--no-ssl-compression``
|
|
||||||
**DEPRECATED!** This option is deprecated and not used
|
|
||||||
anymore. SSL compression should be disabled by default
|
|
||||||
by the system SSL library.
|
|
||||||
|
|
||||||
``-f, --force``
|
``-f, --force``
|
||||||
Prevent select actions from requesting user
|
Prevent select actions from requesting user
|
||||||
confirmation.
|
confirmation.
|
||||||
|
@@ -24,7 +24,6 @@ from oslo_utils import importutils
|
|||||||
from oslo_utils import netutils
|
from oslo_utils import netutils
|
||||||
import requests
|
import requests
|
||||||
import six
|
import six
|
||||||
import warnings
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import json
|
import json
|
||||||
@@ -146,13 +145,6 @@ class HTTPClient(_BaseHTTPClient):
|
|||||||
self.timeout = float(kwargs.get('timeout', 600))
|
self.timeout = float(kwargs.get('timeout', 600))
|
||||||
|
|
||||||
if self.endpoint.startswith("https"):
|
if self.endpoint.startswith("https"):
|
||||||
compression = kwargs.get('ssl_compression', True)
|
|
||||||
|
|
||||||
if compression is False:
|
|
||||||
# Note: This is not seen by default. (python must be
|
|
||||||
# run with -Wd)
|
|
||||||
warnings.warn('The "ssl_compression" argument has been '
|
|
||||||
'deprecated.', DeprecationWarning)
|
|
||||||
|
|
||||||
if kwargs.get('insecure', False) is True:
|
if kwargs.get('insecure', False) is True:
|
||||||
self.session.verify = False
|
self.session.verify = False
|
||||||
|
@@ -18,17 +18,8 @@ import ssl
|
|||||||
import struct
|
import struct
|
||||||
|
|
||||||
import OpenSSL
|
import OpenSSL
|
||||||
from requests import adapters
|
|
||||||
from requests import compat
|
|
||||||
try:
|
|
||||||
from requests.packages.urllib3 import connectionpool
|
|
||||||
from requests.packages.urllib3 import poolmanager
|
|
||||||
except ImportError:
|
|
||||||
from urllib3 import connectionpool
|
|
||||||
from urllib3 import poolmanager
|
|
||||||
|
|
||||||
|
|
||||||
from oslo_utils import encodeutils
|
|
||||||
import six
|
import six
|
||||||
# NOTE(jokke): simplified transition to py3, behaves like py2 xrange
|
# NOTE(jokke): simplified transition to py3, behaves like py2 xrange
|
||||||
from six.moves import range
|
from six.moves import range
|
||||||
@@ -135,83 +126,6 @@ def to_bytes(s):
|
|||||||
return s
|
return s
|
||||||
|
|
||||||
|
|
||||||
class HTTPSAdapter(adapters.HTTPAdapter):
|
|
||||||
"""This adapter will be used just when ssl compression should be disabled.
|
|
||||||
|
|
||||||
The init method overwrites the default https pool by setting
|
|
||||||
glanceclient's one.
|
|
||||||
"""
|
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
classes_by_scheme = poolmanager.pool_classes_by_scheme
|
|
||||||
classes_by_scheme["glance+https"] = HTTPSConnectionPool
|
|
||||||
super(HTTPSAdapter, self).__init__(*args, **kwargs)
|
|
||||||
|
|
||||||
def request_url(self, request, proxies):
|
|
||||||
# NOTE(flaper87): Make sure the url is encoded, otherwise
|
|
||||||
# python's standard httplib will fail with a TypeError.
|
|
||||||
url = super(HTTPSAdapter, self).request_url(request, proxies)
|
|
||||||
if six.PY2:
|
|
||||||
url = encodeutils.safe_encode(url)
|
|
||||||
return url
|
|
||||||
|
|
||||||
def _create_glance_httpsconnectionpool(self, url):
|
|
||||||
kw = self.poolmanager.connection_pool_kw
|
|
||||||
# Parse the url to get the scheme, host, and port
|
|
||||||
parsed = compat.urlparse(url)
|
|
||||||
# If there is no port specified, we should use the standard HTTPS port
|
|
||||||
port = parsed.port or 443
|
|
||||||
host = parsed.netloc.rsplit(':', 1)[0]
|
|
||||||
pool = HTTPSConnectionPool(host, port, **kw)
|
|
||||||
|
|
||||||
with self.poolmanager.pools.lock:
|
|
||||||
self.poolmanager.pools[(parsed.scheme, host, port)] = pool
|
|
||||||
|
|
||||||
return pool
|
|
||||||
|
|
||||||
def get_connection(self, url, proxies=None):
|
|
||||||
try:
|
|
||||||
return super(HTTPSAdapter, self).get_connection(url, proxies)
|
|
||||||
except KeyError:
|
|
||||||
# NOTE(sigamvirus24): This works around modifying a module global
|
|
||||||
# which fixes bug #1396550
|
|
||||||
# The scheme is most likely glance+https but check anyway
|
|
||||||
if not url.startswith('glance+https://'):
|
|
||||||
raise
|
|
||||||
|
|
||||||
return self._create_glance_httpsconnectionpool(url)
|
|
||||||
|
|
||||||
def cert_verify(self, conn, url, verify, cert):
|
|
||||||
super(HTTPSAdapter, self).cert_verify(conn, url, verify, cert)
|
|
||||||
conn.ca_certs = verify[0]
|
|
||||||
conn.insecure = verify[1]
|
|
||||||
|
|
||||||
|
|
||||||
class HTTPSConnectionPool(connectionpool.HTTPSConnectionPool):
|
|
||||||
"""A replacement for the default HTTPSConnectionPool.
|
|
||||||
|
|
||||||
HTTPSConnectionPool will be instantiated when a new
|
|
||||||
connection is requested to the HTTPSAdapter. This
|
|
||||||
implementation overwrites the _new_conn method and
|
|
||||||
returns an instances of glanceclient's VerifiedHTTPSConnection
|
|
||||||
which handles no compression.
|
|
||||||
|
|
||||||
ssl_compression is hard-coded to False because this will
|
|
||||||
be used just when the user sets --no-ssl-compression.
|
|
||||||
"""
|
|
||||||
|
|
||||||
scheme = 'glance+https'
|
|
||||||
|
|
||||||
def _new_conn(self):
|
|
||||||
self.num_connections += 1
|
|
||||||
return VerifiedHTTPSConnection(host=self.host,
|
|
||||||
port=self.port,
|
|
||||||
key_file=self.key_file,
|
|
||||||
cert_file=self.cert_file,
|
|
||||||
cacert=self.ca_certs,
|
|
||||||
insecure=self.insecure,
|
|
||||||
ssl_compression=False)
|
|
||||||
|
|
||||||
|
|
||||||
class OpenSSLConnectionDelegator(object):
|
class OpenSSLConnectionDelegator(object):
|
||||||
"""An OpenSSL.SSL.Connection delegator.
|
"""An OpenSSL.SSL.Connection delegator.
|
||||||
|
|
||||||
|
@@ -155,14 +155,6 @@ class OpenStackImagesShell(object):
|
|||||||
'of schema that generates portions of the '
|
'of schema that generates portions of the '
|
||||||
'help text. Ignored with API version 1.')
|
'help text. Ignored with API version 1.')
|
||||||
|
|
||||||
parser.add_argument('--no-ssl-compression',
|
|
||||||
dest='ssl_compression',
|
|
||||||
default=True, action='store_false',
|
|
||||||
help='DEPRECATED! This option is deprecated '
|
|
||||||
'and not used anymore. SSL compression '
|
|
||||||
'should be disabled by default by the '
|
|
||||||
'system SSL library.')
|
|
||||||
|
|
||||||
parser.add_argument('-f', '--force',
|
parser.add_argument('-f', '--force',
|
||||||
dest='force',
|
dest='force',
|
||||||
default=False, action='store_true',
|
default=False, action='store_true',
|
||||||
@@ -434,7 +426,6 @@ class OpenStackImagesShell(object):
|
|||||||
'cacert': args.os_cacert,
|
'cacert': args.os_cacert,
|
||||||
'cert': args.os_cert,
|
'cert': args.os_cert,
|
||||||
'key': args.os_key,
|
'key': args.os_key,
|
||||||
'ssl_compression': args.ssl_compression
|
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
ks_session = loading.load_session_from_argparse_arguments(args)
|
ks_session = loading.load_session_from_argparse_arguments(args)
|
||||||
|
@@ -109,12 +109,3 @@ class SimpleReadOnlyGlanceClientTest(base.ClientTestBase):
|
|||||||
|
|
||||||
def test_debug_list(self):
|
def test_debug_list(self):
|
||||||
self.glance('--os-image-api-version 2 image-list', flags='--debug')
|
self.glance('--os-image-api-version 2 image-list', flags='--debug')
|
||||||
|
|
||||||
def test_no_ssl_compression(self):
|
|
||||||
# Test deprecating this hasn't broken anything
|
|
||||||
out = self.glance('--os-image-api-version 1 '
|
|
||||||
'--no-ssl-compression image-list')
|
|
||||||
endpoints = self.parser.listing(out)
|
|
||||||
self.assertTableStruct(endpoints, [
|
|
||||||
'ID', 'Name', 'Disk Format', 'Container Format',
|
|
||||||
'Size', 'Status'])
|
|
||||||
|
Reference in New Issue
Block a user