Merge "Fix failure to create glance https connection pool"
This commit is contained in:
@@ -160,15 +160,16 @@ class HTTPSAdapter(adapters.HTTPAdapter):
|
||||
return url
|
||||
|
||||
def _create_glance_httpsconnectionpool(self, url):
|
||||
kw = self.poolmanager.connection_kw
|
||||
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
|
||||
pool = HTTPSConnectionPool(parsed.host, port, **kw)
|
||||
host = parsed.netloc.rsplit(':', 1)[0]
|
||||
pool = HTTPSConnectionPool(host, port, **kw)
|
||||
|
||||
with self.poolmanager.pools.lock:
|
||||
self.poolmanager.pools[(parsed.scheme, parsed.host, port)] = pool
|
||||
self.poolmanager.pools[(parsed.scheme, host, port)] = pool
|
||||
|
||||
return pool
|
||||
|
||||
|
||||
@@ -420,3 +420,19 @@ class TestRequestsIntegration(testtools.TestCase):
|
||||
|
||||
adapter = client.session.adapters.get("glance+https://")
|
||||
self.assertTrue(isinstance(adapter, https.HTTPSAdapter))
|
||||
|
||||
|
||||
class TestHTTPSAdapter(testtools.TestCase):
|
||||
|
||||
def test__create_glance_httpsconnectionpool(self):
|
||||
"""Regression test
|
||||
|
||||
Check that glanceclient's https pool is properly
|
||||
configured without any weird exception.
|
||||
"""
|
||||
url = 'https://127.0.0.1:8000'
|
||||
adapter = https.HTTPSAdapter()
|
||||
try:
|
||||
adapter._create_glance_httpsconnectionpool(url)
|
||||
except Exception:
|
||||
self.fail('Unexpected exception has been raised')
|
||||
|
||||
Reference in New Issue
Block a user