← Back to team overview

ubuntu-translations-coordinators team mailing list archive

[Bug 1834565] [NEW] python 3.7: wrap_socket() got an unexpected keyword argument '_context'

 

You have been subscribed to a public bug:

[Impact]
Unable to enable TLS termination of any endpoints for OpenStack with Python 3.7.

[Test Case]
sudo apt install python3-eventlet
python3 << EOF
import eventlet
eventlet.monkey_patch()

import socket
import ssl

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
wrappedSocket = ssl.wrap_socket(sock)
EOF

Traceback (most recent call last):
  File "<stdin>", line 8, in <module>
  File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 403, in wrap_socket
    return GreenSSLSocket(sock, *a, **kw)
  File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 80, in __init__
    *args, **kw
  File "/usr/lib/python3.7/ssl.py", line 1222, in wrap_socket
    suppress_ragged_eofs=suppress_ragged_eofs
  File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 426, in wrap_socket
    return GreenSSLSocket(sock, *a, _context=self, **kw)
  File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 80, in __init__
    *args, **kw
TypeError: wrap_socket() got an unexpected keyword argument '_context'

[Regression Potential]
Low; codepaths are all Python 3.7 specific due to internal changes in the SSL implementation.

[Original bug report]
In an SSL enabled OpenStack Stein deploy, deployed on Disco, the cinder-scheduler service is crashing with the below stacktrace:

2019-06-27 18:35:07.593 5427 WARNING cinder.scheduler.host_manager [req-9c5d17cd-1414-482a-bfc9-a6bef2369637 - - - - -] volume service is down. (host: juju-20eff5-mojo-0-7@LVM)
2019-06-27 18:35:07.594 5427 WARNING cinder.scheduler.host_manager [req-9c5d17cd-1414-482a-bfc9-a6bef2369637 - - - - -] volume service is down. (host: cinder@cinder-ceph)
2019-06-27 18:35:07.610 5427 INFO cinder.rpc [req-9c5d17cd-1414-482a-bfc9-a6bef2369637 - - - - -] Automatically selected cinder-volume objects version 1.37 as minimum service version.
2019-06-27 18:35:07.619 5427 INFO cinder.rpc [req-9c5d17cd-1414-482a-bfc9-a6bef2369637 - - - - -] Automatically selected cinder-volume RPC version 3.16 as minimum service version.
2019-06-27 18:35:07.638 5427 INFO cinder.rpc [req-9c5d17cd-1414-482a-bfc9-a6bef2369637 - - - - -] Automatically selected cinder-scheduler objects version 1.37 as minimum service version.
2019-06-27 18:35:07.647 5427 INFO cinder.rpc [req-9c5d17cd-1414-482a-bfc9-a6bef2369637 - - - - -] Automatically selected cinder-scheduler RPC version 3.11 as minimum service version.
2019-06-27 18:35:07.702 5427 WARNING oslo_config.cfg [req-9c5d17cd-1414-482a-bfc9-a6bef2369637 - - - - -] Deprecated: Option "auth_uri" from group "keystone_authtoken" is deprecated for removal (The auth_uri option is deprecated in favor of www_authenticate_uri and will be removed in the S  release.).  Its value may be silently ignored in the future.
2019-06-27 18:35:07.703 5427 WARNING oslo_config.cfg [req-9c5d17cd-1414-482a-bfc9-a6bef2369637 - - - - -] Deprecated: Option "signing_dir" from group "keystone_authtoken" is deprecated for removal (PKI token format is no longer supported.).  Its value may be silently ignored in the future.
2019-06-27 18:35:07.705 5427 WARNING oslo_config.cfg [req-9c5d17cd-1414-482a-bfc9-a6bef2369637 - - - - -] Deprecated: Option "auth_uri" from group "keystone_authtoken" is deprecated. Use option "www_authenticate_uri" from group "keystone_authtoken".
2019-06-27 18:35:07.726 5427 INFO cinder.service [-] Starting cinder-scheduler node (version 14.0.0)
2019-06-27 18:35:07.736 5427 INFO cinder.manager [req-e208c3e5-83e5-4c5b-85a3-1f5e09c86da9 - - - - -] Initiating service 4 cleanup
2019-06-27 18:35:07.745 5427 INFO cinder.manager [req-e208c3e5-83e5-4c5b-85a3-1f5e09c86da9 - - - - -] Service 4 cleanup completed.
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service [req-e208c3e5-83e5-4c5b-85a3-1f5e09c86da9 - - - - -] Error starting thread.: TypeError: wrap_socket() got an unexpected keyword argument '_context'
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service Traceback (most recent call last):
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_service/service.py", line 796, in run_service
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     service.start()
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/cinder/service.py", line 236, in start
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     self.rpcserver.start()
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/server.py", line 270, in wrapper
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     log_after, timeout_timer)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/server.py", line 190, in run_once
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     post_fn = fn()
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/server.py", line 269, in <lambda>
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     states[state].run_once(lambda: fn(self, *args, **kwargs),
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/server.py", line 414, in start
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     self.listener = self._create_listener()
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/rpc/server.py", line 151, in _create_listener
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     return self.transport._listen(self._target, 1, None)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/transport.py", line 143, in _listen
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     batch_timeout)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 652, in listen
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     conn = self._get_connection(rpc_common.PURPOSE_LISTEN)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 559, in _get_connection
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     purpose=purpose)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/_drivers/common.py", line 407, in __init__
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     self.connection = connection_pool.create(purpose)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/_drivers/pool.py", line 144, in create
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     return self.connection_cls(self.conf, self.url, purpose)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/_drivers/impl_rabbit.py", line 531, in __init__
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     self.ensure_connection()
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/oslo_messaging/_drivers/impl_rabbit.py", line 646, in ensure_connection
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     self.connection.ensure_connection(errback=on_error)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/kombu/connection.py", line 405, in ensure_connection
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     callback)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/kombu/utils/functional.py", line 332, in retry_over_time
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     return fun(*args, **kwargs)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/kombu/connection.py", line 261, in connect
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     return self.connection
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/kombu/connection.py", line 802, in connection
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     self._connection = self._establish_connection()
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/kombu/connection.py", line 757, in _establish_connection
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     conn = self.transport.establish_connection()
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     conn.connect()
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/amqp/connection.py", line 307, in connect
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     self.transport.connect()
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/amqp/transport.py", line 83, in connect
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     self.socket_settings, self.read_timeout, self.write_timeout,
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/amqp/transport.py", line 187, in _init_socket
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     self._setup_transport()
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/amqp/transport.py", line 302, in _setup_transport
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     self.sock = self._wrap_socket(self.sock, **self.sslopts)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/amqp/transport.py", line 309, in _wrap_socket
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     return self._wrap_socket_sni(sock, **sslopts)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/amqp/transport.py", line 344, in _wrap_socket_sni
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     sock = ssl.wrap_socket(**opts)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 403, in wrap_socket
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     return GreenSSLSocket(sock, *a, **kw)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 80, in __init__
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     *args, **kw
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3.7/ssl.py", line 1222, in wrap_socket
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     suppress_ragged_eofs=suppress_ragged_eofs
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 426, in wrap_socket
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     return GreenSSLSocket(sock, *a, _context=self, **kw)
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service   File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 80, in __init__
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service     *args, **kw
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service TypeError: wrap_socket() got an unexpected keyword argument '_context'
2019-06-27 18:35:07.776 5427 ERROR oslo_service.service

Additionally, charm-neutron-gateway has the same stacktrace in the
mentioned services.

** Affects: ubuntu-translations
     Importance: Undecided
         Status: Invalid

** Affects: cloud-archive
     Importance: High
         Status: Fix Committed

** Affects: cloud-archive/stein
     Importance: High
         Status: Fix Committed

** Affects: cloud-archive/train
     Importance: High
         Status: Fix Released

** Affects: eventlet
     Importance: Unknown
         Status: Unknown

** Affects: python-eventlet (Ubuntu)
     Importance: High
         Status: Fix Released

** Affects: python-eventlet (Ubuntu Disco)
     Importance: High
     Assignee: James Page (james-page)
         Status: Fix Committed

** Affects: python-eventlet (Ubuntu Eoan)
     Importance: High
         Status: Fix Released


** Tags: removal-candidate verification-needed verification-needed-disco verification-stein-needed
-- 
python 3.7: wrap_socket() got an unexpected keyword argument '_context'
https://bugs.launchpad.net/bugs/1834565
You received this bug notification because you are a member of Ubuntu Translations Coordinators, which is subscribed to Ubuntu Translations.