summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Hellmann <doug@doughellmann.com>2017-06-23 13:43:29 -0400
committerDoug Hellmann <doug@doughellmann.com>2017-06-28 12:24:48 -0400
commitd6e936cd14f0954751dfc1b754f08deb166a53bf (patch)
treecf466bb100b5f8a2f1c15c6b29c20a351d216b3d
parent05453b19b26ca86459fff477e84e1b041e98a520 (diff)
downloadpython-glanceclient-d6e936cd14f0954751dfc1b754f08deb166a53bf.tar.gz
add explicit dependency on pyopenssl
The library is used in glanceclient/common/https.py and the documentation build for the API fails without the dependency. Update the error handling so that when OpenSSL reports an error it is converted to a client communication error. Change-Id: I0c0fb3139bb848d0cbaf88ae6a767a730bea74eb Signed-off-by: Doug Hellmann <doug@doughellmann.com>
-rw-r--r--glanceclient/common/http.py5
-rw-r--r--requirements.txt1
2 files changed, 6 insertions, 0 deletions
diff --git a/glanceclient/common/http.py b/glanceclient/common/http.py
index 5b4981e..35ef282 100644
--- a/glanceclient/common/http.py
+++ b/glanceclient/common/http.py
@@ -19,6 +19,7 @@ import socket
from keystoneauth1 import adapter
from keystoneauth1 import exceptions as ksa_exc
+import OpenSSL
from oslo_utils import importutils
from oslo_utils import netutils
import requests
@@ -267,6 +268,10 @@ class HTTPClient(_BaseHTTPClient):
message = ("Error communicating with %(endpoint)s %(e)s" %
{'endpoint': endpoint, 'e': e})
raise exc.CommunicationError(message=message)
+ except OpenSSL.SSL.Error as e:
+ message = ("SSL Error communicating with %(url)s: %(e)s" %
+ {'url': conn_url, 'e': e})
+ raise exc.CommunicationError(message=message)
# log request-id for each api call
request_id = resp.headers.get('x-openstack-request-id')
diff --git a/requirements.txt b/requirements.txt
index c22647d..45fb32d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11,3 +11,4 @@ six>=1.9.0 # MIT
oslo.utils>=3.20.0 # Apache-2.0
oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0
wrapt>=1.7.0 # BSD License
+pyOpenSSL>=0.14 # Apache-2.0