Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2743

Resolve errors starting mock KMS servers with Python 3.12

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Component/s: Evergreen Tools
    • Labels:
      None
    • Not Needed

      Summary

      Resolve failures to start mock KMS servers with Python 3.12

      Motivation

      Test failures are reported by multiple driver teams starting the mock KMIP server. Example failures in Node and Java include the tracebacks:

      Traceback (most recent call last):
        File "/data/mci/874b423f0400c073b8557a88f0546518/drivers-evergreen-tools/.evergreen/csfle/kms_kmip_server.py", line 52, in <module>
          main()
        File "/data/mci/874b423f0400c073b8557a88f0546518/drivers-evergreen-tools/.evergreen/csfle/kms_kmip_server.py", line 46, in main
          with server:
        File "/data/mci/874b423f0400c073b8557a88f0546518/drivers-evergreen-tools/.evergreen/csfle/kmstlsvenv/lib/python3.12/site-packages/kmip/services/server/server.py", line 475, in __enter__
          self.start()
        File "/data/mci/874b423f0400c073b8557a88f0546518/drivers-evergreen-tools/.evergreen/csfle/kmstlsvenv/lib/python3.12/site-packages/kmip/services/server/server.py", line 290, in start
          self._socket = ssl.wrap_socket(
                         ^^^^^^^^^^^^^^^
      

      Python 3.12 removed ssl.wrap_socket:

      > Remove the ssl.wrap_socket() function

      PyKMIP uses ssl.wrap_socket(). kms_http_common.py uses ssl.wrap_socket()
       

      Who is the affected end user?

      DBX engineers.

      How does this affect the end user?

      Causes test failures.

      How likely is it that this problem or use case will occur?

      Certain.

      If the problem does occur, what are the consequences and how severe are they?

      Tests fail.

      Is this issue urgent?

      Somewhat. A workaround was applied to skip Python 3.12. But I expect future Python version updates will cause the failures again.

      Is this ticket required by a downstream team?

      No,

      Is this ticket only for tests?

      Yes.

      Acceptance Criteria

      Remove the skip of Python 3.12 added in https://github.com/mongodb-labs/drivers-evergreen-tools/pull/359

            Assignee:
            Unassigned Unassigned
            Reporter:
            kevin.albertson@mongodb.com Kevin Albertson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: