Skip to content

ci: Workaround pylibssh Failed to open session#8071

Closed
justin-stephenson wants to merge 2 commits intoSSSD:masterfrom
justin-stephenson:pylibssh_workaround_ssh_again
Closed

ci: Workaround pylibssh Failed to open session#8071
justin-stephenson wants to merge 2 commits intoSSSD:masterfrom
justin-stephenson:pylibssh_workaround_ssh_again

Conversation

@justin-stephenson
Copy link
Copy Markdown
Contributor

Workaround ansible pylibssh issue which causes test failures

pylibsshext.errors.LibsshChannelException: Failed to open_session: [-2]

PR ansible/pylibssh#756 is under review but workaround it in the meantime.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a temporary workaround for an issue with pylibssh by installing a version from a personal fork. This is a reasonable short-term solution to unblock tests. My review includes a suggestion to pin the dependency to a specific commit hash instead of a branch. This will improve the security and reproducibility of your builds by ensuring you always use a specific, known version of the code.

Comment thread src/tests/system/requirements.txt Outdated
@justin-stephenson justin-stephenson force-pushed the pylibssh_workaround_ssh_again branch 2 times, most recently from 7694aeb to e88e28f Compare August 11, 2025 19:59
@justin-stephenson
Copy link
Copy Markdown
Contributor Author

WARNING: Requested ansible-pylibssh>=1.2.0 from git+https://github.com/justin-stephenson/pylibssh@51b9a9b1811b4befafcd0a859e48dcc2822a253c (from pytest-mh==1.0.28.dev2+g43c3aeb86->-r ./requirements.txt (line 5)), but installing version 1.2.3.dev268+g51b9a9b18

I guess this will not work with the >=1.2.0 dependency in https://github.com/next-actions/pytest-mh/blob/master/requirements.txt#L1

@webknjaz
Copy link
Copy Markdown

It's just a warning. Not sure why pip is emitting it. Perhaps, it doesn't have access to the metadata in the place where the check is happening..

@justin-stephenson justin-stephenson force-pushed the pylibssh_workaround_ssh_again branch 2 times, most recently from 2b86a73 to 8f9e21a Compare August 12, 2025 13:59
@justin-stephenson
Copy link
Copy Markdown
Contributor Author

justin-stephenson commented Aug 12, 2025

PRCI is hanging and timing out at Building wheel for ansible-pylibssh (pyproject.toml): started although it works fine for me locally.

From https://github.com/SSSD/sssd/actions/runs/16894356542/job/47907649607


+ pip3 install -r ./requirements.txt -c ./constraints.txt
Collecting git+https://github.com/next-actions/pytest-importance (from -r ./requirements.txt (line 4))
  Cloning https://github.com/next-actions/pytest-importance to /tmp/pip-req-build-w_z1x9m1
  Running command git clone --filter=blob:none --quiet https://github.com/next-actions/pytest-importance /tmp/pip-req-build-w_z1x9m1
  Resolved https://github.com/next-actions/pytest-importance to commit eb3429c7d643fd784fac92aeac241128d4efc2cb
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting git+https://github.com/next-actions/pytest-mh (from -r ./requirements.txt (line 5))
  Cloning https://github.com/next-actions/pytest-mh to /tmp/pip-req-build-m_onjlcd
  Running command git clone --filter=blob:none --quiet https://github.com/next-actions/pytest-mh /tmp/pip-req-build-m_onjlcd
  Resolved https://github.com/next-actions/pytest-mh to commit 43c3aeb868e6c378df2d388107e98be39d2652e8
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting git+https://github.com/next-actions/pytest-ticket (from -r ./requirements.txt (line 6))
  Cloning https://github.com/next-actions/pytest-ticket to /tmp/pip-req-build-qq4cvuay
  Running command git clone --filter=blob:none --quiet https://github.com/next-actions/pytest-ticket /tmp/pip-req-build-qq4cvuay
  Resolved https://github.com/next-actions/pytest-ticket to commit 9f77e77d99ee25a65cad2ab07815884bf7271552
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting git+https://github.com/next-actions/pytest-tier (from -r ./requirements.txt (line 7))
  Cloning https://github.com/next-actions/pytest-tier to /tmp/pip-req-build-m72kmm3u
  Running command git clone --filter=blob:none --quiet https://github.com/next-actions/pytest-tier /tmp/pip-req-build-m72kmm3u
  Resolved https://github.com/next-actions/pytest-tier to commit 3ff62b8c4f833e75ae7212ccce3f633c4b9c8b4e
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting git+https://github.com/next-actions/pytest-output (from -r ./requirements.txt (line 8))
  Cloning https://github.com/next-actions/pytest-output to /tmp/pip-req-build-3g1jwpon
  Running command git clone --filter=blob:none --quiet https://github.com/next-actions/pytest-output /tmp/pip-req-build-3g1jwpon
  Resolved https://github.com/next-actions/pytest-output to commit 29cabfe2753c6f51e8f69668f98cc493a5314697
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting git+https://github.com/SSSD/sssd-test-framework (from -r ./requirements.txt (line 9))
  Cloning https://github.com/SSSD/sssd-test-framework to /tmp/pip-req-build-flevyl5v
  Running command git clone --filter=blob:none --quiet https://github.com/SSSD/sssd-test-framework /tmp/pip-req-build-flevyl5v
  Resolved https://github.com/SSSD/sssd-test-framework to commit 9672c6acd9b9149d9bb245f4cab6cacc052524b5
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting flaky (from -r ./requirements.txt (line 2))
  Downloading flaky-3.8.1-py2.py3-none-any.whl.metadata (7.4 kB)
Collecting pytest (from -r ./requirements.txt (line 3))
  Downloading pytest-8.4.1-py3-none-any.whl.metadata (7.7 kB)
Collecting iniconfig>=1 (from pytest->-r ./requirements.txt (line 3))
  Downloading iniconfig-2.1.0-py3-none-any.whl.metadata (2.7 kB)
Collecting packaging>=20 (from pytest->-r ./requirements.txt (line 3))
  Using cached packaging-25.0-py3-none-any.whl.metadata (3.3 kB)
Collecting pluggy<2,>=1.5 (from pytest->-r ./requirements.txt (line 3))
  Using cached pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB)
Collecting pygments>=2.7.2 (from pytest->-r ./requirements.txt (line 3))
  Downloading pygments-2.19.2-py3-none-any.whl.metadata (2.5 kB)
Collecting ansible-pylibssh>=1.2.0 (from pytest-mh==1.0.28.dev2+g43c3aeb86->-r ./requirements.txt (line 5))
  Cloning https://github.com/justin-stephenson/pylibssh (to revision 7afce6da8ca691e07a5027bfb6751b8ffc8ca748) to /tmp/pip-install-42lqot31/ansible-pylibssh_726a3260ffdc4324abac20b42f4fb917
  Running command git clone --filter=blob:none --quiet https://github.com/justin-stephenson/pylibssh /tmp/pip-install-42lqot31/ansible-pylibssh_726a3260ffdc4324abac20b42f4fb917
  Running command git rev-parse -q --verify 'sha^7afce6da8ca691e07a5027bfb6751b8ffc8ca748'
  Running command git fetch -q https://github.com/justin-stephenson/pylibssh 7afce6da8ca691e07a5027bfb6751b8ffc8ca748
  Running command git checkout -q 7afce6da8ca691e07a5027bfb6751b8ffc8ca748
  Resolved https://github.com/justin-stephenson/pylibssh to commit 7afce6da8ca691e07a5027bfb6751b8ffc8ca748
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
  WARNING: Requested ansible-pylibssh>=1.2.0 from git+https://github.com/justin-stephenson/pylibssh@7afce6da8ca691e07a5027bfb6751b8ffc8ca748 (from pytest-mh==1.0.28.dev2+g43c3aeb86->-r ./requirements.txt (line 5)), but installing version 1.2.3.dev268+g7afce6da8
Collecting colorama (from pytest-mh==1.0.28.dev2+g43c3aeb86->-r ./requirements.txt (line 5))
  Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Collecting pyyaml (from pytest-mh==1.0.28.dev2+g43c3aeb86->-r ./requirements.txt (line 5))
  Downloading PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting jinja2 (from pytest-output==1.0.0->-r ./requirements.txt (line 8))
  Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
Collecting jc (from sssd-test-framework==0.1.dev235+g9672c6acd->-r ./requirements.txt (line 9))
  Downloading jc-1.25.5-py3-none-any.whl.metadata (65 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.5/65.5 kB 12.6 MB/s eta 0:00:00
Collecting python-ldap (from sssd-test-framework==0.1.dev235+g9672c6acd->-r ./requirements.txt (line 9))
  Downloading python-ldap-3.4.4.tar.gz (377 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 377.9/377.9 kB 28.8 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting ruamel.yaml>=0.15.0 (from jc->sssd-test-framework==0.1.dev235+g9672c6acd->-r ./requirements.txt (line 9))
  Downloading ruamel.yaml-0.18.14-py3-none-any.whl.metadata (24 kB)
Collecting xmltodict>=0.12.0 (from jc->sssd-test-framework==0.1.dev235+g9672c6acd->-r ./requirements.txt (line 9))
  Downloading xmltodict-0.14.2-py2.py3-none-any.whl.metadata (8.0 kB)
Collecting MarkupSafe>=2.0 (from jinja2->pytest-output==1.0.0->-r ./requirements.txt (line 8))
  Downloading MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
Collecting pyasn1>=0.3.7 (from python-ldap->sssd-test-framework==0.1.dev235+g9672c6acd->-r ./requirements.txt (line 9))
  Downloading pyasn1-0.6.1-py3-none-any.whl.metadata (8.4 kB)
Collecting pyasn1_modules>=0.1.5 (from python-ldap->sssd-test-framework==0.1.dev235+g9672c6acd->-r ./requirements.txt (line 9))
  Downloading pyasn1_modules-0.4.2-py3-none-any.whl.metadata (3.5 kB)
Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml>=0.15.0->jc->sssd-test-framework==0.1.dev235+g9672c6acd->-r ./requirements.txt (line 9))
  Downloading ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.7 kB)
Downloading flaky-3.8.1-py2.py3-none-any.whl (19 kB)
Downloading pytest-8.4.1-py3-none-any.whl (365 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 365.5/365.5 kB 61.9 MB/s eta 0:00:00
Downloading iniconfig-2.1.0-py3-none-any.whl (6.0 kB)
Using cached packaging-25.0-py3-none-any.whl (66 kB)
Using cached pluggy-1.6.0-py3-none-any.whl (20 kB)
Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 67.6 MB/s eta 0:00:00
Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Downloading jc-1.25.5-py3-none-any.whl (676 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 676.4/676.4 kB 96.5 MB/s eta 0:00:00
Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 134.9/134.9 kB 38.3 MB/s eta 0:00:00
Downloading PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.0/763.0 kB 123.4 MB/s eta 0:00:00
Downloading MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23 kB)
Downloading pyasn1-0.6.1-py3-none-any.whl (83 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.1/83.1 kB 32.9 MB/s eta 0:00:00
Downloading pyasn1_modules-0.4.2-py3-none-any.whl (181 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 181.3/181.3 kB 57.9 MB/s eta 0:00:00
Downloading ruamel.yaml-0.18.14-py3-none-any.whl (118 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.6/118.6 kB 44.3 MB/s eta 0:00:00
Downloading xmltodict-0.14.2-py2.py3-none-any.whl (10.0 kB)
Downloading ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (739 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 739.1/739.1 kB 106.2 MB/s eta 0:00:00
Building wheels for collected packages: pytest-importance, pytest-mh, pytest-ticket, pytest-tier, pytest-output, sssd-test-framework, ansible-pylibssh, python-ldap
  Building wheel for pytest-importance (pyproject.toml): started
  Building wheel for pytest-importance (pyproject.toml): finished with status 'done'
  Created wheel for pytest-importance: filename=pytest_importance-0.1.dev1+geb3429c7d-py3-none-any.whl size=15952 sha256=4856bc252750b4de20c851d777b96ef629ff84113166078ea54e712768f5a06d
  Stored in directory: /tmp/pip-ephem-wheel-cache-5_qgt9qx/wheels/03/fc/ab/4f71059ac2f12caa7f729d8ce77b046e81dcff2f87926eca02
  Building wheel for pytest-mh (pyproject.toml): started
  Building wheel for pytest-mh (pyproject.toml): finished with status 'done'
  Created wheel for pytest-mh: filename=pytest_mh-1.0.28.dev2+g43c3aeb86-py3-none-any.whl size=95825 sha256=da9030b300df3db6a5085ee3267ba605eb2a5bf2fba13ee333ad2ccb9c44ae7b
  Stored in directory: /tmp/pip-ephem-wheel-cache-5_qgt9qx/wheels/09/94/19/fa0c9b658e77c336627adfd3a17588aa65e18a063362125e84
  Building wheel for pytest-ticket (pyproject.toml): started
  Building wheel for pytest-ticket (pyproject.toml): finished with status 'done'
  Created wheel for pytest-ticket: filename=pytest_ticket-0.1.dev3+g9f77e77d9-py3-none-any.whl size=15847 sha256=95d8437e12d7d576ea44584bef7753a4ebe61873638a46143d1b0e899f92f7a7
  Stored in directory: /tmp/pip-ephem-wheel-cache-5_qgt9qx/wheels/61/8e/8e/c6a63aca06c364e2faaf78648dc83e7a5ad606849b84b2a509
  Building wheel for pytest-tier (pyproject.toml): started
  Building wheel for pytest-tier (pyproject.toml): finished with status 'done'
  Created wheel for pytest-tier: filename=pytest_tier-0.1.dev1+g3ff62b8c4-py3-none-any.whl size=15413 sha256=be851360c8245185173bac4e3c91eca0900b7c2193938ff15ee59e215d907f78
  Stored in directory: /tmp/pip-ephem-wheel-cache-5_qgt9qx/wheels/db/cc/1b/db9293be876acc80468a7c2e828215e0f05dc85982a3f9a4b0
  Building wheel for pytest-output (pyproject.toml): started
  Building wheel for pytest-output (pyproject.toml): finished with status 'done'
  Created wheel for pytest-output: filename=pytest_output-1.0.0-py3-none-any.whl size=13799 sha256=0fd89e4bcdea4ccecf01758afde45c18cd9c2a27b1b8088a7b63ddb493e5ded7
  Stored in directory: /tmp/pip-ephem-wheel-cache-5_qgt9qx/wheels/93/78/61/e462c6ce5f82744012dcaceb578e7fe5da740facb5d9e66d74
  Building wheel for sssd-test-framework (pyproject.toml): started
  Building wheel for sssd-test-framework (pyproject.toml): finished with status 'done'
  Created wheel for sssd-test-framework: filename=sssd_test_framework-0.1.dev235+g9672c6acd-py3-none-any.whl size=154521 sha256=efa02cb8e876c2fe1ba07355d8b708089a1465e4e17629088b95af0b33fa8ec7
  Stored in directory: /tmp/pip-ephem-wheel-cache-5_qgt9qx/wheels/6d/54/81/fec7b21a9524c96f5b9c38536fab3c634c845854a18a039d70
  Building wheel for ansible-pylibssh (pyproject.toml): started

@justin-stephenson justin-stephenson force-pushed the pylibssh_workaround_ssh_again branch from 8f9e21a to e5c6f6d Compare August 12, 2025 14:21
@webknjaz
Copy link
Copy Markdown

-vvvvv will probably tell you what the backend is doing

@justin-stephenson justin-stephenson force-pushed the pylibssh_workaround_ssh_again branch 3 times, most recently from 200a1d8 to f11bd7f Compare August 12, 2025 17:50
@justin-stephenson
Copy link
Copy Markdown
Contributor Author

I see the below error also in #8073 attempting to update CI to use python 3.13 (3.12 works however)

Some issue with fetching a compatible tag for ruamel-yaml-clib?? https://github.com/SSSD/sssd/actions/runs/16917468308/job/47936151614?pr=8071


Fetched page https://pypi.org/simple/ruamel-yaml-clib/ as application/vnd.pypi.simple.v1+json
  Skipping link: none of the wheel's tags (cp27-cp27m-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/6b/57/b1f57ce02e81be249bfb71f478f933a7d2252e7a9172d397abe142732c9d/ruamel.yaml.clib-0.1.0-cp27-cp27m-macosx_10_9_x86_64.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp27-cp27m-manylinux1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/92/85/6319177e06aa3fad2fdf0874575dfcb610ab3ea551095a0bf6935c709fed/ruamel.yaml.clib-0.1.0-cp27-cp27m-manylinux1_x86_64.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp27-cp27m-win32) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/45/a2/3376ea74aaad83695fe864ac9f81722339c779dcc84c8c1d99fe4c3449fe/ruamel.yaml.clib-0.1.0-cp27-cp27m-win32.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp27-cp27m-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/91/0c/c8ba4a574b56c22c9c26990c9a76338fd1fb01f7b43473b3f64e246d9c81/ruamel.yaml.clib-0.1.0-cp27-cp27m-win_amd64.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp27-cp27mu-manylinux1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/40/61/dc14f88cdf0212e25ff46fa3ecdd9c38cfe0232a69a7747e571b6da6438e/ruamel.yaml.clib-0.1.0-cp27-cp27mu-manylinux1_x86_64.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp35-cp35m-macosx_10_6_intel) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/50/fb/4810f819ec28e9bc26161007ee698301a5511a48ccfd832390daef5c6bbc/ruamel.yaml.clib-0.1.0-cp35-cp35m-macosx_10_6_intel.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp35-cp35m-manylinux1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/ca/36/72c8f0a39a72ac734af63b0594f2be05657701f84d5f9925d4fb98601b50/ruamel.yaml.clib-0.1.0-cp35-cp35m-manylinux1_x86_64.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp35-cp35m-win32) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/16/cc/aa22798cdcaa7d06b52dba868dadb37eb3735e9b98b93ac3afaa46ec6288/ruamel.yaml.clib-0.1.0-cp35-cp35m-win32.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp35-cp35m-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/3b/4a/b0b4df3284beeb5c71aa6e5db7e3ddc41f21dc88dcbd04e06bb520c99a0f/ruamel.yaml.clib-0.1.0-cp35-cp35m-win_amd64.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp36-cp36m-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/69/a2/7c50a2bd9c4ebc2d6c1bcf01b0a891ed7f93b9d2dc1457a15ca0d4b7bbfd/ruamel.yaml.clib-0.1.0-cp36-cp36m-macosx_10_9_x86_64.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp36-cp36m-manylinux1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/90/d8/3ce70adb2154ccbbb5796724a48ed4d60ec2b6ba9a00de1122c79125b631/ruamel.yaml.clib-0.1.0-cp36-cp36m-manylinux1_x86_64.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp36-cp36m-win32) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/fd/81/bdc7f3495ea99c39339c0f70212661e7f03b3b3de8b7d83457b3b8618acc/ruamel.yaml.clib-0.1.0-cp36-cp36m-win32.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp36-cp36m-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/e0/dc/95062374a8daf8a7150f77d244799001bbbc9af665ec7a88487075088ae5/ruamel.yaml.clib-0.1.0-cp36-cp36m-win_amd64.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
  Skipping link: none of the wheel's tags (cp37-cp37m-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/f7/7b/9c9189bf7d50a883e354fed19c8362bd1eef580d25b62b1b6e18b6edfc5d/ruamel.yaml.clib-0.1.0-cp37-cp37m-macosx_10_9_x86_64.whl (from https://pypi.org/simple/ruamel-yaml-clib/)
...
etc
...

@webknjaz
Copy link
Copy Markdown

Obviously, there's no compatible wheels for ruamel.yaml.clib-0.1.0 (https://pypi.org/project/ruamel.yaml.clib/0.1.0/#files), but there's some for newer versions: https://pypi.org/project/ruamel.yaml.clib/0.2.12/#files

@justin-stephenson justin-stephenson force-pushed the pylibssh_workaround_ssh_again branch 3 times, most recently from 064ff02 to 1b097a0 Compare August 13, 2025 15:45
@justin-stephenson justin-stephenson changed the title requirements: Workaround pylibssh Failed to open session ci: Workaround pylibssh Failed to open session Aug 13, 2025
@justin-stephenson justin-stephenson force-pushed the pylibssh_workaround_ssh_again branch from 1b097a0 to 200118f Compare August 13, 2025 18:35
@justin-stephenson justin-stephenson marked this pull request as ready for review August 13, 2025 18:36
@justin-stephenson
Copy link
Copy Markdown
Contributor Author

PR is now ready, moving out of draft status.

Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/static-code-analysis.yml Outdated
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I usually put a comment with guidelines for such currated constraint files. Example: https://github.com/ansible/awx-plugins/blob/12091e4/dependencies/direct/py-constraints.in#L1-L15

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added the comment, thank you.

@justin-stephenson justin-stephenson force-pushed the pylibssh_workaround_ssh_again branch 2 times, most recently from c004a95 to d479ce4 Compare August 21, 2025 12:38
@justin-stephenson justin-stephenson force-pushed the pylibssh_workaround_ssh_again branch 3 times, most recently from 12c1b6e to f804a11 Compare August 21, 2025 16:02
@pbrezina
Copy link
Copy Markdown
Member

@justin-stephenson still not working

@pbrezina
Copy link
Copy Markdown
Member

You might need to pull in the tags into your pytest-mh fork.

@pbrezina pbrezina self-assigned this Aug 25, 2025
Add constraints.txt file to specify version requirements separate
from installed packages
@justin-stephenson justin-stephenson force-pushed the pylibssh_workaround_ssh_again branch from f804a11 to 32d07b6 Compare August 25, 2025 14:51
@justin-stephenson
Copy link
Copy Markdown
Contributor Author

@justin-stephenson still not working

Good to go now. CI failures are unrelated.

@pbrezina
Copy link
Copy Markdown
Member

Pushed PR: #8071

  • master
    • 5e16b0d - ci: Install libssh-dev
    • 17b9188 - ci: Workaround pylibssh Failed to open session
  • sssd-2-10
    • c05c3b7 - ci: Install libssh-dev
    • 9752397 - ci: Workaround pylibssh Failed to open session
  • sssd-2-11
    • 496cfa4 - ci: Install libssh-dev
    • 66afb0a - ci: Workaround pylibssh Failed to open session
  • sssd-2-8
    • d3447dd - ci: Install libssh-dev
    • 257d0ab - ci: Workaround pylibssh Failed to open session
  • sssd-2-9
    • ccb03da - ci: Install libssh-dev
    • 0af1b67 - ci: Workaround pylibssh Failed to open session
  • sssd-2-9-4
    • bfb8235 - ci: Install libssh-dev
    • 0964206 - ci: Workaround pylibssh Failed to open session

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants