ExaWorks / SDK

ExaWorks SDK
11 stars 12 forks source link

Error when posting results to sdk dashboard when using conda environment #181

Closed RamonAra209 closed 1 year ago

RamonAra209 commented 1 year ago

When running ci/tests/test.py in a conda environment, the following line https://github.com/ExaWorks/SDK/blob/5095e549632083cefd54b197f2f6d387b20be7e4/ci/tests/test.py#L134

resulted in this error:

requests.exceptions.SSLError: HTTPSConnectionPool(host='sdk.testing.exaworks.org', port=443): 
Max retries exceeded with url: /result (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED]
unsafe legacy renegotiation disabled (_ssl.c:1091)')))

This error does not show up when setting up a virtual environment with python -m venv venv. It seems to be isolated to a conda environments exclusively.

RamonAra209 commented 1 year ago

@mtitov and I were able to find a fix in this Stackoverflow thread:

https://stackoverflow.com/questions/71603314/ssl-error-unsafe-legacy-renegotiation-disabled/72374542#72374542:~:text=import%20requests%0Aimport,ctx))%0A%20%20%20%20return%20session

hategan commented 1 year ago

@RamonAra209, are you running the tests on a LLNL machine?

I suspect that this is due to the LLNL MITM proxy. The conda environment is probably using a newer openssl version which enforces protections agains MITM attacks. Except that here the MITM is by design.

Can you post the output of pip list on both venv and conda?

RamonAra209 commented 1 year ago

@hategan, yes I'm running on an LLNL machine. Here here is the result from pip list:

venv:

Package            Version
------------------ ----------
apache-libcloud    3.7.0
attrs              22.2.0
bcrypt             4.0.1
certifi            2022.12.7
cffi               1.15.1
charset-normalizer 3.1.0
colorama           0.4.6
cryptography       40.0.1
dill               0.3.6
exceptiongroup     1.1.1
globus-sdk         3.18.0
idna               3.4
importlib-metadata 6.1.0
iniconfig          2.0.0
msgpack            1.0.5
netifaces          0.11.0
ntplib             0.4.0
packaging          23.0
paramiko           3.1.0
parse              1.19.0
parsl              2023.3.20
pip                23.0.1
pluggy             1.0.0
psutil             5.9.4
pycparser          2.21
PyJWT              2.6.0
pymongo            3.13.0
PyNaCl             1.5.0
pytest             7.2.2
pytest-tap         3.3
pyzmq              25.0.2
radical.gtod       1.20.1
radical.pilot      1.21.0
radical.saga       1.22.0
radical.utils      1.22.0
regex              2022.10.31
requests           2.28.2
setproctitle       1.3.2
setuptools         40.6.2
six                1.16.0
tap.py             3.1
tblib              1.7.0
tomli              2.0.1
typeguard          2.13.3
types-paramiko     3.0.0.5
types-requests     2.28.11.16
types-six          1.16.21.7
types-urllib3      1.26.25.9
typing_extensions  4.5.0
urllib3            1.26.15
zipp               3.15.0

Conda:

Package            Version
------------------ ---------
apache-libcloud    3.5.1
attrs              22.2.0
bcrypt             3.2.2
brotlipy           0.7.0
certifi            2022.9.24
cffi               1.15.1
charset-normalizer 2.1.1
colorama           0.4.6
cryptography       38.0.2
dill               0.3.6
exceptiongroup     1.1.1
globus-sdk         3.14.0
idna               3.4
importlib-metadata 6.1.0
iniconfig          2.0.0
msgpack            1.0.4
netifaces          0.11.0
ntplib             0.4.0
packaging          23.0
paramiko           2.12.0
parse              1.19.0
parsl              1.2.0
pip                22.3.1
pluggy             1.0.0
psutil             5.9.3
pycparser          2.21
PyJWT              2.6.0
pymongo            3.12.2
PyNaCl             1.5.0
pyOpenSSL          22.1.0
PySocks            1.7.1
pytest             7.2.2
pytest-tap         3.3
pyzmq              24.0.1
radical.gtod       1.16.0
radical.pilot      1.18.0
radical.saga       1.18.0
radical.utils      1.18.1
regex              2022.9.13
requests           2.28.1
setproctitle       1.3.2
setuptools         65.5.1
six                1.16.0
tap.py             3.1
tblib              1.7.0
tomli              2.0.1
typeguard          2.13.3
typing_extensions  4.4.0
urllib3            1.26.11
wheel              0.38.4
zipp               3.15.0