Snowflake-Labs/schemachange

libcrypto issue on Bitbucket pipeline

exper-test opened this issue · 2 comments

We have a bitbucket pipeline where we have been using schema change for about 1 year. We have been getting the following error since October 12th. (We connect to Snowflake with RSA Key.)
Is there any update or changes regarding this?

oscrypto.errors.LibraryNotFoundError: Error detecting the version of libcrypto

Here is the code in bicbucket.yaml

test1:
  - step:
      name: 'Deploy to Test1'
      deployment: test1
      caches:
        - pip
      script:
        - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
        - pip install schemachange
        - schemachange --config-folder CICD/TEST1

I'm getting the same error.
I did some research and found out that this issue occurs due to a combination of the following conditions involving dependencies of the Snowflake Python Connector:

Use of OpenSSL 3.0.10 or later 3.0.x (with x >= 10), and
Use of Python PyPI package oscrypto version 1.3.0 or earlier

Currently, Schema Change uses oscrypto version 1.3.0, so this has to be changed, but I'm not sure where to apply this change.

I found a workaround solution like below.
If you install oscrypto from this link like below before schemachange installation. It's working.

      script:
        - pip install https://github.com/wbond/oscrypto/archive/d5f3437ed24257895ae1edd9e503cfb352e635a8.zip
        - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
        - schemachange --config-folder TEST1

ref: https://community.snowflake.com/s/article/Python-Connector-fails-to-connect-with-LibraryNotFoundError-Error-detecting-the-version-of-libcrypto