Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Current version of websocket-client in PyPi breaks bundletester #108
Comments
|
I'm +1 on pinning until we have time to find a "real" fix. I'll make a new release. |
tvansteenburgh
self-assigned this
Jun 20, 2017
added a commit
that referenced
this issue
Jun 20, 2017
|
v0.12.2 is now on pypi, with websocket-client pinned. Leave this bug open until we make a real fix. |
simonklb
commented
Jun 27, 2017
•
|
jujuclient also installs websocket-client, so people that installs (from pypi) for example juju-deployer will also hit the same bug |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
thedac commentedJun 20, 2017
websocket-client 0.42.1 (current in PyPi) breaks bundletester (and/or jujuclient):
Traceback (most recent call last):
File "/home/thedac/dev/keystone/.tox/func27/bin/bundletester", line 11, in
sys.exit(entrypoint())
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/bundletester/tester.py", line 166, in entrypoint
status = main()
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/bundletester/tester.py", line 155, in main
[report.emit(result) for result in run()]
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/bundletester/runner.py", line 142, in call
bootstrapped = self.builder.bootstrap()
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/bundletester/builder.py", line 57, in bootstrap
self.environment.connect()
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/deployer/env/go.py", line 78, in connect
self.client = self.client_class.connect(self.name)
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/jujuclient/environment.py", line 87, in connect
return connector().run(cls, env_name)
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/jujuclient/connector.py", line 56, in run
cert_path, data.get('environ-uuid'))
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/jujuclient/connector.py", line 64, in connect_env
env = cls(endpoint, name=name, ca_cert=cert_path, env_uuid=env_uuid)
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/jujuclient/juju2/environment.py", line 15, in init
super(Environment, self).init(*args, **kw)
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/jujuclient/environment.py", line 41, in init
endpoint, self._ca_cert)
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/jujuclient/connector.py", line 99, in connect_socket
endpoint, origin=endpoint, sslopt=sslopt)
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/websocket/_core.py", line 487, in create_connection
websock.connect(url, **options)
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/websocket/_core.py", line 211, in connect
options.pop('socket', None))
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/websocket/_http.py", line 77, in connect
sock = _ssl_socket(sock, options.sslopt, hostname)
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/websocket/_http.py", line 182, in _ssl_socket
sock = _wrap_sni_socket(sock, sslopt, hostname, check_hostname)
File "/home/thedac/dev/keystone/.tox/func27/local/lib/python2.7/site-packages/websocket/_http.py", line 160, in _wrap_sni_socket
server_hostname=hostname,
File "/usr/lib/python2.7/ssl.py", line 363, in wrap_socket
_context=self)
File "/usr/lib/python2.7/ssl.py", line 611, in init
self.do_handshake()
File "/usr/lib/python2.7/ssl.py", line 840, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)
Pinning "websocket-client<=0.40.0" in requirements keeps it working.
Can we either add the websocket-client pin to requirements or explore the change in SSL handling?