Azure / iotedgedev

The Azure IoT Edge Dev Tool greatly simplifies your Azure IoT Edge development process. It has everything you need to get started and helps with your day-to-day Edge development.
https://aka.ms/iotedgedev
Other
160 stars 69 forks source link

[BUG] Installing iotedgedev on ubuntu 20.04 now fails due to 22.1.0 version of pyOpenSSL that has been released yesterday #589

Closed timstokman closed 1 year ago

timstokman commented 1 year ago

Description

The current package fails to install. This appears to be due to the 22.1.0 release of pyOpenSSL yesterday: https://pypi.org/project/pyOpenSSL/#history . It also fails to run after the failed install. If I force the pyOpenSSL version to be 22.0.0 then everything works.

Expected behavior

For iotedgedev to install correctly.

Actual behavior

It fails to install.

Steps to Reproduce

Reproduction on ubuntu 20.04:

~$ pip3 install iotedgedev
Collecting iotedgedev
  Using cached iotedgedev-3.3.5-py3-none-any.whl (51 kB)
Requirement already satisfied: click>=6.0 in /usr/lib/python3/dist-packages (from iotedgedev) (7.0)
Collecting fstrings
  Using cached fstrings-0.1.0-py2.py3-none-any.whl (5.6 kB)
Requirement already satisfied: requests<=2.25.1,>=2.20.0 in /usr/lib/python3/dist-packages (from iotedgedev) (2.22.0)
Collecting bcrypt<=3.1.7
  Using cached bcrypt-3.1.7-cp34-abi3-manylinux1_x86_64.whl (56 kB)
Collecting python-dotenv
  Using cached python_dotenv-0.21.0-py3-none-any.whl (18 kB)
Collecting iotedgehubdev==0.14.14
  Using cached iotedgehubdev-0.14.14-py3-none-any.whl (38 kB)
Collecting applicationinsights==0.11.9
  Using cached applicationinsights-0.11.9-py2.py3-none-any.whl (58 kB)
Collecting azure-cli-core<2.35.0,>=2.34.1
  Using cached azure_cli_core-2.34.1-py3-none-any.whl (179 kB)
Collecting pyyaml>=5.4
  Using cached PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (701 kB)
Collecting docker>=3.7.0
  Using cached docker-6.0.0-py3-none-any.whl (147 kB)
Requirement already satisfied: more-itertools<8.1.0 in /usr/lib/python3/dist-packages (from iotedgedev) (4.2.0)
Processing ./.cache/pip/wheels/2c/1c/b5/6f1b1411615716f6d2b52b9301bfaf032ed5f68d4c7d547be8/commentjson-0.9.0-py3-none-any.whl
Collecting cffi>=1.1
  Using cached cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (442 kB)
Requirement already satisfied: six>=1.4.1 in /usr/lib/python3/dist-packages (from bcrypt<=3.1.7->iotedgedev) (1.14.0)
Collecting docker-compose==1.29.1
  Using cached docker_compose-1.29.1-py2.py3-none-any.whl (114 kB)
Collecting pyOpenSSL>=20.0.1
  Using cached pyOpenSSL-22.1.0-py3-none-any.whl (57 kB)
Processing ./.cache/pip/wheels/2b/f3/d4/2f6fb63766f0479b061d03bab249bbd44f116ae5c73b9f8a24/jsonpath_rw-1.4.0-py3-none-any.whl
Collecting regex
  Using cached regex-2022.9.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (772 kB)
Collecting msrestazure~=0.6.4
  Using cached msrestazure-0.6.4-py2.py3-none-any.whl (40 kB)
Collecting packaging<22.0,>=20.9
  Using cached packaging-21.3-py3-none-any.whl (40 kB)
Requirement already satisfied: cryptography in /usr/lib/python3/dist-packages (from azure-cli-core<2.35.0,>=2.34.1->iotedgedev) (2.8)
Collecting argcomplete~=1.8
  Using cached argcomplete-1.12.3-py2.py3-none-any.whl (38 kB)
Collecting psutil~=5.9
  Using cached psutil-5.9.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (284 kB)
Collecting azure-cli-telemetry==1.0.6.*
  Using cached azure_cli_telemetry-1.0.6-py3-none-any.whl (10 kB)
Collecting paramiko<3.0.0,>=2.0.8
  Using cached paramiko-2.11.0-py2.py3-none-any.whl (212 kB)
Collecting azure-mgmt-core<2,>=1.2.0
  Using cached azure_mgmt_core-1.3.2-py3-none-any.whl (26 kB)
Collecting msal-extensions<0.4,>=0.3.1
  Using cached msal_extensions-0.3.1-py2.py3-none-any.whl (18 kB)
Collecting humanfriendly~=10.0
  Using cached humanfriendly-10.0-py2.py3-none-any.whl (86 kB)
Collecting PyJWT>=2.1.0
  Using cached PyJWT-2.5.0-py3-none-any.whl (20 kB)
Collecting pkginfo>=1.5.0.1
  Using cached pkginfo-1.8.3-py2.py3-none-any.whl (26 kB)
Collecting jmespath
  Using cached jmespath-1.0.1-py3-none-any.whl (20 kB)
Collecting knack~=0.9.0
  Using cached knack-0.9.0-py3-none-any.whl (59 kB)
Collecting msal<2.0.0,>=1.16.0
  Using cached msal-1.19.0-py2.py3-none-any.whl (83 kB)
Collecting urllib3>=1.26.0
  Using cached urllib3-1.26.12-py2.py3-none-any.whl (140 kB)
Collecting websocket-client>=0.32.0
  Using cached websocket_client-1.4.1-py3-none-any.whl (55 kB)
Processing ./.cache/pip/wheels/11/b5/2b/b6896f25d9b272b4f72db3a45a15cb0b7a6e43d7980c936a15/lark_parser-0.7.8-py2.py3-none-any.whl
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Requirement already satisfied: jsonschema<4,>=2.5.1 in /usr/lib/python3/dist-packages (from docker-compose==1.29.1->iotedgehubdev==0.14.14->iotedgedev) (3.2.0)
Processing ./.cache/pip/wheels/1a/58/0d/9916bf3c72e224e038beb88f669f68b61d2f274df498ff87c6/dockerpty-0.4.1-py3-none-any.whl
Collecting texttable<2,>=0.9.0
  Using cached texttable-1.6.4-py2.py3-none-any.whl (10 kB)
Processing ./.cache/pip/wheels/56/ea/58/ead137b087d9e326852a851351d1debf4ada529b6ac0ec4e8c/docopt-0.6.2-py2.py3-none-any.whl
Collecting distro<2,>=1.5.0
  Using cached distro-1.7.0-py3-none-any.whl (20 kB)
Collecting decorator
  Using cached decorator-5.1.1-py3-none-any.whl (9.1 kB)
Collecting ply
  Using cached ply-3.11-py2.py3-none-any.whl (49 kB)
Collecting msrest<2.0.0,>=0.6.0
  Using cached msrest-0.7.1-py3-none-any.whl (85 kB)
Collecting adal<2.0.0,>=0.6.0
  Using cached adal-1.2.7-py2.py3-none-any.whl (55 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
  Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
Collecting portalocker~=1.2
  Using cached portalocker-1.7.1-py2.py3-none-any.whl (10 kB)
Requirement already satisfied: pynacl>=1.0.1 in /usr/lib/python3/dist-packages (from paramiko<3.0.0,>=2.0.8->azure-cli-core<2.35.0,>=2.34.1->iotedgedev) (1.3.0)
Collecting azure-core<2.0.0,>=1.24.0
  Using cached azure_core-1.25.1-py3-none-any.whl (178 kB)
Collecting tabulate
  Using cached tabulate-0.8.10-py3-none-any.whl (29 kB)
Collecting pygments
  Using cached Pygments-2.13.0-py3-none-any.whl (1.1 MB)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from msrest<2.0.0,>=0.6.0->msrestazure~=0.6.4->azure-cli-core<2.35.0,>=2.34.1->iotedgedev) (2019.11.28)
Collecting requests-oauthlib>=0.5.0
  Using cached requests_oauthlib-1.3.1-py2.py3-none-any.whl (23 kB)
Collecting isodate>=0.6.0
  Using cached isodate-0.6.1-py2.py3-none-any.whl (41 kB)
Collecting python-dateutil<3,>=2.1.0
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting typing-extensions>=4.0.1
  Using cached typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/lib/python3/dist-packages (from requests-oauthlib>=0.5.0->msrest<2.0.0,>=0.6.0->msrestazure~=0.6.4->azure-cli-core<2.35.0,>=2.34.1->iotedgedev) (3.1.0)
ERROR: pyopenssl 22.1.0 has requirement cryptography<39,>=38.0.0, but you'll have cryptography 2.8 which is incompatible.
ERROR: docker 6.0.0 has requirement requests>=2.26.0, but you'll have requests 2.22.0 which is incompatible.
ERROR: docker-compose 1.29.1 has requirement PyYAML<6,>=3.10, but you'll have pyyaml 6.0 which is incompatible.
ERROR: docker-compose 1.29.1 has requirement websocket-client<1,>=0.32.0, but you'll have websocket-client 1.4.1 which is incompatible.
ERROR: iotedgehubdev 0.14.14 has requirement docker==5.0.3, but you'll have docker 6.0.0 which is incompatible.
ERROR: iotedgehubdev 0.14.14 has requirement requests>=2.25.1, but you'll have requests 2.22.0 which is incompatible.
Installing collected packages: fstrings, pycparser, cffi, bcrypt, python-dotenv, dockerpty, texttable, websocket-client, pyyaml, docopt, distro, urllib3, pyparsing, packaging, docker, docker-compose, pyOpenSSL, applicationinsights, decorator, ply, jsonpath-rw, regex, iotedgehubdev, requests-oauthlib, typing-extensions, azure-core, isodate, msrest, PyJWT, python-dateutil, adal, msrestazure, argcomplete, psutil, portalocker, azure-cli-telemetry, paramiko, azure-mgmt-core, msal, msal-extensions, humanfriendly, pkginfo, jmespath, tabulate, pygments, knack, azure-cli-core, lark-parser, commentjson, iotedgedev
  WARNING: The script dotenv is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script wsdump is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script distro is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script docker-compose is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script jsonpath.py is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script iotedgehubdev is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script humanfriendly is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script pkginfo is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script tabulate is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script pygmentize is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script iotedgedev is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed PyJWT-2.5.0 adal-1.2.7 applicationinsights-0.11.9 argcomplete-1.12.3 azure-cli-core-2.34.1 azure-cli-telemetry-1.0.6 azure-core-1.25.1 azure-mgmt-core-1.3.2 bcrypt-3.1.7 cffi-1.15.1 commentjson-0.9.0 decorator-5.1.1 distro-1.7.0 docker-6.0.0 docker-compose-1.29.1 dockerpty-0.4.1 docopt-0.6.2 fstrings-0.1.0 humanfriendly-10.0 iotedgedev-3.3.5 iotedgehubdev-0.14.14 isodate-0.6.1 jmespath-1.0.1 jsonpath-rw-1.4.0 knack-0.9.0 lark-parser-0.7.8 msal-1.19.0 msal-extensions-0.3.1 msrest-0.7.1 msrestazure-0.6.4 packaging-21.3 paramiko-2.11.0 pkginfo-1.8.3 ply-3.11 portalocker-1.7.1 psutil-5.9.2 pyOpenSSL-22.1.0 pycparser-2.21 pygments-2.13.0 pyparsing-3.0.9 python-dateutil-2.8.2 python-dotenv-0.21.0 pyyaml-6.0 regex-2022.9.13 requests-oauthlib-1.3.1 tabulate-0.8.10 texttable-1.6.4 typing-extensions-4.3.0 urllib3-1.26.12 websocket-client-1.4.1
~$ .local/bin/iotedgedev
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.12) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.12) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Traceback (most recent call last):
  File ".local/bin/iotedgedev", line 5, in <module>
    from iotedgedev.cli import main
  File "/home/timstokman/.local/lib/python3.8/site-packages/iotedgedev/cli.py", line 16, in <module>
    from .dockercls import Docker
  File "/home/timstokman/.local/lib/python3.8/site-packages/iotedgedev/dockercls.py", line 4, in <module>
    import docker
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/__init__.py", line 2, in <module>
    from .api import APIClient
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/api/__init__.py", line 2, in <module>
    from .client import APIClient
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/api/client.py", line 6, in <module>
    import requests
  File "/usr/lib/python3/dist-packages/requests/__init__.py", line 95, in <module>
    from urllib3.contrib import pyopenssl
  File "/home/timstokman/.local/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
    import OpenSSL.SSL
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import SSL, crypto
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/SSL.py", line 19, in <module>
    from OpenSSL.crypto import (
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/crypto.py", line 3224, in <module>
    utils.deprecated(
TypeError: deprecated() got an unexpected keyword argument 'name'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 72, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 32, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 12, in <module>
    import os, glob, subprocess, os.path, time, pwd, sys, requests_unixsocket
  File "/usr/lib/python3/dist-packages/requests_unixsocket/__init__.py", line 1, in <module>
    import requests
  File "/usr/lib/python3/dist-packages/requests/__init__.py", line 95, in <module>
    from urllib3.contrib import pyopenssl
  File "/home/timstokman/.local/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
    import OpenSSL.SSL
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import SSL, crypto
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/SSL.py", line 19, in <module>
    from OpenSSL.crypto import (
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/crypto.py", line 3224, in <module>
    utils.deprecated(
TypeError: deprecated() got an unexpected keyword argument 'name'

Original exception was:
Traceback (most recent call last):
  File ".local/bin/iotedgedev", line 5, in <module>
    from iotedgedev.cli import main
  File "/home/timstokman/.local/lib/python3.8/site-packages/iotedgedev/cli.py", line 16, in <module>
    from .dockercls import Docker
  File "/home/timstokman/.local/lib/python3.8/site-packages/iotedgedev/dockercls.py", line 4, in <module>
    import docker
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/__init__.py", line 2, in <module>
    from .api import APIClient
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/api/__init__.py", line 2, in <module>
    from .client import APIClient
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/api/client.py", line 6, in <module>
    import requests
  File "/usr/lib/python3/dist-packages/requests/__init__.py", line 95, in <module>
    from urllib3.contrib import pyopenssl
  File "/home/timstokman/.local/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
    import OpenSSL.SSL
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import SSL, crypto
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/SSL.py", line 19, in <module>
    from OpenSSL.crypto import (
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/crypto.py", line 3224, in <module>
    utils.deprecated(
TypeError: deprecated() got an unexpected keyword argument 'name'
~$ .local/bin/iotedgedev
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.12) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.12) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Traceback (most recent call last):
  File ".local/bin/iotedgedev", line 5, in <module>
    from iotedgedev.cli import main
  File "/home/timstokman/.local/lib/python3.8/site-packages/iotedgedev/cli.py", line 16, in <module>
    from .dockercls import Docker
  File "/home/timstokman/.local/lib/python3.8/site-packages/iotedgedev/dockercls.py", line 4, in <module>
    import docker
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/__init__.py", line 2, in <module>
    from .api import APIClient
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/api/__init__.py", line 2, in <module>
    from .client import APIClient
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/api/client.py", line 6, in <module>
    import requests
  File "/usr/lib/python3/dist-packages/requests/__init__.py", line 95, in <module>
    from urllib3.contrib import pyopenssl
  File "/home/timstokman/.local/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
    import OpenSSL.SSL
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import SSL, crypto
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/SSL.py", line 19, in <module>
    from OpenSSL.crypto import (
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/crypto.py", line 3224, in <module>
    utils.deprecated(
TypeError: deprecated() got an unexpected keyword argument 'name'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 72, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 32, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 12, in <module>
    import os, glob, subprocess, os.path, time, pwd, sys, requests_unixsocket
  File "/usr/lib/python3/dist-packages/requests_unixsocket/__init__.py", line 1, in <module>
    import requests
  File "/usr/lib/python3/dist-packages/requests/__init__.py", line 95, in <module>
    from urllib3.contrib import pyopenssl
  File "/home/timstokman/.local/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
    import OpenSSL.SSL
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import SSL, crypto
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/SSL.py", line 19, in <module>
    from OpenSSL.crypto import (
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/crypto.py", line 3224, in <module>
    utils.deprecated(
TypeError: deprecated() got an unexpected keyword argument 'name'

Original exception was:
Traceback (most recent call last):
  File ".local/bin/iotedgedev", line 5, in <module>
    from iotedgedev.cli import main
  File "/home/timstokman/.local/lib/python3.8/site-packages/iotedgedev/cli.py", line 16, in <module>
    from .dockercls import Docker
  File "/home/timstokman/.local/lib/python3.8/site-packages/iotedgedev/dockercls.py", line 4, in <module>
    import docker
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/__init__.py", line 2, in <module>
    from .api import APIClient
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/api/__init__.py", line 2, in <module>
    from .client import APIClient
  File "/home/timstokman/.local/lib/python3.8/site-packages/docker/api/client.py", line 6, in <module>
    import requests
  File "/usr/lib/python3/dist-packages/requests/__init__.py", line 95, in <module>
    from urllib3.contrib import pyopenssl
  File "/home/timstokman/.local/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
    import OpenSSL.SSL
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import SSL, crypto
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/SSL.py", line 19, in <module>
    from OpenSSL.crypto import (
  File "/home/timstokman/.local/lib/python3.8/site-packages/OpenSSL/crypto.py", line 3224, in <module>
    utils.deprecated(
TypeError: deprecated() got an unexpected keyword argument 'name'

But if I ensure the pyOpenSSL version is 22.0.0 then it installs fine:

 ~$ pip3 install pyOpenSSL==22.0.0
Collecting pyOpenSSL==22.0.0
  Using cached pyOpenSSL-22.0.0-py2.py3-none-any.whl (55 kB)
Collecting cryptography>=35.0
  Using cached cryptography-38.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB)
Collecting cffi>=1.12
  Using cached cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (442 kB)
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Installing collected packages: pycparser, cffi, cryptography, pyOpenSSL
Successfully installed cffi-1.15.1 cryptography-38.0.1 pyOpenSSL-22.0.0 pycparser-2.21
~$ pip3 install iotedgedev
Collecting iotedgedev
  Using cached iotedgedev-3.3.5-py3-none-any.whl (51 kB)
Collecting fstrings
  Using cached fstrings-0.1.0-py2.py3-none-any.whl (5.6 kB)
Collecting bcrypt<=3.1.7
  Using cached bcrypt-3.1.7-cp34-abi3-manylinux1_x86_64.whl (56 kB)
Collecting iotedgehubdev==0.14.14
  Using cached iotedgehubdev-0.14.14-py3-none-any.whl (38 kB)
Collecting pyyaml>=5.4
  Using cached PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (701 kB)
Collecting azure-cli-core<2.35.0,>=2.34.1
  Using cached azure_cli_core-2.34.1-py3-none-any.whl (179 kB)
Collecting python-dotenv
  Using cached python_dotenv-0.21.0-py3-none-any.whl (18 kB)
Collecting docker>=3.7.0
  Using cached docker-6.0.0-py3-none-any.whl (147 kB)
Requirement already satisfied: click>=6.0 in /usr/lib/python3/dist-packages (from iotedgedev) (7.0)
Collecting applicationinsights==0.11.9
  Using cached applicationinsights-0.11.9-py2.py3-none-any.whl (58 kB)
Requirement already satisfied: requests<=2.25.1,>=2.20.0 in /usr/lib/python3/dist-packages (from iotedgedev) (2.22.0)
Requirement already satisfied: more-itertools<8.1.0 in /usr/lib/python3/dist-packages (from iotedgedev) (4.2.0)
Processing ./.cache/pip/wheels/2c/1c/b5/6f1b1411615716f6d2b52b9301bfaf032ed5f68d4c7d547be8/commentjson-0.9.0-py3-none-any.whl
Requirement already satisfied: six>=1.4.1 in /usr/lib/python3/dist-packages (from bcrypt<=3.1.7->iotedgedev) (1.14.0)
Requirement already satisfied: cffi>=1.1 in ./.local/lib/python3.8/site-packages (from bcrypt<=3.1.7->iotedgedev) (1.15.1)
Requirement already satisfied: pyOpenSSL>=20.0.1 in ./.local/lib/python3.8/site-packages (from iotedgehubdev==0.14.14->iotedgedev) (22.0.0)
Collecting regex
  Using cached regex-2022.9.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (772 kB)
Processing ./.cache/pip/wheels/2b/f3/d4/2f6fb63766f0479b061d03bab249bbd44f116ae5c73b9f8a24/jsonpath_rw-1.4.0-py3-none-any.whl
Collecting docker-compose==1.29.1
  Using cached docker_compose-1.29.1-py2.py3-none-any.whl (114 kB)
Collecting msrestazure~=0.6.4
  Using cached msrestazure-0.6.4-py2.py3-none-any.whl (40 kB)
Collecting packaging<22.0,>=20.9
  Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting paramiko<3.0.0,>=2.0.8
  Using cached paramiko-2.11.0-py2.py3-none-any.whl (212 kB)
Collecting humanfriendly~=10.0
  Using cached humanfriendly-10.0-py2.py3-none-any.whl (86 kB)
Collecting psutil~=5.9
  Using cached psutil-5.9.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (284 kB)
Collecting PyJWT>=2.1.0
  Using cached PyJWT-2.5.0-py3-none-any.whl (20 kB)
Collecting jmespath
  Using cached jmespath-1.0.1-py3-none-any.whl (20 kB)
Collecting msal-extensions<0.4,>=0.3.1
  Using cached msal_extensions-0.3.1-py2.py3-none-any.whl (18 kB)
Requirement already satisfied: cryptography in ./.local/lib/python3.8/site-packages (from azure-cli-core<2.35.0,>=2.34.1->iotedgedev) (38.0.1)
Collecting knack~=0.9.0
  Using cached knack-0.9.0-py3-none-any.whl (59 kB)
Collecting azure-cli-telemetry==1.0.6.*
  Using cached azure_cli_telemetry-1.0.6-py3-none-any.whl (10 kB)
Collecting msal<2.0.0,>=1.16.0
  Using cached msal-1.19.0-py2.py3-none-any.whl (83 kB)
Collecting argcomplete~=1.8
  Using cached argcomplete-1.12.3-py2.py3-none-any.whl (38 kB)
Collecting pkginfo>=1.5.0.1
  Using cached pkginfo-1.8.3-py2.py3-none-any.whl (26 kB)
Collecting azure-mgmt-core<2,>=1.2.0
  Using cached azure_mgmt_core-1.3.2-py3-none-any.whl (26 kB)
Collecting websocket-client>=0.32.0
  Using cached websocket_client-1.4.1-py3-none-any.whl (55 kB)
Collecting urllib3>=1.26.0
  Using cached urllib3-1.26.12-py2.py3-none-any.whl (140 kB)
Processing ./.cache/pip/wheels/11/b5/2b/b6896f25d9b272b4f72db3a45a15cb0b7a6e43d7980c936a15/lark_parser-0.7.8-py2.py3-none-any.whl
Requirement already satisfied: pycparser in ./.local/lib/python3.8/site-packages (from cffi>=1.1->bcrypt<=3.1.7->iotedgedev) (2.21)
Collecting ply
  Using cached ply-3.11-py2.py3-none-any.whl (49 kB)
Collecting decorator
  Using cached decorator-5.1.1-py3-none-any.whl (9.1 kB)
Collecting texttable<2,>=0.9.0
  Using cached texttable-1.6.4-py2.py3-none-any.whl (10 kB)
Requirement already satisfied: jsonschema<4,>=2.5.1 in /usr/lib/python3/dist-packages (from docker-compose==1.29.1->iotedgehubdev==0.14.14->iotedgedev) (3.2.0)
Processing ./.cache/pip/wheels/56/ea/58/ead137b087d9e326852a851351d1debf4ada529b6ac0ec4e8c/docopt-0.6.2-py2.py3-none-any.whl
Collecting distro<2,>=1.5.0
  Using cached distro-1.7.0-py3-none-any.whl (20 kB)
Processing ./.cache/pip/wheels/1a/58/0d/9916bf3c72e224e038beb88f669f68b61d2f274df498ff87c6/dockerpty-0.4.1-py3-none-any.whl
Collecting adal<2.0.0,>=0.6.0
  Using cached adal-1.2.7-py2.py3-none-any.whl (55 kB)
Collecting msrest<2.0.0,>=0.6.0
  Using cached msrest-0.7.1-py3-none-any.whl (85 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
  Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
Requirement already satisfied: pynacl>=1.0.1 in /usr/lib/python3/dist-packages (from paramiko<3.0.0,>=2.0.8->azure-cli-core<2.35.0,>=2.34.1->iotedgedev) (1.3.0)
Collecting portalocker<3,>=1.0; python_version >= "3.5" and platform_system != "Windows"
  Using cached portalocker-2.5.1-py2.py3-none-any.whl (15 kB)
Collecting pygments
  Using cached Pygments-2.13.0-py3-none-any.whl (1.1 MB)
Collecting tabulate
  Using cached tabulate-0.8.10-py3-none-any.whl (29 kB)
Collecting azure-core<2.0.0,>=1.24.0
  Using cached azure_core-1.25.1-py3-none-any.whl (178 kB)
Collecting python-dateutil<3,>=2.1.0
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting isodate>=0.6.0
  Using cached isodate-0.6.1-py2.py3-none-any.whl (41 kB)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from msrest<2.0.0,>=0.6.0->msrestazure~=0.6.4->azure-cli-core<2.35.0,>=2.34.1->iotedgedev) (2019.11.28)
Collecting requests-oauthlib>=0.5.0
  Using cached requests_oauthlib-1.3.1-py2.py3-none-any.whl (23 kB)
Collecting typing-extensions>=4.0.1
  Using cached typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/lib/python3/dist-packages (from requests-oauthlib>=0.5.0->msrest<2.0.0,>=0.6.0->msrestazure~=0.6.4->azure-cli-core<2.35.0,>=2.34.1->iotedgedev) (3.1.0)
ERROR: docker 6.0.0 has requirement requests>=2.26.0, but you'll have requests 2.22.0 which is incompatible.
ERROR: docker-compose 1.29.1 has requirement PyYAML<6,>=3.10, but you'll have pyyaml 6.0 which is incompatible.
ERROR: docker-compose 1.29.1 has requirement websocket-client<1,>=0.32.0, but you'll have websocket-client 1.4.1 which is incompatible.
ERROR: iotedgehubdev 0.14.14 has requirement docker==5.0.3, but you'll have docker 6.0.0 which is incompatible.
ERROR: iotedgehubdev 0.14.14 has requirement requests>=2.25.1, but you'll have requests 2.22.0 which is incompatible.
ERROR: azure-cli-telemetry 1.0.6 has requirement portalocker~=1.2, but you'll have portalocker 2.5.1 which is incompatible.
Installing collected packages: fstrings, bcrypt, regex, pyyaml, applicationinsights, ply, decorator, jsonpath-rw, websocket-client, texttable, python-dotenv, docopt, distro, urllib3, pyparsing, packaging, docker, dockerpty, docker-compose, iotedgehubdev, PyJWT, python-dateutil, adal, isodate, requests-oauthlib, typing-extensions, azure-core, msrest, msrestazure, paramiko, humanfriendly, psutil, jmespath, portalocker, msal, msal-extensions, pygments, tabulate, argcomplete, knack, azure-cli-telemetry, pkginfo, azure-mgmt-core, azure-cli-core, lark-parser, commentjson, iotedgedev
  WARNING: The script jsonpath.py is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script wsdump is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script dotenv is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script distro is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script docker-compose is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script iotedgehubdev is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script humanfriendly is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script pygmentize is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script tabulate is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script pkginfo is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script iotedgedev is installed in '/home/timstokman/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed PyJWT-2.5.0 adal-1.2.7 applicationinsights-0.11.9 argcomplete-1.12.3 azure-cli-core-2.34.1 azure-cli-telemetry-1.0.6 azure-core-1.25.1 azure-mgmt-core-1.3.2 bcrypt-3.1.7 commentjson-0.9.0 decorator-5.1.1 distro-1.7.0 docker-6.0.0 docker-compose-1.29.1 dockerpty-0.4.1 docopt-0.6.2 fstrings-0.1.0 humanfriendly-10.0 iotedgedev-3.3.5 iotedgehubdev-0.14.14 isodate-0.6.1 jmespath-1.0.1 jsonpath-rw-1.4.0 knack-0.9.0 lark-parser-0.7.8 msal-1.19.0 msal-extensions-0.3.1 msrest-0.7.1 msrestazure-0.6.4 packaging-21.3 paramiko-2.11.0 pkginfo-1.8.3 ply-3.11 portalocker-2.5.1 psutil-5.9.2 pygments-2.13.0 pyparsing-3.0.9 python-dateutil-2.8.2 python-dotenv-0.21.0 pyyaml-6.0 regex-2022.9.13 requests-oauthlib-1.3.1 tabulate-0.8.10 texttable-1.6.4 typing-extensions-4.3.0 urllib3-1.26.12 websocket-client-1.4.1
:~$ .local/bin/iotedgedev
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.12) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Usage: iotedgedev [OPTIONS] COMMAND [ARGS]...

Options:
  --version   Show the version and exit.
  -h, --help  Show this message and exit.

Commands:
  add        Add a new module to the solution
  build      Build the solution
  deploy     Deploy solution to IoT Edge device
  genconfig  Expand environment variables and placeholders in deployment manifest template file and copy to config
             folder
  init       Create a new IoT Edge solution and provision Azure resources
  log        Open a new terminal window for EdgeAgent, EdgeHub and each Edge module and save to LOGS_PATH
  monitor    Monitor messages from IoT Edge device to IoT Hub
  new        Create a new IoT Edge solution
  push       Push module images to container registry
  setup      Setup IoT Edge simulator. This must be done before starting
  start      Start IoT Edge simulator
  stop       Stop IoT Edge simulator
  docker     Manage Docker
  iothub     Manage IoT Hub and IoT Edge devices
  simulator  Manage IoT Edge simulator
  solution   Manage IoT Edge solutions

Environment

iotedgedev: 3.3.5 Python: 3.8.10 Pip: 20.0.2 OS: Ubuntu 20.04

chull434 commented 1 year ago

Same issue, thanks pyOpenSSL==22.0.0 seems to work for me now

- task: Bash@3
  displayName: 'Azure IoT Edge - Manual Install'
  inputs:
    targetType: 'inline'
    script: 'pip install -U iotedgedev pyOpenSSL==22.0.0'
MattCosturos commented 1 year ago

@chull434 You run that task first, then use the AzureIotEdge task as the next one?

chull434 commented 1 year ago

@MattCosturos Yeap

steps:
  - task: Bash@3
    displayName: 'Azure IoT Edge - Manual Install'
    inputs:
      targetType: 'inline'
      script: 'pip install -U iotedgedev pyOpenSSL==22.0.0'

  - task: AzureCLI@2
    displayName: 'Get Metrics Key'
    inputs:
      azureSubscription: $(AzureSubscription)
      scriptType: 'bash'
      scriptLocation: 'scriptPath'
      scriptPath: '$(Pipeline.Workspace)/drop/.azure/scripts/get_metrics_key.sh'

  - task: AzureIoTEdge@2
    displayName: 'Azure IoT Edge - Generate deployment manifest'
    inputs:
      action: 'Generate deployment manifest'
      templateFilePath: '$(Pipeline.Workspace)/drop/ProjectName/deployment.template.json'
      deploymentManifestOutputPath: '$(Pipeline.Workspace)/drop/configs/deployment.json'

  - task: AzureIoTEdge@2
    displayName: 'Azure IoT Edge - Deploy to IoT Edge devices'
    inputs:
      action: 'Deploy to IoT Edge devices'
      deploymentFilePath: '$(Pipeline.Workspace)/drop/configs/deployment.json'
      azureSubscription: $(AzureSubscription)
      iothubname: IoTHubName
      deviceOption: 'Multiple Devices'
      targetcondition: "tags.environment='${{ parameters.environmentType }}'"
marianan commented 1 year ago

@timstokman thanks for filing this issue, we are adding to our backlog and will share on the thread when updates are available

rodubero commented 1 year ago

Experienced the issue while running a pipeline in Azure DevOps using the manual iotedgedev install to fix this bug (#14167) for the build module images action of Azure IoT Edge task. Everything started happening after 3.3.5 (pyOpenSSL>=20.0.1 resolves pyOpenSSL-22.1.0)

From that end the error looks like this:

[error]/usr/lib/python3/dist-packages/requests/init.py:89:` RequestsDependencyWarning: urllib3 (1.26.12) or chardet (3.0.4) doesn't match a supported version!

... Original exception was: Traceback (most recent call last): File "/home/vsts/.local/bin/iotedgedev", line 5, in from iotedgedev.cli import main File "/home/vsts/.local/lib/python3.8/site-packages/iotedgedev/cli.py", line 11, in from .dockercls import Docker File "/home/vsts/.local/lib/python3.8/site-packages/iotedgedev/dockercls.py", line 4, in import docker File "/home/vsts/.local/lib/python3.8/site-packages/docker/init.py", line 2, in from .api import APIClient File "/home/vsts/.local/lib/python3.8/site-packages/docker/api/init.py", line 2, in from .client import APIClient File "/home/vsts/.local/lib/python3.8/site-packages/docker/api/client.py", line 6, in import requests File "/usr/lib/python3/dist-packages/requests/init.py", line 95, in from urllib3.contrib import pyopenssl File "/home/vsts/.local/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py", line 50, in import OpenSSL.SSL File "/home/vsts/.local/lib/python3.8/site-packages/OpenSSL/init.py", line 8, in from OpenSSL import SSL, crypto File "/home/vsts/.local/lib/python3.8/site-packages/OpenSSL/SSL.py", line 19, in from OpenSSL.crypto import ( File "/home/vsts/.local/lib/python3.8/site-packages/OpenSSL/crypto.py", line 3224, in utils.deprecated( TypeError: deprecated() got an unexpected keyword argument 'name'

Applied the change reported to force pyOpenSSL==22.0.0 and now the build task works.

sergey-p3 commented 1 year ago

Experienced similar issue. Manual iotedgedev install didn't solve the issue

...
Original exception was:
Traceback (most recent call last):
  File "/usr/local/bin/iotedgedev", line 5, in <module>
    from iotedgedev.cli import main
  File "/usr/local/lib/python3.8/dist-packages/iotedgedev/cli.py", line 11, in <module>
    from .dockercls import Docker
  File "/usr/local/lib/python3.8/dist-packages/iotedgedev/dockercls.py", line 4, in <module>
    import docker
  File "/usr/local/lib/python3.8/dist-packages/docker/__init__.py", line 2, in <module>
    from .api import APIClient
  File "/usr/local/lib/python3.8/dist-packages/docker/api/__init__.py", line 2, in <module>
    from .client import APIClient
  File "/usr/local/lib/python3.8/dist-packages/docker/api/client.py", line 6, in <module>
    import requests
  File "/usr/lib/python3/dist-packages/requests/__init__.py", line 95, in <module>
    from urllib3.contrib import pyopenssl
  File "/usr/local/lib/python3.8/dist-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
    import OpenSSL.SSL
  File "/usr/local/lib/python3.8/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import SSL, crypto
  File "/usr/local/lib/python3.8/dist-packages/OpenSSL/SSL.py", line 19, in <module>
    from OpenSSL.crypto import (
  File "/usr/local/lib/python3.8/dist-packages/OpenSSL/crypto.py", line 3224, in <module>
    utils.deprecated(
TypeError: deprecated() got an unexpected keyword argument 'name'

##[error]Error: iotedgedev installation failed, see detailed error in debug mode

What helped was forcing update or urllib3 and requests.

- script: |
    pip install -U urllib3 requests

- task: AzureIoTEdge@2
  displayName: AzureIoTEdge - Build module images
  inputs:
    action: Build module images
    templateFilePath: deployment.template.json
    defaultPlatform: amd64  
Vic152 commented 1 year ago

Forci

@MattCosturos Yeap

steps:
  - task: Bash@3
    displayName: 'Azure IoT Edge - Manual Install'
    inputs:
      targetType: 'inline'
      script: 'pip install -U iotedgedev pyOpenSSL==22.0.0'

  - task: AzureCLI@2
    displayName: 'Get Metrics Key'
    inputs:
      azureSubscription: $(AzureSubscription)
      scriptType: 'bash'
      scriptLocation: 'scriptPath'
      scriptPath: '$(Pipeline.Workspace)/drop/.azure/scripts/get_metrics_key.sh'

  - task: AzureIoTEdge@2
    displayName: 'Azure IoT Edge - Generate deployment manifest'
    inputs:
      action: 'Generate deployment manifest'
      templateFilePath: '$(Pipeline.Workspace)/drop/ProjectName/deployment.template.json'
      deploymentManifestOutputPath: '$(Pipeline.Workspace)/drop/configs/deployment.json'

  - task: AzureIoTEdge@2
    displayName: 'Azure IoT Edge - Deploy to IoT Edge devices'
    inputs:
      action: 'Deploy to IoT Edge devices'
      deploymentFilePath: '$(Pipeline.Workspace)/drop/configs/deployment.json'
      azureSubscription: $(AzureSubscription)
      iothubname: IoTHubName
      deviceOption: 'Multiple Devices'
      targetcondition: "tags.environment='${{ parameters.environmentType }}'"

This no longer works, unfortunately.

Vic152 commented 1 year ago
pip install -U urllib3 requests

This is currently working fix.

timstokman commented 1 year ago

At the maintainers, can this tool please pin their dependencies? Either by pinning all the versions in requirements.txt (including transistive dependencies), or using a tool like poetry or pipenv. It's kind of ridiculous that azure pipelines randomly fall over every few months because some python dependency has gotten upgraded.

MattCosturos commented 1 year ago

It's kind of ridiculous that azure pipelines randomly fall over every few months because some python dependency has gotten upgraded.

It's makes it seem like actually deploying edge modules in a controllable, automated, and scalable way is an afterthought from Microsoft.

Vic152 commented 1 year ago

I am not entirely sure if this repo or the pipeline tasks repo is maintained by MS. I would also not jump into conclusions that MS can make anything controllable, automated, and scalable, or reliable. The evidence is to the contrary.

chull434 commented 1 year ago

I tried removing pyOpenSSL==22.0.0 and going back to the below it seems to work again now

- task: Bash@3
  displayName: 'Azure IoT Edge - Manual Install'
  inputs:
    targetType: 'inline'
    script: 'pip install -U iotedgedev'

cross post - https://github.com/microsoft/azure-pipelines-tasks/issues/16964

Vic152 commented 1 year ago

I tried removing pyOpenSSL==22.0.0 and going back to the below it seems to work again now

- task: Bash@3
  displayName: 'Azure IoT Edge - Manual Install'
  inputs:
    targetType: 'inline'
    script: 'pip install -U iotedgedev'

cross post - microsoft/azure-pipelines-tasks#16964

Oh so maybe it's fixed?

Vic152 commented 1 year ago

I tried removing pyOpenSSL==22.0.0 and going back to the below it seems to work again now

- task: Bash@3
  displayName: 'Azure IoT Edge - Manual Install'
  inputs:
    targetType: 'inline'
    script: 'pip install -U iotedgedev'

cross post - microsoft/azure-pipelines-tasks#16964

I can confirm this is now working. Until next time.

konichi3 commented 1 year ago

Closing as the issue is resolved.

Vic152 commented 1 year ago

Well because some workaround works it does not mean the issue is resolved. With this attitude Microsoft solutions will never be fit for production environments.