From e508c06198c3dce8aa5ac73e021f79f7ec33af3a Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Mon, 13 Nov 2023 17:39:41 -0700 Subject: [PATCH 01/32] Initial port of unittest to pytest for smb testing --- tests/pytests/integration/utils/test_smb.py | 334 ++++++++++++++++++++ 1 file changed, 334 insertions(+) create mode 100644 tests/pytests/integration/utils/test_smb.py diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py new file mode 100644 index 000000000000..83205a92b7b5 --- /dev/null +++ b/tests/pytests/integration/utils/test_smb.py @@ -0,0 +1,334 @@ +""" +Test utility methods that communicate with SMB shares. +""" +import getpass +import logging +import os +import shutil +import signal +import subprocess +import tempfile +import time +from pathlib import Path + +import pytest +import saltfactories.utils.tempfiles + +import salt.utils.files +import salt.utils.network +import salt.utils.path +import salt.utils.smb + +log = logging.getLogger(__name__) + +IPV6_ENABLED = bool(salt.utils.network.ip_addrs6(include_loopback=True)) + + +pytestmark = [ + pytest.mark.skipif( + not salt.utils.smb.HAS_SMBPROTOCOL, + reason='"smbprotocol" needs to be installed.', + ), + pytest.mark.skip_if_binaries_missing("smbd", check_all=False), +] + + +def check_pid(pid): + try: + os.kill(pid, 0) + except OSError: + return False + else: + return True + + +@pytest.fixture +def smb_dict(): + with saltfactories.utils.tempfiles.temp_directory() as tmpdir: + samba_dir = Path(str(tmpdir) + os.sep + "samba") + samba_dir.mkdir(parents=True) + assert samba_dir.exists() + assert samba_dir.is_dir() + public_dir = Path(str(tmpdir) + os.sep + "public") + public_dir.mkdir(parents=True) + assert public_dir.exists() + assert public_dir.is_dir() + + passwdb = Path(str(tmpdir) + os.sep + "passwdb") + username = getpass.getuser() + with salt.utils.files.fopen(passwdb, "w") as fp: + ## fp.write(TBE.format(username)) + fp.write( + "{username}:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:AC8E657F8" + "3DF82BEEA5D43BDAF7800CC:[U ]:LCT-507C14C7:" + ) + + samba_conf = Path(str(tmpdir) + os.sep + "smb.conf") + with salt.utils.files.fopen(samba_conf, "w") as fp: + fp.write( + ## CONFIG.format( + ## samba_dir=samba_dir, + ## public_dir=public_dir, + ## passwdb=passwdb, + ## user=username, + ## ) + f"[global]\n" + "realm = saltstack.com\n" + "interfaces = lo 127.0.0.0/8\n" + "smb ports = 1445\n" + "log level = 2\n" + "map to guest = Bad User\n" + "enable core files = no\n" + "passdb backend = smbpasswd\n" + "smb passwd file = {passwdb}\n" + "lock directory = {samba_dir}\n" + "state directory = {samba_dir}\n" + "cache directory = {samba_dir}\n" + "pid directory = {samba_dir}\n" + "private dir = {samba_dir}\n" + "ncalrpc dir = {samba_dir}\n" + "socket options = IPTOS_LOWDELAY TCP_NODELAY\n" + "min receivefile size = 0\n" + "write cache size = 0\n" + "client ntlmv2 auth = no\n" + "client min protocol = SMB3_11\n" + "client plaintext auth = no\n" + "\n" + "[public]\n" + "path = {public_dir}\n" + "read only = no\n" + "guest ok = no\n" + "writeable = yes\n" + "force user = {username}\n" + ) + _smbd = subprocess.Popen([shutil.which("smbd"), "-F", "-P0", "-s", samba_conf]) + time.sleep(1) + + conn_dict = { + "tmpdir": tmpdir, + "samba_dir": samba_dir, + "public_dir": public_dir, + "passwdb": passwdb, + "username": username, + "samba_conf": samba_conf, + } + + pidfile = Path(str(samba_dir) + os.sep + "smbd.pid") + assert pidfile.exists() + with salt.utils.files.fopen(pidfile, "r") as fp: + _pid = int(fp.read().strip()) + if not check_pid(_pid): + raise Exception("Unable to locate smbd's pid file") + + yield conn_dict + + log.warning("teardown") + os.kill(_pid, signal.SIGTERM) + + +def test_write_file_ipv4(smb_dict): + """ + Transfer a file over SMB + """ + name = "test_write_file_v4.txt" + content = "write test file content ipv4" + share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + assert not share_path.exists() + + local_path = tempfile.mktemp() + with salt.utils.files.fopen(local_path, "w") as fp: + fp.write(content) + conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.put_file(local_path, name, "public", conn=conn) + conn.close() + + assert share_path.exists() + with salt.utils.files.fopen(share_path, "r") as fp: + result = fp.read() + assert result == content + + +@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +def test_write_file_ipv6(smb_dict): + """ + Transfer a file over SMB + """ + name = "test_write_file_v6.txt" + content = "write test file content ipv6" + share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + assert not share_path.exists() + + local_path = tempfile.mktemp() + with salt.utils.files.fopen(local_path, "w") as fp: + fp.write(content) + conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.put_file(local_path, name, "public", conn=conn) + conn.close() + + assert share_path.exists() + with salt.utils.files.fopen(share_path, "r") as fp: + result = fp.read() + assert result == content + + +def test_write_str_v4(smb_dict): + """ + Write a string to a file over SMB + """ + name = "test_write_str.txt" + content = "write test file content" + share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + assert not share_path.exists() + conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.put_str(content, name, "public", conn=conn) + conn.close() + + assert share_path.exists() + with salt.utils.files.fopen(share_path, "r") as fp: + result = fp.read() + assert result == content + + +@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +def test_write_str_v6(smb_dict): + """ + Write a string to a file over SMB + """ + name = "test_write_str_v6.txt" + content = "write test file content" + share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + assert not share_path.exists() + conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.put_str(content, name, "public", conn=conn) + conn.close() + + assert share_path.exists() + with salt.utils.files.fopen(share_path, "r") as fp: + result = fp.read() + assert result == content + + +def test_delete_file_v4(smb_dict): + """ + Validate deletion of files over SMB + """ + name = "test_delete_file.txt" + content = "read test file content" + share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + with salt.utils.files.fopen(share_path, "w") as fp: + fp.write(content) + assert share_path.exists() + + conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.delete_file(name, "public", conn=conn) + conn.close() + assert not share_path.exists() + + +@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +def test_delete_file_v6(smb_dict): + """ + Validate deletion of files over SMB + """ + name = "test_delete_file_v6.txt" + content = "read test file content" + share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + with salt.utils.files.fopen(share_path, "w") as fp: + fp.write(content) + assert share_path.exists() + + conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.delete_file(name, "public", conn=conn) + conn.close() + assert not share_path.exists() + + +def test_mkdirs_v4(smb_dict): + """ + Create directories over SMB + """ + dir_name = "mkdirs/test" + share_path = Path(str(smb_dict["public_dir"]) + os.sep + dir_name) + assert not share_path.exists() + + conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.mkdirs(dir_name, "public", conn=conn) + conn.close() + assert share_path.exists() + + +@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +def test_mkdirs_v6(smb_dict): + """ + Create directories over SMB + """ + dir_name = "mkdirs/testv6" + share_path = Path(str(smb_dict["public_dir"]) + os.sep + dir_name) + assert not share_path.exists() + + conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.mkdirs(dir_name, "public", conn=conn) + conn.close() + assert share_path.exists() + + +def test_delete_dirs_v4(smb_dict): + """ + Validate deletion of directoreies over SMB + """ + dir_name = "deldirs" + subdir_name = "deldirs/test" + local_path = Path(str(smb_dict["public_dir"]) + os.sep + subdir_name) + local_path.mkdir(parents=True) + assert local_path.exists() + assert local_path.is_dir() + + conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) + conn.close() + + conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.delete_directory(dir_name, "public", conn=conn) + conn.close() + assert not local_path.exists() + assert not Path(str(smb_dict["public_dir"]) + os.sep + dir_name).exists() + + +@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +def test_delete_dirs_v6(smb_dict): + """ + Validate deletion of directoreies over SMB + """ + dir_name = "deldirsv6" + subdir_name = "deldirsv6/test" + local_path = Path(str(smb_dict["public_dir"]) + os.sep + subdir_name) + local_path.mkdir(parents=True) + assert local_path.exists() + assert local_path.is_dir() + + conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) + conn.close() + + conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + salt.utils.smb.delete_directory(dir_name, "public", conn=conn) + conn.close() + assert not local_path.exists() + assert not Path(str(smb_dict["public_dir"]) + os.sep + dir_name).exists() + + +def test_connection(smb_dict): + """ + Validate creation of an SMB connection + """ + conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + conn.close() + + +@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +def test_connection_v6(smb_dict): + """ + Validate creation of an SMB connection + """ + conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + conn.close() From 7e935d0b02966b20eceffddbf80a9274b58eda56 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Wed, 15 Nov 2023 12:48:54 -0700 Subject: [PATCH 02/32] Added support for smb testing, and ported smb test from unittest to pytest --- requirements/static/ci/cloud.in | 2 - requirements/static/ci/common.in | 4 + requirements/static/ci/py3.10/changelog.txt | 2 +- requirements/static/ci/py3.10/cloud.txt | 47 +- requirements/static/ci/py3.10/darwin.txt | 35 +- requirements/static/ci/py3.10/freebsd.txt | 35 +- requirements/static/ci/py3.10/lint.txt | 42 +- requirements/static/ci/py3.10/linux.txt | 35 +- requirements/static/ci/py3.10/windows.txt | 42 +- requirements/static/ci/py3.7/cloud.txt | 49 +- requirements/static/ci/py3.7/freebsd.txt | 39 +- requirements/static/ci/py3.7/lint.txt | 845 ++++++++++++++++++++ requirements/static/ci/py3.7/linux.txt | 38 +- requirements/static/ci/py3.7/windows.txt | 41 +- requirements/static/ci/py3.8/changelog.txt | 2 +- requirements/static/ci/py3.8/cloud.txt | 51 +- requirements/static/ci/py3.8/freebsd.txt | 39 +- requirements/static/ci/py3.8/lint.txt | 44 +- requirements/static/ci/py3.8/linux.txt | 38 +- requirements/static/ci/py3.8/windows.txt | 43 +- requirements/static/ci/py3.9/changelog.txt | 2 +- requirements/static/ci/py3.9/cloud.txt | 51 +- requirements/static/ci/py3.9/darwin.txt | 39 +- requirements/static/ci/py3.9/freebsd.txt | 39 +- requirements/static/ci/py3.9/lint.txt | 44 +- requirements/static/ci/py3.9/linux.txt | 38 +- requirements/static/ci/py3.9/windows.txt | 43 +- tests/integration/utils/test_smb.py | 313 -------- tests/pytests/integration/utils/test_smb.py | 8 +- 29 files changed, 1674 insertions(+), 376 deletions(-) create mode 100644 requirements/static/ci/py3.7/lint.txt delete mode 100644 tests/integration/utils/test_smb.py diff --git a/requirements/static/ci/cloud.in b/requirements/static/ci/cloud.in index 29675cccf05d..9b33840c72c6 100644 --- a/requirements/static/ci/cloud.in +++ b/requirements/static/ci/cloud.in @@ -6,5 +6,3 @@ netaddr profitbricks pypsexec pywinrm -pyspnego==0.8.0 -smbprotocol==1.10.1 diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index da673b5bbef1..472ecd8d8cb2 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -50,3 +50,7 @@ genshi>=0.7.3 cheetah3>=3.2.2 mako wempy +impacket +pyspnego==0.9.2; python_version <= '3.7' +pyspnego==0.10.2; python_version >= '3.8' +smbprotocol==1.10.1 diff --git a/requirements/static/ci/py3.10/changelog.txt b/requirements/static/ci/py3.10/changelog.txt index 901e8a069db0..1862bf23264e 100644 --- a/requirements/static/ci/py3.10/changelog.txt +++ b/requirements/static/ci/py3.10/changelog.txt @@ -6,7 +6,7 @@ # click-default-group==1.2.2 # via towncrier -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.10/linux.txt # click-default-group diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 818a5e519862..91789f8a122e 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -44,6 +44,10 @@ bcrypt==4.1.2 # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via + # -c requirements/static/ci/py3.10/linux.txt + # flask boto3==1.21.46 # via # -c requirements/static/ci/py3.10/linux.txt @@ -105,9 +109,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/linux.in -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.10/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -150,11 +155,16 @@ dnspython==1.16.0 # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/pytest.txt +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.10/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.10/linux.txt @@ -171,6 +181,10 @@ flaky==3.7.0 # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/pytest.txt +flask==3.0.0 + # via + # -c requirements/static/ci/py3.10/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.10/linux.txt @@ -213,6 +227,10 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.10/linux.txt # -c requirements/static/ci/py3.10/linux.txt # contextvars +impacket==0.11.0 + # via + # -c requirements/static/ci/py3.10/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt @@ -226,6 +244,10 @@ ipaddress==1.0.22 # via # -c requirements/static/ci/py3.10/linux.txt # kubernetes +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.10/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt @@ -253,6 +275,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.10/linux.txt # -c requirements/static/ci/py3.10/linux.txt # -r requirements/base.txt + # flask # junos-eznc # moto jmespath==1.0.1 @@ -287,6 +310,15 @@ kubernetes==3.0.0 # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # -c requirements/static/ci/py3.10/linux.txt + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via + # -c requirements/static/ci/py3.10/linux.txt + # impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -c requirements/static/ci/py3.10/linux.txt @@ -409,6 +441,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.10/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -442,6 +476,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via # -c requirements/static/ci/py3.10/linux.txt @@ -456,9 +491,10 @@ pyserial==3.4 # via # -c requirements/static/ci/py3.10/linux.txt # junos-eznc -pyspnego==0.8.0 +pyspnego==0.10.2 ; python_version >= "3.8" # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.10/linux.txt + # -r requirements/static/ci/common.in # smbprotocol pytest-custom-exit-code==0.3.0 # via @@ -621,6 +657,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -640,7 +677,8 @@ six==1.16.0 # websocket-client smbprotocol==1.10.1 # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.10/linux.txt + # -r requirements/static/ci/common.in # pypsexec smmap==4.0.0 # via @@ -723,6 +761,7 @@ wempy==0.2.1 werkzeug==3.0.1 # via # -c requirements/static/ci/py3.10/linux.txt + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 0fe37c86c693..1b97bd6a826f 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -33,6 +33,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -78,8 +80,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.10/darwin.txt # -r requirements/darwin.txt # -r requirements/static/ci/common.in -click==7.0 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.1 # via -r requirements/static/ci/common.in contextvars==2.4 @@ -108,9 +112,12 @@ distro==1.5.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -119,6 +126,8 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -154,6 +163,8 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.10/darwin.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.10/darwin.txt @@ -162,6 +173,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.10/darwin.txt @@ -184,6 +197,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.10/darwin.txt # -r requirements/base.txt + # flask # junos-eznc # moto jmespath==1.0.1 @@ -203,6 +217,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket linode-python==1.1.1 # via # -c requirements/static/ci/../pkg/py3.10/darwin.txt @@ -292,6 +312,8 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.10/darwin.txt # -r requirements/darwin.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -317,12 +339,17 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.10/darwin.txt # -r requirements/darwin.txt # etcd3-py + # impacket pyparsing==3.0.9 # via junos-eznc pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -433,6 +460,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kubernetes @@ -445,6 +473,8 @@ six==1.16.0 # vcert # virtualenv # websocket-client +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.10/darwin.txt @@ -503,6 +533,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 6c17bca29347..be047f48c313 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -30,6 +30,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -75,8 +77,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.10/freebsd.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/freebsd.in -click==7.1.2 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in contextvars==2.4 @@ -106,9 +110,12 @@ distro==1.5.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -117,6 +124,8 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -146,6 +155,8 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.10/freebsd.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.10/freebsd.txt @@ -154,6 +165,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.10/freebsd.txt @@ -176,6 +189,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.10/freebsd.txt # -r requirements/base.txt + # flask # junos-eznc # moto jmespath==1.0.1 @@ -197,6 +211,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -283,6 +303,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -310,12 +332,17 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.10/freebsd.txt # -r requirements/static/pkg/freebsd.in # etcd3-py + # impacket pyparsing==3.0.9 # via junos-eznc pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -425,6 +452,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -439,6 +467,8 @@ six==1.16.0 # vcert # virtualenv # websocket-client +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -491,6 +521,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 896d5067a64d..ce9454a49acf 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -53,6 +53,10 @@ bcrypt==4.1.2 # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via + # -c requirements/static/ci/py3.10/linux.txt + # flask boto3==1.21.46 # via # -c requirements/static/ci/py3.10/linux.txt @@ -117,9 +121,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/linux.in -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.10/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -144,6 +149,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # vcert dill==0.3.8 # via pylint @@ -160,11 +167,16 @@ dnspython==1.16.0 # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/lint.in +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.10/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.10/linux.txt @@ -173,6 +185,10 @@ filelock==3.0.12 # via # -c requirements/static/ci/py3.10/linux.txt # virtualenv +flask==3.0.0 + # via + # -c requirements/static/ci/py3.10/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.10/linux.txt @@ -218,6 +234,10 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.10/linux.txt # -c requirements/static/ci/py3.10/linux.txt # contextvars +impacket==0.11.0 + # via + # -c requirements/static/ci/py3.10/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt @@ -229,6 +249,10 @@ ipaddress==1.0.22 # kubernetes isort==4.3.21 # via pylint +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.10/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt @@ -257,6 +281,7 @@ jinja2==3.1.3 # -c requirements/static/ci/py3.10/linux.txt # -r requirements/base.txt # ansible-core + # flask # junos-eznc # moto jmespath==1.0.1 @@ -406,6 +431,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.10/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -420,6 +447,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.10/linux.txt # -c requirements/static/ci/py3.10/linux.txt # -r requirements/crypto.txt + # impacket pygit2==1.13.1 # via # -c requirements/static/ci/py3.10/linux.txt @@ -455,6 +483,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via # -c requirements/static/ci/py3.10/linux.txt @@ -467,6 +496,11 @@ pyserial==3.4 # via # -c requirements/static/ci/py3.10/linux.txt # junos-eznc +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -c requirements/static/ci/py3.10/linux.txt + # -r requirements/static/ci/common.in + # smbprotocol python-consul==1.1.0 # via # -c requirements/static/ci/py3.10/linux.txt @@ -597,6 +631,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -620,6 +655,10 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.10/linux.txt # slack-bolt +smbprotocol==1.10.1 + # via + # -c requirements/static/ci/py3.10/linux.txt + # -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/py3.10/linux.txt @@ -710,6 +749,7 @@ wempy==0.2.1 werkzeug==3.0.1 # via # -c requirements/static/ci/py3.10/linux.txt + # flask # moto xmltodict==0.12.0 # via diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index a5d54eb879b1..78d9af0d226a 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -36,6 +36,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -84,8 +86,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.10/linux.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/linux.in -click==7.1.1 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in contextvars==2.4 @@ -115,9 +119,12 @@ distro==1.5.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -126,6 +133,8 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -155,6 +164,8 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt @@ -163,6 +174,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt @@ -186,6 +199,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.10/linux.txt # -r requirements/base.txt # ansible-core + # flask # junos-eznc # moto jmespath==1.0.1 @@ -207,6 +221,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -294,6 +314,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -327,12 +349,17 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.10/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via junos-eznc pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -463,6 +490,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -482,6 +510,8 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -540,6 +570,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index 54bfbf522534..ab263ef10f13 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -20,6 +20,8 @@ attrs==23.1.0 # pytest-system-statistics bcrypt==4.1.2 # via -r requirements/static/ci/common.in +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -66,8 +68,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.10/windows.txt # -r requirements/static/ci/common.in # -r requirements/windows.txt -click==7.1.2 - # via geomet +click==8.1.7 + # via + # flask + # geomet clr-loader==0.2.4 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt @@ -75,7 +79,9 @@ clr-loader==0.2.4 clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.1 - # via pytest + # via + # click + # pytest contextvars==2.4 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt @@ -87,6 +93,7 @@ cryptography==42.0.5 # etcd3-py # moto # pyopenssl + # pyspnego # requests-ntlm # trustme distlib==0.3.6 @@ -101,9 +108,12 @@ dmidecode==0.9.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -112,6 +122,8 @@ filelock==3.8.0 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.3 # via # aiohttp @@ -144,6 +156,8 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt @@ -156,6 +170,8 @@ ioloop==0.1a0 # -r requirements/windows.txt ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt @@ -178,6 +194,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt # -r requirements/base.txt + # flask # moto jmespath==1.0.1 # via @@ -192,6 +209,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket looseversion==1.0.2 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt @@ -268,6 +291,8 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt # -r requirements/windows.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -299,8 +324,13 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.10/windows.txt # -r requirements/windows.txt # etcd3-py + # impacket pyrsistent==0.17.3 # via jsonschema +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.12.29 @@ -422,6 +452,7 @@ six==1.15.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kubernetes # python-dateutil @@ -430,12 +461,16 @@ six==1.15.0 # responses # textfsm # websocket-client +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt # gitdb sqlparse==0.4.4 # via -r requirements/static/ci/common.in +sspilib==0.1.0 + # via pyspnego strict-rfc3339==0.7 # via -r requirements/static/ci/common.in tempora==4.1.1 @@ -481,6 +516,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver wheel==0.38.4 diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 4eebe8c3fcef..46b4bcfbb632 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -95,6 +95,7 @@ charset-normalizer==3.2.0 # -c requirements/static/ci/../pkg/py3.7/linux.txt # -c requirements/static/ci/py3.7/linux.txt # aiohttp + # impacket # requests cheetah3==3.2.6.post2 # via @@ -115,9 +116,10 @@ ciscoconfparse==1.5.19 # via # -c requirements/static/ci/py3.7/linux.txt # napalm -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.7/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -165,11 +167,16 @@ dnspython==1.16.0 # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/pytest.txt +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.7/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.7/linux.txt @@ -186,6 +193,10 @@ flaky==3.7.0 # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/pytest.txt +flask==2.2.5 + # via + # -c requirements/static/ci/py3.7/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.7/linux.txt @@ -194,6 +205,8 @@ frozenlist==1.3.0 future==0.18.3 # via # -c requirements/static/ci/py3.7/linux.txt + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -229,6 +242,10 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.7/linux.txt # -c requirements/static/ci/py3.7/linux.txt # contextvars +impacket==0.11.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.7/linux.txt @@ -236,6 +253,8 @@ importlib-metadata==4.6.4 # -r requirements/static/pkg/linux.in # attrs # backports.entry-points-selectable + # click + # flask # jsonschema # mako # moto @@ -250,6 +269,10 @@ ipaddress==1.0.22 # via # -c requirements/static/ci/py3.7/linux.txt # kubernetes +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.7/linux.txt @@ -277,6 +300,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.7/linux.txt # -c requirements/static/ci/py3.7/linux.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm @@ -313,6 +337,15 @@ kubernetes==3.0.0 # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via + # -c requirements/static/ci/py3.7/linux.txt + # impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -c requirements/static/ci/py3.7/linux.txt @@ -453,6 +486,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.7/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.17 @@ -465,6 +500,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.7/linux.txt # -c requirements/static/ci/py3.7/linux.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via # -c requirements/static/ci/py3.7/linux.txt @@ -488,6 +524,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via # -c requirements/static/ci/py3.7/linux.txt @@ -503,9 +540,10 @@ pyserial==3.4 # -c requirements/static/ci/py3.7/linux.txt # junos-eznc # netmiko -pyspnego==0.8.0 +pyspnego==0.9.2 ; python_version <= "3.7" # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in # smbprotocol pytest-custom-exit-code==0.3.0 # via @@ -672,6 +710,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -691,7 +730,8 @@ six==1.16.0 # websocket-client smbprotocol==1.10.1 # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in # pypsexec smmap==4.0.0 # via @@ -787,6 +827,7 @@ wempy==0.2.1 werkzeug==2.2.3 # via # -c requirements/static/ci/py3.7/linux.txt + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 907bfe38c627..4cff1a6d549c 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -69,6 +69,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.7/freebsd.txt # aiohttp + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -83,8 +84,10 @@ cherrypy==18.6.1 # -r requirements/static/pkg/freebsd.in ciscoconfparse==1.5.19 # via napalm -click==7.1.2 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.3 @@ -117,9 +120,12 @@ dnspython==1.16.0 # via # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -128,12 +134,16 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==2.2.5 + # via impacket frozenlist==1.3.0 # via # aiohttp # aiosignal future==0.18.3 # via + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -159,12 +169,16 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.7/freebsd.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.7/freebsd.txt # -r requirements/static/pkg/freebsd.in # attrs # backports.entry-points-selectable + # click + # flask # jsonschema # mako # moto @@ -175,6 +189,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.7/freebsd.txt @@ -197,6 +213,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.7/freebsd.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm @@ -221,6 +238,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -321,6 +344,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.17 @@ -331,6 +356,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.7/freebsd.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via napalm pyfakefs==5.3.1 @@ -348,6 +374,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.7/freebsd.txt # -r requirements/static/pkg/freebsd.in # etcd3-py + # impacket pyparsing==3.0.9 # via junos-eznc pyrsistent==0.17.3 @@ -356,6 +383,10 @@ pyserial==3.4 # via # junos-eznc # netmiko +pyspnego==0.9.2 ; python_version <= "3.7" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -470,6 +501,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -484,6 +516,8 @@ six==1.16.0 # vcert # virtualenv # websocket-client +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -548,6 +582,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==2.2.3 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt new file mode 100644 index 000000000000..b7254977916f --- /dev/null +++ b/requirements/static/ci/py3.7/lint.txt @@ -0,0 +1,845 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.7/lint.txt requirements/base.txt requirements/static/ci/common.in requirements/static/ci/lint.in requirements/static/ci/linux.in requirements/static/pkg/linux.in requirements/zeromq.txt +# +aiohttp==3.8.6 + # via + # -c requirements/static/ci/py3.7/linux.txt + # etcd3-py +aiosignal==1.2.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # aiohttp +apache-libcloud==2.5.0 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +apscheduler==3.6.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # python-telegram-bot +asn1crypto==1.3.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # certvalidator + # oscrypto +astroid==2.3.3 + # via pylint +async-timeout==4.0.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # aiohttp +asynctest==0.13.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # aiohttp +attrs==23.1.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # aiohttp + # jsonschema +backports.entry-points-selectable==1.1.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # virtualenv +backports.zoneinfo==0.2.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # tzlocal +bcrypt==4.1.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # paramiko +boto3==1.21.46 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # moto +boto==2.49.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +botocore==1.24.46 + # via + # -c requirements/static/ci/py3.7/linux.txt + # boto3 + # moto + # s3transfer +cached-property==1.5.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # pygit2 +cachetools==4.2.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # google-auth + # python-telegram-bot +cassandra-driver==3.23.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +certifi==2023.07.22 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # kubernetes + # python-telegram-bot + # requests +certvalidator==0.11.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # vcert +cffi==1.14.6 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # cryptography + # napalm + # pygit2 + # pynacl +charset-normalizer==3.2.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # aiohttp + # impacket + # requests +cheetah3==3.2.6.post2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +cheroot==8.5.2 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # cherrypy +cherrypy==18.6.1 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # -r requirements/static/pkg/linux.in +ciscoconfparse==1.5.19 + # via + # -c requirements/static/ci/py3.7/linux.txt + # napalm +click==8.1.7 + # via + # -c requirements/static/ci/py3.7/linux.txt + # flask + # geomet +clustershell==1.8.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +colorama==0.4.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # ciscoconfparse +contextvars==2.4 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt +croniter==0.3.29 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +cryptography==41.0.7 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/pkg/linux.in + # etcd3-py + # moto + # paramiko + # pyopenssl + # pyspnego + # smbprotocol + # vcert +distlib==0.3.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # virtualenv +distro==1.5.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt +dnspython==1.16.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # ciscoconfparse + # ldapdomaindump + # python-etcd +docker==6.1.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/lint.in +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.7/linux.txt + # impacket +etcd3-py==0.1.6 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +filelock==3.0.12 + # via + # -c requirements/static/ci/py3.7/linux.txt + # virtualenv +flask==2.2.5 + # via + # -c requirements/static/ci/py3.7/linux.txt + # impacket +frozenlist==1.3.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # aiohttp + # aiosignal +future==0.18.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # impacket + # ldapdomaindump + # napalm + # textfsm +genshi==0.7.5 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +geomet==0.1.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # cassandra-driver +gitdb==4.0.7 + # via + # -c requirements/static/ci/py3.7/linux.txt + # gitpython +gitpython==3.1.41 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +google-auth==2.1.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # kubernetes +hglib==2.6.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +idna==3.2 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # etcd3-py + # requests + # yarl +immutables==0.15 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # contextvars +impacket==0.11.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +importlib-metadata==4.6.4 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/pkg/linux.in + # attrs + # backports.entry-points-selectable + # click + # flask + # jsonschema + # mako + # moto + # virtualenv +ipaddress==1.0.22 + # via + # -c requirements/static/ci/py3.7/linux.txt + # kubernetes +isort==4.3.21 + # via pylint +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # flask +jaraco.classes==3.2.1 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # jaraco.collections +jaraco.collections==3.4.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # cherrypy +jaraco.functools==2.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # cheroot + # jaraco.text + # tempora +jaraco.text==3.5.1 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # jaraco.collections +jinja2==3.1.3 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt + # junos-eznc + # moto + # napalm +jmespath==1.0.1 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt + # -r requirements/static/ci/common.in + # boto3 + # botocore +jsonschema==3.2.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +junos-eznc==2.4.0 ; sys_platform != "win32" and python_version <= "3.10" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # napalm +jxmlease==1.0.1 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +kazoo==2.6.1 ; sys_platform != "win32" and sys_platform != "darwin" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +keyring==5.7.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +kubernetes==3.0.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +lazy-object-proxy==1.4.3 + # via astroid +ldap3==2.9.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via + # -c requirements/static/ci/py3.7/linux.txt + # impacket +libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +looseversion==1.0.2 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt +lxml==4.9.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # junos-eznc + # napalm + # ncclient +mako==1.2.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +markupsafe==2.1.2 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt + # jinja2 + # mako + # moto + # werkzeug +mccabe==0.6.1 + # via pylint +mercurial==6.0.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +modernize==0.5 + # via saltpylint +more-itertools==5.0.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # cheroot + # cherrypy + # jaraco.classes + # jaraco.functools +moto==3.0.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +msgpack==1.0.2 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt +multidict==6.0.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # aiohttp + # yarl +napalm==3.1.0 ; sys_platform != "win32" and python_version < "3.10" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +ncclient==0.6.4 + # via + # -c requirements/static/ci/py3.7/linux.txt + # junos-eznc +netaddr==0.7.19 + # via + # -c requirements/static/ci/py3.7/linux.txt + # junos-eznc + # napalm + # pyeapi +netmiko==3.2.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # napalm +ntc-templates==1.4.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # junos-eznc +oscrypto==1.2.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # certvalidator +packaging==22.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt + # docker +paramiko==3.4.0 ; sys_platform != "win32" and sys_platform != "darwin" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # junos-eznc + # napalm + # ncclient + # netmiko + # scp +passlib==1.7.4 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # ciscoconfparse +pathspec==0.9.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # yamllint +pathtools==0.1.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # watchdog +platformdirs==2.2.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # virtualenv +portend==2.4 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # cherrypy +psutil==5.8.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt +pyasn1-modules==0.2.4 + # via + # -c requirements/static/ci/py3.7/linux.txt + # google-auth +pyasn1==0.4.8 + # via + # -c requirements/static/ci/py3.7/linux.txt + # impacket + # ldap3 + # pyasn1-modules + # rsa +pycodestyle==2.5.0 + # via saltpylint +pycparser==2.17 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # cffi +pycryptodomex==3.19.1 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/crypto.txt + # impacket +pyeapi==0.8.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # napalm +pygit2==1.10.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +pyiface==0.0.11 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +pyinotify==0.9.6 ; sys_platform != "win32" and sys_platform != "darwin" and platform_system != "openbsd" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +pyjwt==2.4.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # twilio +pylint==2.4.4 + # via + # -r requirements/static/ci/lint.in + # saltpylint +pymysql==1.0.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +pynacl==1.5.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # paramiko +pyopenssl==23.2.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/pkg/linux.in + # etcd3-py + # impacket +pyparsing==3.0.9 + # via + # -c requirements/static/ci/py3.7/linux.txt + # junos-eznc +pyrsistent==0.17.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # jsonschema +pyserial==3.4 + # via + # -c requirements/static/ci/py3.7/linux.txt + # junos-eznc + # netmiko +pyspnego==0.9.2 ; python_version <= "3.7" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # smbprotocol +python-consul==1.1.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +python-dateutil==2.8.1 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/pkg/linux.in + # botocore + # croniter + # kubernetes + # moto + # vcert +python-etcd==0.4.5 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +python-gnupg==0.4.8 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/pkg/linux.in +python-telegram-bot==13.7 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +pytz==2022.1 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # apscheduler + # moto + # python-telegram-bot + # tempora + # twilio +pyvmomi==6.7.1.2018.12 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +pyyaml==6.0.1 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt + # clustershell + # junos-eznc + # kubernetes + # napalm + # yamllint + # yamlordereddictloader +pyzmq==23.2.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/zeromq.txt +redis-py-cluster==2.1.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +redis==3.5.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # redis-py-cluster +requests==2.31.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/base.txt + # -r requirements/static/ci/common.in + # apache-libcloud + # docker + # etcd3-py + # kubernetes + # moto + # napalm + # python-consul + # pyvmomi + # responses + # twilio + # vcert +responses==0.10.6 + # via + # -c requirements/static/ci/py3.7/linux.txt + # moto +rfc3987==1.3.8 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +rpm-vercmp==0.1.2 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/pkg/linux.in +rsa==4.7.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # google-auth +s3transfer==0.5.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # boto3 +saltpylint==2023.8.3 + # via -r requirements/static/ci/lint.in +scp==0.13.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # junos-eznc + # napalm + # netmiko +semantic-version==2.9.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # etcd3-py +setproctitle==1.3.2 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/pkg/linux.in +six==1.16.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # apscheduler + # astroid + # cassandra-driver + # cheroot + # etcd3-py + # genshi + # geomet + # impacket + # jsonschema + # junos-eznc + # kazoo + # kubernetes + # more-itertools + # ncclient + # python-consul + # python-dateutil + # pyvmomi + # responses + # textfsm + # transitions + # vcert + # virtualenv + # websocket-client +slack-bolt==1.15.5 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +slack-sdk==3.19.5 + # via + # -c requirements/static/ci/py3.7/linux.txt + # slack-bolt +smbprotocol==1.10.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +smmap==4.0.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # gitdb +sqlparse==0.4.4 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +strict-rfc3339==0.7 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +tempora==4.1.1 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # portend +terminal==0.4.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # ntc-templates +textfsm==1.1.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # napalm + # netmiko + # ntc-templates +timelib==0.2.5 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/pkg/linux.in +toml==0.10.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in + # -r requirements/static/ci/lint.in +tornado==6.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # python-telegram-bot +transitions==0.8.9 + # via + # -c requirements/static/ci/py3.7/linux.txt + # junos-eznc +twilio==7.9.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +typed-ast==1.4.1 + # via astroid +typing-extensions==3.10.0.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # aiohttp + # async-timeout + # gitpython + # importlib-metadata + # yarl +tzlocal==3.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # apscheduler +urllib3==1.26.18 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # botocore + # docker + # kubernetes + # python-etcd + # requests +vcert==0.7.4 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +virtualenv==20.7.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +watchdog==0.10.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +websocket-client==0.40.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # docker + # kubernetes +wempy==0.2.1 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/common.in +werkzeug==2.2.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # flask + # moto +wrapt==1.11.1 + # via astroid +xmltodict==0.12.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # moto +yamllint==1.26.3 + # via + # -c requirements/static/ci/py3.7/linux.txt + # -r requirements/static/ci/linux.in +yamlordereddictloader==0.4.0 + # via + # -c requirements/static/ci/py3.7/linux.txt + # junos-eznc +yarl==1.7.2 + # via + # -c requirements/static/ci/py3.7/linux.txt + # aiohttp +zc.lockfile==1.4 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # cherrypy +zipp==3.5.0 + # via + # -c requirements/static/ci/../pkg/py3.7/linux.txt + # -c requirements/static/ci/py3.7/linux.txt + # importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 77044b1661df..a814cb91f9d3 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -76,6 +76,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.7/linux.txt # aiohttp + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -90,8 +91,10 @@ cherrypy==18.6.1 # -r requirements/static/pkg/linux.in ciscoconfparse==1.5.19 # via napalm -click==7.1.1 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.3 @@ -123,9 +126,12 @@ dnspython==1.16.0 # via # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -134,12 +140,16 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==2.2.5 + # via impacket frozenlist==1.3.0 # via # aiohttp # aiosignal future==0.18.3 # via + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -165,12 +175,16 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.7/linux.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.7/linux.txt # -r requirements/static/pkg/linux.in # attrs # backports.entry-points-selectable + # click + # flask # jsonschema # mako # moto @@ -181,6 +195,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.7/linux.txt @@ -227,6 +243,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -327,6 +349,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.17 @@ -337,6 +361,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.7/linux.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via napalm pyfakefs==5.3.1 @@ -360,6 +385,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.7/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via junos-eznc pyrsistent==0.17.3 @@ -368,6 +394,10 @@ pyserial==3.4 # via # junos-eznc # netmiko +pyspnego==0.9.2 ; python_version <= "3.7" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -500,6 +530,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -519,6 +550,8 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -589,6 +622,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==2.2.3 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index f8dce51150f4..ad8830a3595e 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -61,6 +61,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt # aiohttp + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -73,8 +74,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.7/windows.txt # -r requirements/static/ci/common.in # -r requirements/windows.txt -click==7.1.2 - # via geomet +click==8.1.7 + # via + # flask + # geomet clr-loader==0.2.4 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt @@ -82,7 +85,9 @@ clr-loader==0.2.4 clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.1 - # via pytest + # via + # click + # pytest contextvars==2.4 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt @@ -94,6 +99,7 @@ cryptography==42.0.5 # etcd3-py # moto # pyopenssl + # pyspnego # requests-ntlm # trustme distlib==0.3.2 @@ -108,9 +114,12 @@ dmidecode==0.9.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -119,6 +128,8 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==2.2.5 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -151,12 +162,16 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt # -r requirements/windows.txt # attrs # backports.entry-points-selectable + # click + # flask # jsonschema # mako # moto @@ -171,6 +186,8 @@ ioloop==0.1a0 # -r requirements/windows.txt ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt @@ -193,6 +210,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt # -r requirements/base.txt + # flask # moto jmespath==1.0.1 # via @@ -207,6 +225,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket looseversion==1.0.2 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt @@ -283,6 +307,8 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt # -r requirements/windows.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 @@ -313,8 +339,13 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.7/windows.txt # -r requirements/windows.txt # etcd3-py + # impacket pyrsistent==0.17.3 # via jsonschema +pyspnego==0.9.2 ; python_version <= "3.7" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -437,6 +468,7 @@ six==1.15.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kubernetes # python-dateutil @@ -446,6 +478,8 @@ six==1.15.0 # textfsm # virtualenv # websocket-client +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt @@ -503,6 +537,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==2.2.3 # via + # flask # moto # pytest-httpserver wheel==0.38.4 diff --git a/requirements/static/ci/py3.8/changelog.txt b/requirements/static/ci/py3.8/changelog.txt index a55d84719b36..ec1093e07e68 100644 --- a/requirements/static/ci/py3.8/changelog.txt +++ b/requirements/static/ci/py3.8/changelog.txt @@ -6,7 +6,7 @@ # click-default-group==1.2.2 # via towncrier -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.8/linux.txt # click-default-group diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index b7c860f0a21d..14e0e71d9061 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -44,6 +44,10 @@ bcrypt==4.1.2 # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via + # -c requirements/static/ci/py3.8/linux.txt + # flask boto3==1.21.46 # via # -c requirements/static/ci/py3.8/linux.txt @@ -110,9 +114,10 @@ ciscoconfparse==1.5.19 # via # -c requirements/static/ci/py3.8/linux.txt # napalm -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.8/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -160,11 +165,16 @@ dnspython==1.16.0 # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/pytest.txt +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.8/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.8/linux.txt @@ -181,6 +191,10 @@ flaky==3.7.0 # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/pytest.txt +flask==3.0.0 + # via + # -c requirements/static/ci/py3.8/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.8/linux.txt @@ -189,6 +203,8 @@ frozenlist==1.3.0 future==0.18.3 # via # -c requirements/static/ci/py3.8/linux.txt + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -224,11 +240,16 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt # contextvars +impacket==0.11.0 + # via + # -c requirements/static/ci/py3.8/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/pkg/linux.in + # flask iniconfig==1.0.1 # via # -c requirements/static/ci/py3.8/linux.txt @@ -237,6 +258,10 @@ ipaddress==1.0.22 # via # -c requirements/static/ci/py3.8/linux.txt # kubernetes +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.8/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt @@ -264,6 +289,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm @@ -300,6 +326,15 @@ kubernetes==3.0.0 # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # -c requirements/static/ci/py3.8/linux.txt + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via + # -c requirements/static/ci/py3.8/linux.txt + # impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -c requirements/static/ci/py3.8/linux.txt @@ -440,6 +475,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.8/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.17 @@ -452,6 +489,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via # -c requirements/static/ci/py3.8/linux.txt @@ -475,6 +513,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via # -c requirements/static/ci/py3.8/linux.txt @@ -490,9 +529,10 @@ pyserial==3.4 # -c requirements/static/ci/py3.8/linux.txt # junos-eznc # netmiko -pyspnego==0.8.0 +pyspnego==0.10.2 ; python_version >= "3.8" # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.8/linux.txt + # -r requirements/static/ci/common.in # smbprotocol pytest-custom-exit-code==0.3.0 # via @@ -659,6 +699,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -678,7 +719,8 @@ six==1.16.0 # websocket-client smbprotocol==1.10.1 # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.8/linux.txt + # -r requirements/static/ci/common.in # pypsexec smmap==4.0.0 # via @@ -768,6 +810,7 @@ wempy==0.2.1 werkzeug==3.0.1 # via # -c requirements/static/ci/py3.8/linux.txt + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 2fe8376de2a0..a3bf5653b878 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -30,6 +30,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -78,8 +80,10 @@ cherrypy==18.6.1 # -r requirements/static/pkg/freebsd.in ciscoconfparse==1.5.19 # via napalm -click==7.1.2 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.3 @@ -112,9 +116,12 @@ dnspython==1.16.0 # via # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -123,12 +130,16 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp # aiosignal future==0.18.3 # via + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -154,14 +165,19 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.8/freebsd.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.8/freebsd.txt # -r requirements/static/pkg/freebsd.in + # flask iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.8/freebsd.txt @@ -184,6 +200,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.8/freebsd.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm @@ -208,6 +225,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -308,6 +331,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.17 @@ -318,6 +343,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.8/freebsd.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via napalm pyfakefs==5.3.1 @@ -335,6 +361,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.8/freebsd.txt # -r requirements/static/pkg/freebsd.in # etcd3-py + # impacket pyparsing==3.0.9 # via junos-eznc pyrsistent==0.17.3 @@ -343,6 +370,10 @@ pyserial==3.4 # via # junos-eznc # netmiko +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -457,6 +488,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -471,6 +503,8 @@ six==1.16.0 # vcert # virtualenv # websocket-client +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -529,6 +563,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 6326ba0bcf10..2e4bfa628831 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -49,6 +49,10 @@ bcrypt==4.1.2 # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via + # -c requirements/static/ci/py3.8/linux.txt + # flask boto3==1.21.46 # via # -c requirements/static/ci/py3.8/linux.txt @@ -118,9 +122,10 @@ ciscoconfparse==1.5.19 # via # -c requirements/static/ci/py3.8/linux.txt # napalm -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.8/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -148,6 +153,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # vcert dill==0.3.8 # via pylint @@ -165,11 +172,16 @@ dnspython==1.16.0 # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/lint.in +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.8/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.8/linux.txt @@ -178,6 +190,10 @@ filelock==3.0.12 # via # -c requirements/static/ci/py3.8/linux.txt # virtualenv +flask==3.0.0 + # via + # -c requirements/static/ci/py3.8/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.8/linux.txt @@ -186,6 +202,8 @@ frozenlist==1.3.0 future==0.18.3 # via # -c requirements/static/ci/py3.8/linux.txt + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -224,17 +242,26 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt # contextvars +impacket==0.11.0 + # via + # -c requirements/static/ci/py3.8/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/pkg/linux.in + # flask ipaddress==1.0.22 # via # -c requirements/static/ci/py3.8/linux.txt # kubernetes isort==4.3.21 # via pylint +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.8/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt @@ -430,6 +457,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.8/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.17 @@ -442,6 +471,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via # -c requirements/static/ci/py3.8/linux.txt @@ -481,6 +511,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via # -c requirements/static/ci/py3.8/linux.txt @@ -494,6 +525,11 @@ pyserial==3.4 # -c requirements/static/ci/py3.8/linux.txt # junos-eznc # netmiko +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -c requirements/static/ci/py3.8/linux.txt + # -r requirements/static/ci/common.in + # smbprotocol python-consul==1.1.0 # via # -c requirements/static/ci/py3.8/linux.txt @@ -623,6 +659,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -646,6 +683,10 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.8/linux.txt # slack-bolt +smbprotocol==1.10.1 + # via + # -c requirements/static/ci/py3.8/linux.txt + # -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/py3.8/linux.txt @@ -744,6 +785,7 @@ wempy==0.2.1 werkzeug==3.0.1 # via # -c requirements/static/ci/py3.8/linux.txt + # flask # moto xmltodict==0.12.0 # via diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index ed32730015af..abe849e0e064 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -34,6 +34,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -85,8 +87,10 @@ cherrypy==18.6.1 # -r requirements/static/pkg/linux.in ciscoconfparse==1.5.19 # via napalm -click==7.1.1 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.3 @@ -118,9 +122,12 @@ dnspython==1.16.0 # via # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -129,12 +136,16 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp # aiosignal future==0.18.3 # via + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -160,14 +171,19 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt # -r requirements/static/pkg/linux.in + # flask iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt @@ -214,6 +230,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -314,6 +336,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.17 @@ -324,6 +348,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via napalm pyfakefs==5.3.1 @@ -347,6 +372,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.8/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via junos-eznc pyrsistent==0.17.3 @@ -355,6 +381,10 @@ pyserial==3.4 # via # junos-eznc # netmiko +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -487,6 +517,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -506,6 +537,8 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -570,6 +603,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 658797085da1..7f3d9f150238 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -22,6 +22,8 @@ backports.entry-points-selectable==1.1.0 # via virtualenv bcrypt==4.1.2 # via -r requirements/static/ci/common.in +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -68,8 +70,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.8/windows.txt # -r requirements/static/ci/common.in # -r requirements/windows.txt -click==7.1.2 - # via geomet +click==8.1.7 + # via + # flask + # geomet clr-loader==0.2.4 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt @@ -77,7 +81,9 @@ clr-loader==0.2.4 clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.1 - # via pytest + # via + # click + # pytest contextvars==2.4 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt @@ -89,6 +95,7 @@ cryptography==42.0.5 # etcd3-py # moto # pyopenssl + # pyspnego # requests-ntlm # trustme distlib==0.3.2 @@ -103,9 +110,12 @@ dmidecode==0.9.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -114,6 +124,8 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -146,10 +158,13 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt # -r requirements/windows.txt + # flask iniconfig==1.0.1 # via pytest ioloop==0.1a0 @@ -158,6 +173,8 @@ ioloop==0.1a0 # -r requirements/windows.txt ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt @@ -180,6 +197,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt # -r requirements/base.txt + # flask # moto jmespath==1.0.1 # via @@ -194,6 +212,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket looseversion==1.0.2 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt @@ -270,6 +294,8 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt # -r requirements/windows.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 @@ -300,8 +326,13 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.8/windows.txt # -r requirements/windows.txt # etcd3-py + # impacket pyrsistent==0.17.3 # via jsonschema +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -424,6 +455,7 @@ six==1.15.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kubernetes # python-dateutil @@ -433,12 +465,16 @@ six==1.15.0 # textfsm # virtualenv # websocket-client +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt # gitdb sqlparse==0.4.4 # via -r requirements/static/ci/common.in +sspilib==0.1.0 + # via pyspnego strict-rfc3339==0.7 # via -r requirements/static/ci/common.in tempora==4.1.1 @@ -484,6 +520,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver wheel==0.38.4 diff --git a/requirements/static/ci/py3.9/changelog.txt b/requirements/static/ci/py3.9/changelog.txt index 540b3c88fcc8..83bb316718b5 100644 --- a/requirements/static/ci/py3.9/changelog.txt +++ b/requirements/static/ci/py3.9/changelog.txt @@ -6,7 +6,7 @@ # click-default-group==1.2.2 # via towncrier -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.9/linux.txt # click-default-group diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 411e589ac4d9..1e3ce260df7b 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -44,6 +44,10 @@ bcrypt==4.1.2 # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via + # -c requirements/static/ci/py3.9/linux.txt + # flask boto3==1.21.46 # via # -c requirements/static/ci/py3.9/linux.txt @@ -110,9 +114,10 @@ ciscoconfparse==1.5.19 # via # -c requirements/static/ci/py3.9/linux.txt # napalm -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.9/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -160,11 +165,16 @@ dnspython==1.16.0 # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/pytest.txt +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.9/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.9/linux.txt @@ -181,6 +191,10 @@ flaky==3.7.0 # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/pytest.txt +flask==3.0.0 + # via + # -c requirements/static/ci/py3.9/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.9/linux.txt @@ -189,6 +203,8 @@ frozenlist==1.3.0 future==0.18.3 # via # -c requirements/static/ci/py3.9/linux.txt + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -224,11 +240,16 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt # contextvars +impacket==0.11.0 + # via + # -c requirements/static/ci/py3.9/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/pkg/linux.in + # flask iniconfig==1.0.1 # via # -c requirements/static/ci/py3.9/linux.txt @@ -237,6 +258,10 @@ ipaddress==1.0.22 # via # -c requirements/static/ci/py3.9/linux.txt # kubernetes +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.9/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt @@ -264,6 +289,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm @@ -300,6 +326,15 @@ kubernetes==3.0.0 # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # -c requirements/static/ci/py3.9/linux.txt + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via + # -c requirements/static/ci/py3.9/linux.txt + # impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -c requirements/static/ci/py3.9/linux.txt @@ -440,6 +475,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.9/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -454,6 +491,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via # -c requirements/static/ci/py3.9/linux.txt @@ -477,6 +515,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via # -c requirements/static/ci/py3.9/linux.txt @@ -492,9 +531,10 @@ pyserial==3.4 # -c requirements/static/ci/py3.9/linux.txt # junos-eznc # netmiko -pyspnego==0.8.0 +pyspnego==0.10.2 ; python_version >= "3.8" # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.9/linux.txt + # -r requirements/static/ci/common.in # smbprotocol pytest-custom-exit-code==0.3.0 # via @@ -661,6 +701,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -680,7 +721,8 @@ six==1.16.0 # websocket-client smbprotocol==1.10.1 # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.9/linux.txt + # -r requirements/static/ci/common.in # pypsexec smmap==4.0.0 # via @@ -770,6 +812,7 @@ wempy==0.2.1 werkzeug==3.0.1 # via # -c requirements/static/ci/py3.9/linux.txt + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 07849b7b1688..fdcc1a8bdf7b 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -33,6 +33,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -81,8 +83,10 @@ cherrypy==18.6.1 # -r requirements/static/ci/common.in ciscoconfparse==1.5.19 # via napalm -click==7.0 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.1 # via -r requirements/static/ci/common.in colorama==0.4.3 @@ -114,9 +118,12 @@ dnspython==1.16.0 # via # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -125,12 +132,16 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp # aiosignal future==0.18.3 # via + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -162,14 +173,19 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.9/darwin.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.9/darwin.txt # -r requirements/darwin.txt + # flask iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.9/darwin.txt @@ -192,6 +208,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.9/darwin.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm @@ -214,6 +231,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket linode-python==1.1.1 # via # -c requirements/static/ci/../pkg/py3.9/darwin.txt @@ -317,6 +340,8 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.9/darwin.txt # -r requirements/darwin.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -329,6 +354,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.9/darwin.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via napalm pyfakefs==5.3.1 @@ -344,6 +370,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.9/darwin.txt # -r requirements/darwin.txt # etcd3-py + # impacket pyparsing==3.0.9 # via junos-eznc pyrsistent==0.17.3 @@ -352,6 +379,10 @@ pyserial==3.4 # via # junos-eznc # netmiko +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -467,6 +498,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kubernetes @@ -479,6 +511,8 @@ six==1.16.0 # vcert # virtualenv # websocket-client +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.9/darwin.txt @@ -543,6 +577,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index ceed8c1c8384..775c7b328108 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -30,6 +30,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -78,8 +80,10 @@ cherrypy==18.6.1 # -r requirements/static/pkg/freebsd.in ciscoconfparse==1.5.19 # via napalm -click==7.1.2 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.3 @@ -112,9 +116,12 @@ dnspython==1.16.0 # via # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -123,12 +130,16 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp # aiosignal future==0.18.3 # via + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -154,14 +165,19 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.9/freebsd.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.9/freebsd.txt # -r requirements/static/pkg/freebsd.in + # flask iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.9/freebsd.txt @@ -184,6 +200,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.9/freebsd.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm @@ -208,6 +225,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -308,6 +331,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -320,6 +345,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.9/freebsd.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via napalm pyfakefs==5.3.1 @@ -337,6 +363,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.9/freebsd.txt # -r requirements/static/pkg/freebsd.in # etcd3-py + # impacket pyparsing==3.0.9 # via junos-eznc pyrsistent==0.17.3 @@ -345,6 +372,10 @@ pyserial==3.4 # via # junos-eznc # netmiko +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -459,6 +490,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -473,6 +505,8 @@ six==1.16.0 # vcert # virtualenv # websocket-client +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -531,6 +565,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index a01129a7f41a..9bbcb0e4bba4 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -45,6 +45,10 @@ bcrypt==4.1.2 # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via + # -c requirements/static/ci/py3.9/linux.txt + # flask boto3==1.21.46 # via # -c requirements/static/ci/py3.9/linux.txt @@ -114,9 +118,10 @@ ciscoconfparse==1.5.19 # via # -c requirements/static/ci/py3.9/linux.txt # napalm -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.9/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -144,6 +149,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # vcert dill==0.3.8 # via pylint @@ -161,11 +168,16 @@ dnspython==1.16.0 # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/lint.in +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.9/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.9/linux.txt @@ -174,6 +186,10 @@ filelock==3.0.12 # via # -c requirements/static/ci/py3.9/linux.txt # virtualenv +flask==3.0.0 + # via + # -c requirements/static/ci/py3.9/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.9/linux.txt @@ -182,6 +198,8 @@ frozenlist==1.3.0 future==0.18.3 # via # -c requirements/static/ci/py3.9/linux.txt + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -220,17 +238,26 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt # contextvars +impacket==0.11.0 + # via + # -c requirements/static/ci/py3.9/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/pkg/linux.in + # flask ipaddress==1.0.22 # via # -c requirements/static/ci/py3.9/linux.txt # kubernetes isort==4.3.21 # via pylint +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.9/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt @@ -426,6 +453,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.9/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -440,6 +469,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via # -c requirements/static/ci/py3.9/linux.txt @@ -479,6 +509,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via # -c requirements/static/ci/py3.9/linux.txt @@ -492,6 +523,11 @@ pyserial==3.4 # -c requirements/static/ci/py3.9/linux.txt # junos-eznc # netmiko +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -c requirements/static/ci/py3.9/linux.txt + # -r requirements/static/ci/common.in + # smbprotocol python-consul==1.1.0 # via # -c requirements/static/ci/py3.9/linux.txt @@ -621,6 +657,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -644,6 +681,10 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.9/linux.txt # slack-bolt +smbprotocol==1.10.1 + # via + # -c requirements/static/ci/py3.9/linux.txt + # -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/py3.9/linux.txt @@ -742,6 +783,7 @@ wempy==0.2.1 werkzeug==3.0.1 # via # -c requirements/static/ci/py3.9/linux.txt + # flask # moto xmltodict==0.12.0 # via diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index d9ce9adf4cff..dffc9cc049be 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -32,6 +32,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -83,8 +85,10 @@ cherrypy==18.6.1 # -r requirements/static/pkg/linux.in ciscoconfparse==1.5.19 # via napalm -click==7.1.1 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.3 @@ -116,9 +120,12 @@ dnspython==1.16.0 # via # -r requirements/static/ci/common.in # ciscoconfparse + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -127,12 +134,16 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp # aiosignal future==0.18.3 # via + # impacket + # ldapdomaindump # napalm # textfsm genshi==0.7.5 @@ -158,14 +169,19 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt # -r requirements/static/pkg/linux.in + # flask iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt @@ -212,6 +228,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -312,6 +334,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -324,6 +348,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt # -r requirements/crypto.txt + # impacket pyeapi==0.8.3 # via napalm pyfakefs==5.3.1 @@ -347,6 +372,7 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.9/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyparsing==3.0.9 # via junos-eznc pyrsistent==0.17.3 @@ -355,6 +381,10 @@ pyserial==3.4 # via # junos-eznc # netmiko +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -487,6 +517,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # junos-eznc # kazoo @@ -506,6 +537,8 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -570,6 +603,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 58630bde24f2..22bd924df201 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -22,6 +22,8 @@ backports.entry-points-selectable==1.1.0 # via virtualenv bcrypt==4.1.2 # via -r requirements/static/ci/common.in +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -68,8 +70,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.9/windows.txt # -r requirements/static/ci/common.in # -r requirements/windows.txt -click==7.1.2 - # via geomet +click==8.1.7 + # via + # flask + # geomet clr-loader==0.2.4 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt @@ -77,7 +81,9 @@ clr-loader==0.2.4 clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.1 - # via pytest + # via + # click + # pytest contextvars==2.4 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt @@ -89,6 +95,7 @@ cryptography==42.0.5 # etcd3-py # moto # pyopenssl + # pyspnego # requests-ntlm # trustme distlib==0.3.2 @@ -103,9 +110,12 @@ dmidecode==0.9.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -114,6 +124,8 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -146,10 +158,13 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt # contextvars +impacket==0.11.0 + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt # -r requirements/windows.txt + # flask iniconfig==1.0.1 # via pytest ioloop==0.1a0 @@ -158,6 +173,8 @@ ioloop==0.1a0 # -r requirements/windows.txt ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt @@ -180,6 +197,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt # -r requirements/base.txt + # flask # moto jmespath==1.0.1 # via @@ -194,6 +212,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket looseversion==1.0.2 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt @@ -270,6 +294,8 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt # -r requirements/windows.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -301,8 +327,13 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.9/windows.txt # -r requirements/windows.txt # etcd3-py + # impacket pyrsistent==0.17.3 # via jsonschema +pyspnego==0.10.2 ; python_version >= "3.8" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -425,6 +456,7 @@ six==1.15.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kubernetes # python-dateutil @@ -434,12 +466,16 @@ six==1.15.0 # textfsm # virtualenv # websocket-client +smbprotocol==1.10.1 + # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt # gitdb sqlparse==0.4.4 # via -r requirements/static/ci/common.in +sspilib==0.1.0 + # via pyspnego strict-rfc3339==0.7 # via -r requirements/static/ci/common.in tempora==4.1.1 @@ -485,6 +521,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver wheel==0.38.4 diff --git a/tests/integration/utils/test_smb.py b/tests/integration/utils/test_smb.py deleted file mode 100644 index 8ef792d63402..000000000000 --- a/tests/integration/utils/test_smb.py +++ /dev/null @@ -1,313 +0,0 @@ -""" -Test utility methods that communicate with SMB shares. -""" - -import getpass -import logging -import os -import shutil -import signal -import subprocess -import tempfile -import time - -import pytest - -import salt.utils.files -import salt.utils.network -import salt.utils.path -import salt.utils.smb -from tests.support.case import TestCase - -log = logging.getLogger(__name__) -CONFIG = ( - "[global]\n" - "realm = saltstack.com\n" - "interfaces = lo 127.0.0.0/8\n" - "smb ports = 1445\n" - "log level = 2\n" - "map to guest = Bad User\n" - "enable core files = no\n" - "passdb backend = smbpasswd\n" - "smb passwd file = {passwdb}\n" - "lock directory = {samba_dir}\n" - "state directory = {samba_dir}\n" - "cache directory = {samba_dir}\n" - "pid directory = {samba_dir}\n" - "private dir = {samba_dir}\n" - "ncalrpc dir = {samba_dir}\n" - "socket options = IPTOS_LOWDELAY TCP_NODELAY\n" - "min receivefile size = 0\n" - "write cache size = 0\n" - "client ntlmv2 auth = no\n" - "client min protocol = SMB3_11\n" - "client plaintext auth = no\n" - "\n" - "[public]\n" - "path = {public_dir}\n" - "read only = no\n" - "guest ok = no\n" - "writeable = yes\n" - "force user = {user}\n" -) -TBE = ( - "{}:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:AC8E657F8" - "3DF82BEEA5D43BDAF7800CC:[U ]:LCT-507C14C7:" -) -IPV6_ENABLED = bool(salt.utils.network.ip_addrs6(include_loopback=True)) - - -@pytest.mark.skipif( - not salt.utils.smb.HAS_SMBPROTOCOL, reason='"smbprotocol" needs to be installed.' -) -@pytest.mark.skip_if_binaries_missing("smbd") -class TestSmb(TestCase): - - _smbd = None - - @staticmethod - def check_pid(pid): - try: - os.kill(pid, 0) - except OSError: - return False - else: - return True - - @classmethod - def setUpClass(cls): - tmpdir = tempfile.mkdtemp() - cls.samba_dir = os.path.join(tmpdir, "samba") - cls.public_dir = os.path.join(tmpdir, "public") - os.makedirs(cls.samba_dir) - os.makedirs(cls.public_dir) - os.chmod(cls.samba_dir, 0o775) - os.chmod(cls.public_dir, 0o775) - passwdb = os.path.join(tmpdir, "passwdb") - cls.username = getpass.getuser() - with salt.utils.files.fopen(passwdb, "w") as fp: - fp.write(TBE.format(cls.username)) - samba_conf = os.path.join(tmpdir, "smb.conf") - with salt.utils.files.fopen(samba_conf, "w") as fp: - fp.write( - CONFIG.format( - samba_dir=cls.samba_dir, - public_dir=cls.public_dir, - passwdb=passwdb, - user=cls.username, - ) - ) - cls._smbd = subprocess.Popen( - [shutil.which("smbd"), "-FS", "-P0", "-s", samba_conf] - ) - time.sleep(1) - pidfile = os.path.join(cls.samba_dir, "smbd.pid") - with salt.utils.files.fopen(pidfile, "r") as fp: - cls._pid = int(fp.read().strip()) - if not cls.check_pid(cls._pid): - raise Exception("Unable to locate smbd's pid file") - - @classmethod - def tearDownClass(cls): - log.warning("teardown") - os.kill(cls._pid, signal.SIGTERM) - - def test_write_file_ipv4(self): - """ - Transfer a file over SMB - """ - name = "test_write_file_v4.txt" - content = "write test file content ipv4" - share_path = os.path.join(self.public_dir, name) - assert not os.path.exists(share_path) - - local_path = tempfile.mktemp() - with salt.utils.files.fopen(local_path, "w") as fp: - fp.write(content) - conn = salt.utils.smb.get_conn("127.0.0.1", self.username, "foo", port=1445) - salt.utils.smb.put_file(local_path, name, "public", conn=conn) - conn.close() - - assert os.path.exists(share_path) - with salt.utils.files.fopen(share_path, "r") as fp: - result = fp.read() - assert result == content - - @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") - def test_write_file_ipv6(self): - """ - Transfer a file over SMB - """ - name = "test_write_file_v6.txt" - content = "write test file content ipv6" - share_path = os.path.join(self.public_dir, name) - assert not os.path.exists(share_path) - - local_path = tempfile.mktemp() - with salt.utils.files.fopen(local_path, "w") as fp: - fp.write(content) - conn = salt.utils.smb.get_conn("::1", self.username, "foo", port=1445) - salt.utils.smb.put_file(local_path, name, "public", conn=conn) - conn.close() - - assert os.path.exists(share_path) - with salt.utils.files.fopen(share_path, "r") as fp: - result = fp.read() - assert result == content - - def test_write_str_v4(self): - """ - Write a string to a file over SMB - """ - name = "test_write_str.txt" - content = "write test file content" - share_path = os.path.join(self.public_dir, name) - assert not os.path.exists(share_path) - conn = salt.utils.smb.get_conn("127.0.0.1", self.username, "foo", port=1445) - salt.utils.smb.put_str(content, name, "public", conn=conn) - conn.close() - - assert os.path.exists(share_path) - with salt.utils.files.fopen(share_path, "r") as fp: - result = fp.read() - assert result == content - - @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") - def test_write_str_v6(self): - """ - Write a string to a file over SMB - """ - name = "test_write_str_v6.txt" - content = "write test file content" - share_path = os.path.join(self.public_dir, name) - assert not os.path.exists(share_path) - conn = salt.utils.smb.get_conn("::1", self.username, "foo", port=1445) - salt.utils.smb.put_str(content, name, "public", conn=conn) - conn.close() - - assert os.path.exists(share_path) - with salt.utils.files.fopen(share_path, "r") as fp: - result = fp.read() - assert result == content - - def test_delete_file_v4(self): - """ - Validate deletion of files over SMB - """ - name = "test_delete_file.txt" - content = "read test file content" - share_path = os.path.join(self.public_dir, name) - with salt.utils.files.fopen(share_path, "w") as fp: - fp.write(content) - assert os.path.exists(share_path) - - conn = salt.utils.smb.get_conn("127.0.0.1", self.username, "foo", port=1445) - salt.utils.smb.delete_file(name, "public", conn=conn) - conn.close() - - assert not os.path.exists(share_path) - - @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") - def test_delete_file_v6(self): - """ - Validate deletion of files over SMB - """ - name = "test_delete_file_v6.txt" - content = "read test file content" - share_path = os.path.join(self.public_dir, name) - with salt.utils.files.fopen(share_path, "w") as fp: - fp.write(content) - assert os.path.exists(share_path) - - conn = salt.utils.smb.get_conn("::1", self.username, "foo", port=1445) - salt.utils.smb.delete_file(name, "public", conn=conn) - conn.close() - - assert not os.path.exists(share_path) - - def test_mkdirs_v4(self): - """ - Create directories over SMB - """ - dir_name = "mkdirs/test" - share_path = os.path.join(self.public_dir, dir_name) - assert not os.path.exists(share_path) - - conn = salt.utils.smb.get_conn("127.0.0.1", self.username, "foo", port=1445) - salt.utils.smb.mkdirs(dir_name, "public", conn=conn) - conn.close() - - assert os.path.exists(share_path) - - @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") - def test_mkdirs_v6(self): - """ - Create directories over SMB - """ - dir_name = "mkdirs/testv6" - share_path = os.path.join(self.public_dir, dir_name) - assert not os.path.exists(share_path) - - conn = salt.utils.smb.get_conn("::1", self.username, "foo", port=1445) - salt.utils.smb.mkdirs(dir_name, "public", conn=conn) - conn.close() - - assert os.path.exists(share_path) - - def test_delete_dirs_v4(self): - """ - Validate deletion of directoreies over SMB - """ - dir_name = "deldirs" - subdir_name = "deldirs/test" - local_path = os.path.join(self.public_dir, subdir_name) - os.makedirs(local_path) - assert os.path.exists(local_path) - - conn = salt.utils.smb.get_conn("127.0.0.1", self.username, "foo", port=1445) - salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) - conn.close() - - conn = salt.utils.smb.get_conn("127.0.0.1", self.username, "foo", port=1445) - salt.utils.smb.delete_directory(dir_name, "public", conn=conn) - conn.close() - - assert not os.path.exists(local_path) - assert not os.path.exists(os.path.join(self.public_dir, dir_name)) - - @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") - def test_delete_dirs_v6(self): - """ - Validate deletion of directoreies over SMB - """ - dir_name = "deldirsv6" - subdir_name = "deldirsv6/test" - local_path = os.path.join(self.public_dir, subdir_name) - os.makedirs(local_path) - assert os.path.exists(local_path) - - conn = salt.utils.smb.get_conn("::1", self.username, "foo", port=1445) - salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) - conn.close() - - conn = salt.utils.smb.get_conn("::1", self.username, "foo", port=1445) - salt.utils.smb.delete_directory(dir_name, "public", conn=conn) - conn.close() - - assert not os.path.exists(local_path) - assert not os.path.exists(os.path.join(self.public_dir, dir_name)) - - def test_connection(self): - """ - Validate creation of an SMB connection - """ - conn = salt.utils.smb.get_conn("127.0.0.1", self.username, "foo", port=1445) - conn.close() - - @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") - def test_connection_v6(self): - """ - Validate creation of an SMB connection - """ - conn = salt.utils.smb.get_conn("::1", self.username, "foo", port=1445) - conn.close() diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 83205a92b7b5..e21e137ec1c6 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -30,6 +30,7 @@ reason='"smbprotocol" needs to be installed.', ), pytest.mark.skip_if_binaries_missing("smbd", check_all=False), + pytest.mark.skip_unless_on_linux(reason="using Linux samba to test smb"), ] @@ -57,7 +58,6 @@ def smb_dict(): passwdb = Path(str(tmpdir) + os.sep + "passwdb") username = getpass.getuser() with salt.utils.files.fopen(passwdb, "w") as fp: - ## fp.write(TBE.format(username)) fp.write( "{username}:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:AC8E657F8" "3DF82BEEA5D43BDAF7800CC:[U ]:LCT-507C14C7:" @@ -66,12 +66,6 @@ def smb_dict(): samba_conf = Path(str(tmpdir) + os.sep + "smb.conf") with salt.utils.files.fopen(samba_conf, "w") as fp: fp.write( - ## CONFIG.format( - ## samba_dir=samba_dir, - ## public_dir=public_dir, - ## passwdb=passwdb, - ## user=username, - ## ) f"[global]\n" "realm = saltstack.com\n" "interfaces = lo 127.0.0.0/8\n" From c7cd90314e3db9a6ca48386888f5a2391ca79683 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Wed, 15 Nov 2023 17:30:55 -0700 Subject: [PATCH 03/32] Updated requirements for pyspnego and smbprotocol --- requirements/static/ci/common.in | 6 +++--- requirements/static/ci/py3.10/cloud.txt | 4 ++-- requirements/static/ci/py3.10/darwin.txt | 4 ++-- requirements/static/ci/py3.10/freebsd.txt | 4 ++-- requirements/static/ci/py3.10/lint.txt | 4 ++-- requirements/static/ci/py3.10/linux.txt | 4 ++-- requirements/static/ci/py3.10/windows.txt | 9 --------- requirements/static/ci/py3.7/cloud.txt | 4 ++-- requirements/static/ci/py3.7/freebsd.txt | 4 ++-- requirements/static/ci/py3.7/lint.txt | 4 ++-- requirements/static/ci/py3.7/linux.txt | 4 ++-- requirements/static/ci/py3.7/windows.txt | 9 +-------- requirements/static/ci/py3.8/cloud.txt | 4 ++-- requirements/static/ci/py3.8/freebsd.txt | 4 ++-- requirements/static/ci/py3.8/lint.txt | 4 ++-- requirements/static/ci/py3.8/linux.txt | 4 ++-- requirements/static/ci/py3.8/windows.txt | 9 --------- requirements/static/ci/py3.9/cloud.txt | 4 ++-- requirements/static/ci/py3.9/darwin.txt | 4 ++-- requirements/static/ci/py3.9/freebsd.txt | 4 ++-- requirements/static/ci/py3.9/lint.txt | 4 ++-- requirements/static/ci/py3.9/linux.txt | 4 ++-- requirements/static/ci/py3.9/windows.txt | 9 --------- 23 files changed, 40 insertions(+), 74 deletions(-) diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index 472ecd8d8cb2..3f99856e2546 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -51,6 +51,6 @@ cheetah3>=3.2.2 mako wempy impacket -pyspnego==0.9.2; python_version <= '3.7' -pyspnego==0.10.2; python_version >= '3.8' -smbprotocol==1.10.1 +pyspnego==0.9.2; sys_platform != 'win32' and python_version <= '3.7' +pyspnego==0.10.2; sys_platform != 'win32' and python_version >= '3.8' +smbprotocol==1.10.1; sys_platform != 'win32' diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 91789f8a122e..d61f91782e73 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -491,7 +491,7 @@ pyserial==3.4 # via # -c requirements/static/ci/py3.10/linux.txt # junos-eznc -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in @@ -675,7 +675,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 1b97bd6a826f..47473760a3fe 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -346,7 +346,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -r requirements/static/ci/common.in # smbprotocol @@ -473,7 +473,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index be047f48c313..14fbb9382ea7 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -339,7 +339,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -r requirements/static/ci/common.in # smbprotocol @@ -467,7 +467,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index ce9454a49acf..a37b9b5a4217 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -496,7 +496,7 @@ pyserial==3.4 # via # -c requirements/static/ci/py3.10/linux.txt # junos-eznc -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in @@ -655,7 +655,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.10/linux.txt # slack-bolt -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 78d9af0d226a..e59e01e48459 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -356,7 +356,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -r requirements/static/ci/common.in # smbprotocol @@ -510,7 +510,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index ab263ef10f13..ec3a540a846d 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -93,7 +93,6 @@ cryptography==42.0.5 # etcd3-py # moto # pyopenssl - # pyspnego # requests-ntlm # trustme distlib==0.3.6 @@ -327,10 +326,6 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; python_version >= "3.8" - # via - # -r requirements/static/ci/common.in - # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.12.29 @@ -461,16 +456,12 @@ six==1.15.0 # responses # textfsm # websocket-client -smbprotocol==1.10.1 - # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt # gitdb sqlparse==0.4.4 # via -r requirements/static/ci/common.in -sspilib==0.1.0 - # via pyspnego strict-rfc3339==0.7 # via -r requirements/static/ci/common.in tempora==4.1.1 diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 46b4bcfbb632..534cbcee4216 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -540,7 +540,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.7/linux.txt # junos-eznc # netmiko -pyspnego==0.9.2 ; python_version <= "3.7" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version <= "3.7" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in @@ -728,7 +728,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 4cff1a6d549c..399424ba85d8 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -383,7 +383,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.9.2 ; python_version <= "3.7" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version <= "3.7" # via # -r requirements/static/ci/common.in # smbprotocol @@ -516,7 +516,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index b7254977916f..d30ae7eef6f1 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -550,7 +550,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.7/linux.txt # junos-eznc # netmiko -pyspnego==0.9.2 ; python_version <= "3.7" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version <= "3.7" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in @@ -709,7 +709,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.7/linux.txt # slack-bolt -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index a814cb91f9d3..f669d847ba6d 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -394,7 +394,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.9.2 ; python_version <= "3.7" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version <= "3.7" # via # -r requirements/static/ci/common.in # smbprotocol @@ -550,7 +550,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index ad8830a3595e..d9f21073d4ab 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -99,10 +99,9 @@ cryptography==42.0.5 # etcd3-py # moto # pyopenssl - # pyspnego # requests-ntlm # trustme -distlib==0.3.2 +istlib==0.3.2 # via virtualenv distro==1.5.0 # via @@ -342,10 +341,6 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.9.2 ; python_version <= "3.7" - # via - # -r requirements/static/ci/common.in - # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -478,8 +473,6 @@ six==1.15.0 # textfsm # virtualenv # websocket-client -smbprotocol==1.10.1 - # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 14e0e71d9061..8918c581cd65 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -529,7 +529,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.8/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in @@ -717,7 +717,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index a3bf5653b878..ca498ed63416 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -370,7 +370,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -r requirements/static/ci/common.in # smbprotocol @@ -503,7 +503,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 2e4bfa628831..dabea8c9aa0e 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -525,7 +525,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.8/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in @@ -683,7 +683,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.8/linux.txt # slack-bolt -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index abe849e0e064..ca960c37e34b 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -381,7 +381,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -r requirements/static/ci/common.in # smbprotocol @@ -537,7 +537,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 7f3d9f150238..f4b760227fe3 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -95,7 +95,6 @@ cryptography==42.0.5 # etcd3-py # moto # pyopenssl - # pyspnego # requests-ntlm # trustme distlib==0.3.2 @@ -329,10 +328,6 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; python_version >= "3.8" - # via - # -r requirements/static/ci/common.in - # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -465,16 +460,12 @@ six==1.15.0 # textfsm # virtualenv # websocket-client -smbprotocol==1.10.1 - # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt # gitdb sqlparse==0.4.4 # via -r requirements/static/ci/common.in -sspilib==0.1.0 - # via pyspnego strict-rfc3339==0.7 # via -r requirements/static/ci/common.in tempora==4.1.1 diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 1e3ce260df7b..3b4dcc8cc906 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -531,7 +531,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.9/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in @@ -719,7 +719,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index fdcc1a8bdf7b..d78c505bf3c9 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -379,7 +379,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -r requirements/static/ci/common.in # smbprotocol @@ -511,7 +511,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 775c7b328108..7a7eced0029e 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -372,7 +372,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -r requirements/static/ci/common.in # smbprotocol @@ -505,7 +505,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 9bbcb0e4bba4..dcfbfd3e3eca 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -523,7 +523,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.9/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in @@ -681,7 +681,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.9/linux.txt # slack-bolt -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index dffc9cc049be..81ffd910c02e 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -381,7 +381,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" # via # -r requirements/static/ci/common.in # smbprotocol @@ -537,7 +537,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.10.1 +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 22bd924df201..3fdd0db8670c 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -95,7 +95,6 @@ cryptography==42.0.5 # etcd3-py # moto # pyopenssl - # pyspnego # requests-ntlm # trustme distlib==0.3.2 @@ -330,10 +329,6 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; python_version >= "3.8" - # via - # -r requirements/static/ci/common.in - # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -466,16 +461,12 @@ six==1.15.0 # textfsm # virtualenv # websocket-client -smbprotocol==1.10.1 - # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt # gitdb sqlparse==0.4.4 # via -r requirements/static/ci/common.in -sspilib==0.1.0 - # via pyspnego strict-rfc3339==0.7 # via -r requirements/static/ci/common.in tempora==4.1.1 From 4f904c7d342ffe74081093605364f0597d006b75 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 16 Nov 2023 14:03:08 -0700 Subject: [PATCH 04/32] Update per reviewer comments and additional fixes, issues of SMB access (signing/exncryption) to be resolved --- tests/pytests/integration/utils/test_smb.py | 278 +++++++++++--------- 1 file changed, 149 insertions(+), 129 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index e21e137ec1c6..6f7d4f2e613d 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -1,26 +1,22 @@ """ Test utility methods that communicate with SMB shares. """ +import contextlib import getpass -import logging import os import shutil import signal import subprocess import tempfile import time -from pathlib import Path import pytest -import saltfactories.utils.tempfiles import salt.utils.files import salt.utils.network import salt.utils.path import salt.utils.smb -log = logging.getLogger(__name__) - IPV6_ENABLED = bool(salt.utils.network.ip_addrs6(include_loopback=True)) @@ -44,79 +40,75 @@ def check_pid(pid): @pytest.fixture -def smb_dict(): - with saltfactories.utils.tempfiles.temp_directory() as tmpdir: - samba_dir = Path(str(tmpdir) + os.sep + "samba") - samba_dir.mkdir(parents=True) - assert samba_dir.exists() - assert samba_dir.is_dir() - public_dir = Path(str(tmpdir) + os.sep + "public") - public_dir.mkdir(parents=True) - assert public_dir.exists() - assert public_dir.is_dir() - - passwdb = Path(str(tmpdir) + os.sep + "passwdb") - username = getpass.getuser() - with salt.utils.files.fopen(passwdb, "w") as fp: - fp.write( - "{username}:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:AC8E657F8" - "3DF82BEEA5D43BDAF7800CC:[U ]:LCT-507C14C7:" - ) - - samba_conf = Path(str(tmpdir) + os.sep + "smb.conf") - with salt.utils.files.fopen(samba_conf, "w") as fp: - fp.write( - f"[global]\n" - "realm = saltstack.com\n" - "interfaces = lo 127.0.0.0/8\n" - "smb ports = 1445\n" - "log level = 2\n" - "map to guest = Bad User\n" - "enable core files = no\n" - "passdb backend = smbpasswd\n" - "smb passwd file = {passwdb}\n" - "lock directory = {samba_dir}\n" - "state directory = {samba_dir}\n" - "cache directory = {samba_dir}\n" - "pid directory = {samba_dir}\n" - "private dir = {samba_dir}\n" - "ncalrpc dir = {samba_dir}\n" - "socket options = IPTOS_LOWDELAY TCP_NODELAY\n" - "min receivefile size = 0\n" - "write cache size = 0\n" - "client ntlmv2 auth = no\n" - "client min protocol = SMB3_11\n" - "client plaintext auth = no\n" - "\n" - "[public]\n" - "path = {public_dir}\n" - "read only = no\n" - "guest ok = no\n" - "writeable = yes\n" - "force user = {username}\n" - ) - _smbd = subprocess.Popen([shutil.which("smbd"), "-F", "-P0", "-s", samba_conf]) - time.sleep(1) - - conn_dict = { - "tmpdir": tmpdir, - "samba_dir": samba_dir, - "public_dir": public_dir, - "passwdb": passwdb, - "username": username, - "samba_conf": samba_conf, - } - - pidfile = Path(str(samba_dir) + os.sep + "smbd.pid") - assert pidfile.exists() - with salt.utils.files.fopen(pidfile, "r") as fp: - _pid = int(fp.read().strip()) - if not check_pid(_pid): - raise Exception("Unable to locate smbd's pid file") - +def smb_dict(tmp_path): + samba_dir = tmp_path / "samba" + samba_dir.mkdir(parents=True) + assert samba_dir.exists() + assert samba_dir.is_dir() + public_dir = tmp_path / "public" + public_dir.mkdir(parents=True) + assert public_dir.exists() + assert public_dir.is_dir() + passwdb = tmp_path / "passwdb" + username = getpass.getuser() + with salt.utils.files.fopen(passwdb, "w") as fp: + fp.write( + "{username}:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:AC8E657F8" + "3DF82BEEA5D43BDAF7800CC:[U ]:LCT-507C14C7:" + ) + samba_conf = tmp_path / "smb.conf" + with salt.utils.files.fopen(samba_conf, "w") as fp: + fp.write( + f"[global]\n" + "realm = saltstack.com\n" + "interfaces = lo 127.0.0.0/8\n" + "smb ports = 1445\n" + "log level = 2\n" + "map to guest = Bad User\n" + "enable core files = no\n" + "passdb backend = smbpasswd\n" + f"smb passwd file = {passwdb}\n" + f"lock directory = {samba_dir}\n" + f"state directory = {samba_dir}\n" + f"cache directory = {samba_dir}\n" + f"pid directory = {samba_dir}\n" + f"private dir = {samba_dir}\n" + f"ncalrpc dir = {samba_dir}\n" + "socket options = IPTOS_LOWDELAY TCP_NODELAY\n" + "min receivefile size = 0\n" + "write cache size = 0\n" + "client ntlmv2 auth = no\n" + "client min protocol = SMB3_11\n" + "client plaintext auth = no\n" + "\n" + "[public]\n" + f"path = {public_dir}\n" + "read only = no\n" + "guest ok = no\n" + "writeable = yes\n" + f"force user = {username}\n" + ) + + _smbd = subprocess.Popen([shutil.which("smbd"), "-F", "-P0", "-s", samba_conf]) + time.sleep(1) + conn_dict = { + "tmpdir": tmp_path, + "samba_dir": samba_dir, + "public_dir": public_dir, + "passwdb": passwdb, + "username": username, + "samba_conf": samba_conf, + } + pidfile = samba_dir / "smbd.pid" + + assert pidfile.exists() + with salt.utils.files.fopen(pidfile, "r") as fp: + _pid = int(fp.read().strip()) + if not check_pid(_pid): + raise Exception("Unable to locate smbd's pid file") + try: yield conn_dict - - log.warning("teardown") + finally: os.kill(_pid, signal.SIGTERM) @@ -126,15 +118,17 @@ def test_write_file_ipv4(smb_dict): """ name = "test_write_file_v4.txt" content = "write test file content ipv4" - share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + share_path = smb_dict["public_dir"] / name assert not share_path.exists() local_path = tempfile.mktemp() with salt.utils.files.fopen(local_path, "w") as fp: fp.write(content) - conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.put_file(local_path, name, "public", conn=conn) - conn.close() + + with contextlib.closing( + salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.put_file(local_path, name, "public", conn=conn) assert share_path.exists() with salt.utils.files.fopen(share_path, "r") as fp: @@ -149,15 +143,16 @@ def test_write_file_ipv6(smb_dict): """ name = "test_write_file_v6.txt" content = "write test file content ipv6" - share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + share_path = smb_dict["public_dir"] / name assert not share_path.exists() local_path = tempfile.mktemp() with salt.utils.files.fopen(local_path, "w") as fp: fp.write(content) - conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.put_file(local_path, name, "public", conn=conn) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.put_file(local_path, name, "public", conn=conn) assert share_path.exists() with salt.utils.files.fopen(share_path, "r") as fp: @@ -171,11 +166,12 @@ def test_write_str_v4(smb_dict): """ name = "test_write_str.txt" content = "write test file content" - share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + share_path = smb_dict["public_dir"] / name assert not share_path.exists() - conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.put_str(content, name, "public", conn=conn) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.put_str(content, name, "public", conn=conn) assert share_path.exists() with salt.utils.files.fopen(share_path, "r") as fp: @@ -190,11 +186,12 @@ def test_write_str_v6(smb_dict): """ name = "test_write_str_v6.txt" content = "write test file content" - share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + share_path = smb_dict["public_dir"] / name assert not share_path.exists() - conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.put_str(content, name, "public", conn=conn) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.put_str(content, name, "public", conn=conn) assert share_path.exists() with salt.utils.files.fopen(share_path, "r") as fp: @@ -208,14 +205,16 @@ def test_delete_file_v4(smb_dict): """ name = "test_delete_file.txt" content = "read test file content" - share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + share_path = smb_dict["public_dir"] / name with salt.utils.files.fopen(share_path, "w") as fp: fp.write(content) assert share_path.exists() - conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.delete_file(name, "public", conn=conn) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.delete_file(name, "public", conn=conn) + assert not share_path.exists() @@ -226,14 +225,16 @@ def test_delete_file_v6(smb_dict): """ name = "test_delete_file_v6.txt" content = "read test file content" - share_path = Path(str(smb_dict["public_dir"]) + os.sep + name) + share_path = smb_dict["public_dir"] / name with salt.utils.files.fopen(share_path, "w") as fp: fp.write(content) assert share_path.exists() - conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.delete_file(name, "public", conn=conn) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.delete_file(name, "public", conn=conn) + assert not share_path.exists() @@ -242,12 +243,14 @@ def test_mkdirs_v4(smb_dict): Create directories over SMB """ dir_name = "mkdirs/test" - share_path = Path(str(smb_dict["public_dir"]) + os.sep + dir_name) + share_path = smb_dict["public_dir"] / dir_name assert not share_path.exists() - conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.mkdirs(dir_name, "public", conn=conn) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.mkdirs(dir_name, "public", conn=conn) + assert share_path.exists() @@ -257,12 +260,14 @@ def test_mkdirs_v6(smb_dict): Create directories over SMB """ dir_name = "mkdirs/testv6" - share_path = Path(str(smb_dict["public_dir"]) + os.sep + dir_name) + share_path = smb_dict["public_dir"] / dir_name assert not share_path.exists() - conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.mkdirs(dir_name, "public", conn=conn) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.mkdirs(dir_name, "public", conn=conn) + assert share_path.exists() @@ -272,20 +277,23 @@ def test_delete_dirs_v4(smb_dict): """ dir_name = "deldirs" subdir_name = "deldirs/test" - local_path = Path(str(smb_dict["public_dir"]) + os.sep + subdir_name) + local_path = smb_dict["public_dir"] / subdir_name local_path.mkdir(parents=True) assert local_path.exists() assert local_path.is_dir() - conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) + + with contextlib.closing( + salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.delete_directory(dir_name, "public", conn=conn) - conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.delete_directory(dir_name, "public", conn=conn) - conn.close() assert not local_path.exists() - assert not Path(str(smb_dict["public_dir"]) + os.sep + dir_name).exists() + assert not (smb_dict["public_dir"] / dir_name).exists() @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") @@ -295,28 +303,33 @@ def test_delete_dirs_v6(smb_dict): """ dir_name = "deldirsv6" subdir_name = "deldirsv6/test" - local_path = Path(str(smb_dict["public_dir"]) + os.sep + subdir_name) + local_path = smb_dict["public_dir"] / subdir_name local_path.mkdir(parents=True) assert local_path.exists() assert local_path.is_dir() - conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) + + with contextlib.closing( + salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + ) as conn: + salt.utils.smb.delete_directory(dir_name, "public", conn=conn) - conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - salt.utils.smb.delete_directory(dir_name, "public", conn=conn) - conn.close() assert not local_path.exists() - assert not Path(str(smb_dict["public_dir"]) + os.sep + dir_name).exists() + assert not (smb_dict["public_dir"] / dir_name).exists() def test_connection(smb_dict): """ Validate creation of an SMB connection """ - conn = salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + ) as conn: + pass @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") @@ -324,5 +337,12 @@ def test_connection_v6(smb_dict): """ Validate creation of an SMB connection """ - conn = salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - conn.close() + with contextlib.closing( + salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) + ) as conn: + pass + + with contextlib.closing( + salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) + ) as conn: + pass From e508cb6e75b1b2355911996ceeb7126cdf031f73 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 16 Nov 2023 16:13:24 -0700 Subject: [PATCH 05/32] Removed impacket as a requirement for Windows --- requirements/static/ci/common.in | 2 +- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/freebsd.txt | 2 +- requirements/static/ci/py3.10/lint.txt | 2 +- requirements/static/ci/py3.10/linux.txt | 2 +- requirements/static/ci/py3.10/windows.txt | 27 +--------------------- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/freebsd.txt | 2 +- requirements/static/ci/py3.7/lint.txt | 2 +- requirements/static/ci/py3.7/linux.txt | 2 +- requirements/static/ci/py3.7/windows.txt | 27 +--------------------- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/freebsd.txt | 2 +- requirements/static/ci/py3.8/lint.txt | 2 +- requirements/static/ci/py3.8/linux.txt | 2 +- requirements/static/ci/py3.8/windows.txt | 28 +---------------------- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/freebsd.txt | 2 +- requirements/static/ci/py3.9/lint.txt | 2 +- requirements/static/ci/py3.9/linux.txt | 2 +- requirements/static/ci/py3.9/windows.txt | 28 +---------------------- 23 files changed, 23 insertions(+), 125 deletions(-) diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index 3f99856e2546..82c4822b0098 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -50,7 +50,7 @@ genshi>=0.7.3 cheetah3>=3.2.2 mako wempy -impacket +impacket; sys_platform != 'win32' pyspnego==0.9.2; sys_platform != 'win32' and python_version <= '3.7' pyspnego==0.10.2; sys_platform != 'win32' and python_version >= '3.8' smbprotocol==1.10.1; sys_platform != 'win32' diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index d61f91782e73..a7346e77ad13 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -227,7 +227,7 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.10/linux.txt # -c requirements/static/ci/py3.10/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 47473760a3fe..e3d5780edbce 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -163,7 +163,7 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.10/darwin.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 14fbb9382ea7..f692ecb41a2e 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -155,7 +155,7 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.10/freebsd.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index a37b9b5a4217..65f18e0883a5 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -234,7 +234,7 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.10/linux.txt # -c requirements/static/ci/py3.10/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index e59e01e48459..7fb74c18a076 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -164,7 +164,7 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index ec3a540a846d..00b0b59f4dba 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -20,8 +20,6 @@ attrs==23.1.0 # pytest-system-statistics bcrypt==4.1.2 # via -r requirements/static/ci/common.in -blinker==1.7.0 - # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -69,9 +67,7 @@ cherrypy==18.6.1 # -r requirements/static/ci/common.in # -r requirements/windows.txt click==8.1.7 - # via - # flask - # geomet + # via geomet clr-loader==0.2.4 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt @@ -107,12 +103,9 @@ dmidecode==0.9.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in - # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt -dsinternals==1.2.4 - # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -121,8 +114,6 @@ filelock==3.8.0 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt -flask==3.0.0 - # via impacket frozenlist==1.3.3 # via # aiohttp @@ -155,8 +146,6 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt # contextvars -impacket==0.11.0 - # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt @@ -169,8 +158,6 @@ ioloop==0.1a0 # -r requirements/windows.txt ipaddress==1.0.22 # via kubernetes -itsdangerous==2.1.2 - # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt @@ -193,7 +180,6 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt # -r requirements/base.txt - # flask # moto jmespath==1.0.1 # via @@ -208,12 +194,6 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in -ldap3==2.9.1 - # via - # impacket - # ldapdomaindump -ldapdomaindump==0.9.4 - # via impacket looseversion==1.0.2 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt @@ -290,8 +270,6 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt # -r requirements/windows.txt - # impacket - # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -323,7 +301,6 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.10/windows.txt # -r requirements/windows.txt # etcd3-py - # impacket pyrsistent==0.17.3 # via jsonschema pytest-custom-exit-code==0.3.0 @@ -447,7 +424,6 @@ six==1.15.0 # etcd3-py # genshi # geomet - # impacket # jsonschema # kubernetes # python-dateutil @@ -507,7 +483,6 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via - # flask # moto # pytest-httpserver wheel==0.38.4 diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 534cbcee4216..0acf76686778 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -242,7 +242,7 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.7/linux.txt # -c requirements/static/ci/py3.7/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 399424ba85d8..3b8bf928bd0d 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -169,7 +169,7 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.7/freebsd.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index d30ae7eef6f1..6423f0382cd4 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -246,7 +246,7 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.7/linux.txt # -c requirements/static/ci/py3.7/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index f669d847ba6d..1c0b6dab053e 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -175,7 +175,7 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.7/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index d9f21073d4ab..7bfab3f6c422 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -61,7 +61,6 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt # aiohttp - # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -75,9 +74,7 @@ cherrypy==18.6.1 # -r requirements/static/ci/common.in # -r requirements/windows.txt click==8.1.7 - # via - # flask - # geomet + # via geomet clr-loader==0.2.4 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt @@ -113,12 +110,9 @@ dmidecode==0.9.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in - # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt -dsinternals==1.2.4 - # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -127,8 +121,6 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt -flask==2.2.5 - # via impacket frozenlist==1.3.0 # via # aiohttp @@ -161,8 +153,6 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt # contextvars -impacket==0.11.0 - # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt @@ -170,7 +160,6 @@ importlib-metadata==4.6.4 # attrs # backports.entry-points-selectable # click - # flask # jsonschema # mako # moto @@ -185,8 +174,6 @@ ioloop==0.1a0 # -r requirements/windows.txt ipaddress==1.0.22 # via kubernetes -itsdangerous==2.1.2 - # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt @@ -209,7 +196,6 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt # -r requirements/base.txt - # flask # moto jmespath==1.0.1 # via @@ -224,12 +210,6 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in -ldap3==2.9.1 - # via - # impacket - # ldapdomaindump -ldapdomaindump==0.9.4 - # via impacket looseversion==1.0.2 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt @@ -306,8 +286,6 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt # -r requirements/windows.txt - # impacket - # ldap3 # pyasn1-modules # rsa pycparser==2.21 @@ -338,7 +316,6 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.7/windows.txt # -r requirements/windows.txt # etcd3-py - # impacket pyrsistent==0.17.3 # via jsonschema pytest-custom-exit-code==0.3.0 @@ -463,7 +440,6 @@ six==1.15.0 # etcd3-py # genshi # geomet - # impacket # jsonschema # kubernetes # python-dateutil @@ -530,7 +506,6 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==2.2.3 # via - # flask # moto # pytest-httpserver wheel==0.38.4 diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 8918c581cd65..cdfaee7e806e 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -240,7 +240,7 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index ca498ed63416..4c5802dc3338 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -165,7 +165,7 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.8/freebsd.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index dabea8c9aa0e..6f029f982c00 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -242,7 +242,7 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index ca960c37e34b..f6585a77c67f 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -171,7 +171,7 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index f4b760227fe3..a713c6eea29e 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -22,8 +22,6 @@ backports.entry-points-selectable==1.1.0 # via virtualenv bcrypt==4.1.2 # via -r requirements/static/ci/common.in -blinker==1.7.0 - # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -71,9 +69,7 @@ cherrypy==18.6.1 # -r requirements/static/ci/common.in # -r requirements/windows.txt click==8.1.7 - # via - # flask - # geomet + # via geomet clr-loader==0.2.4 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt @@ -109,12 +105,9 @@ dmidecode==0.9.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in - # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt -dsinternals==1.2.4 - # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -123,8 +116,6 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt -flask==3.0.0 - # via impacket frozenlist==1.3.0 # via # aiohttp @@ -157,13 +148,10 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt # contextvars -impacket==0.11.0 - # via -r requirements/static/ci/common.in importlib-metadata==4.6.4 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt # -r requirements/windows.txt - # flask iniconfig==1.0.1 # via pytest ioloop==0.1a0 @@ -172,8 +160,6 @@ ioloop==0.1a0 # -r requirements/windows.txt ipaddress==1.0.22 # via kubernetes -itsdangerous==2.1.2 - # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt @@ -196,7 +182,6 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt # -r requirements/base.txt - # flask # moto jmespath==1.0.1 # via @@ -211,12 +196,6 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in -ldap3==2.9.1 - # via - # impacket - # ldapdomaindump -ldapdomaindump==0.9.4 - # via impacket looseversion==1.0.2 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt @@ -293,8 +272,6 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt # -r requirements/windows.txt - # impacket - # ldap3 # pyasn1-modules # rsa pycparser==2.21 @@ -325,7 +302,6 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.8/windows.txt # -r requirements/windows.txt # etcd3-py - # impacket pyrsistent==0.17.3 # via jsonschema pytest-custom-exit-code==0.3.0 @@ -450,7 +426,6 @@ six==1.15.0 # etcd3-py # genshi # geomet - # impacket # jsonschema # kubernetes # python-dateutil @@ -511,7 +486,6 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via - # flask # moto # pytest-httpserver wheel==0.38.4 diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 3b4dcc8cc906..1f97cbe63f39 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -240,7 +240,7 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index d78c505bf3c9..c212c580eca1 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -173,7 +173,7 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.9/darwin.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 7a7eced0029e..eff118d61a3a 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -165,7 +165,7 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.9/freebsd.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index dcfbfd3e3eca..63f74d6cb490 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -238,7 +238,7 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 81ffd910c02e..a5cb179553bf 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -169,7 +169,7 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt # contextvars -impacket==0.11.0 +impacket==0.11.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 3fdd0db8670c..9d5d22895e8a 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -22,8 +22,6 @@ backports.entry-points-selectable==1.1.0 # via virtualenv bcrypt==4.1.2 # via -r requirements/static/ci/common.in -blinker==1.7.0 - # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -71,9 +69,7 @@ cherrypy==18.6.1 # -r requirements/static/ci/common.in # -r requirements/windows.txt click==8.1.7 - # via - # flask - # geomet + # via geomet clr-loader==0.2.4 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt @@ -109,12 +105,9 @@ dmidecode==0.9.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in - # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt -dsinternals==1.2.4 - # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in exceptiongroup==1.0.4 @@ -123,8 +116,6 @@ filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt -flask==3.0.0 - # via impacket frozenlist==1.3.0 # via # aiohttp @@ -157,13 +148,10 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt # contextvars -impacket==0.11.0 - # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt # -r requirements/windows.txt - # flask iniconfig==1.0.1 # via pytest ioloop==0.1a0 @@ -172,8 +160,6 @@ ioloop==0.1a0 # -r requirements/windows.txt ipaddress==1.0.22 # via kubernetes -itsdangerous==2.1.2 - # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt @@ -196,7 +182,6 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt # -r requirements/base.txt - # flask # moto jmespath==1.0.1 # via @@ -211,12 +196,6 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in -ldap3==2.9.1 - # via - # impacket - # ldapdomaindump -ldapdomaindump==0.9.4 - # via impacket looseversion==1.0.2 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt @@ -293,8 +272,6 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt # -r requirements/windows.txt - # impacket - # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -326,7 +303,6 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.9/windows.txt # -r requirements/windows.txt # etcd3-py - # impacket pyrsistent==0.17.3 # via jsonschema pytest-custom-exit-code==0.3.0 @@ -451,7 +427,6 @@ six==1.15.0 # etcd3-py # genshi # geomet - # impacket # jsonschema # kubernetes # python-dateutil @@ -512,7 +487,6 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via - # flask # moto # pytest-httpserver wheel==0.38.4 From 0c1d571f7fc54b2a5edfbab407dadd03f314117d Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 17 Nov 2023 09:17:39 -0700 Subject: [PATCH 06/32] Updated requirements per reviewer's comments --- requirements/static/ci/common.in | 5 ++--- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/freebsd.txt | 2 +- requirements/static/ci/py3.10/lint.txt | 2 +- requirements/static/ci/py3.10/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/freebsd.txt | 2 +- requirements/static/ci/py3.7/lint.txt | 2 +- requirements/static/ci/py3.7/linux.txt | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/freebsd.txt | 2 +- requirements/static/ci/py3.8/lint.txt | 2 +- requirements/static/ci/py3.8/linux.txt | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/freebsd.txt | 2 +- requirements/static/ci/py3.9/lint.txt | 2 +- requirements/static/ci/py3.9/linux.txt | 2 +- 19 files changed, 20 insertions(+), 21 deletions(-) diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index 82c4822b0098..51eb5490cbab 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -51,6 +51,5 @@ cheetah3>=3.2.2 mako wempy impacket; sys_platform != 'win32' -pyspnego==0.9.2; sys_platform != 'win32' and python_version <= '3.7' -pyspnego==0.10.2; sys_platform != 'win32' and python_version >= '3.8' -smbprotocol==1.10.1; sys_platform != 'win32' +pyspnego>=0.9.2; sys_platform != 'win32' +smbprotocol>=1.10.1; sys_platform != 'win32' diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index a7346e77ad13..47ac3120e0b1 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -491,7 +491,7 @@ pyserial==3.4 # via # -c requirements/static/ci/py3.10/linux.txt # junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index e3d5780edbce..063352fa2363 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -346,7 +346,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index f692ecb41a2e..75a2ac86bb67 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -339,7 +339,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 65f18e0883a5..f54423af524a 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -496,7 +496,7 @@ pyserial==3.4 # via # -c requirements/static/ci/py3.10/linux.txt # junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 7fb74c18a076..5ab570337248 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -356,7 +356,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 0acf76686778..3d0dd4d4e845 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -540,7 +540,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.7/linux.txt # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version <= "3.7" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 3b8bf928bd0d..b099473a5aae 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -383,7 +383,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version <= "3.7" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 6423f0382cd4..c48712c64519 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -550,7 +550,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.7/linux.txt # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version <= "3.7" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 1c0b6dab053e..17fc2b35e03b 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -394,7 +394,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version <= "3.7" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index cdfaee7e806e..04a7883e5fba 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -529,7 +529,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.8/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 4c5802dc3338..be5b5e150847 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -370,7 +370,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 6f029f982c00..a2fcdab4bc2a 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -525,7 +525,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.8/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index f6585a77c67f..bd60cf600cd4 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -381,7 +381,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 1f97cbe63f39..476076deb76b 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -531,7 +531,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.9/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index c212c580eca1..e5db9dee50d6 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -379,7 +379,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index eff118d61a3a..bd5fdee6c5cf 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -372,7 +372,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 63f74d6cb490..41aaa60a3f4c 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -523,7 +523,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.9/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index a5cb179553bf..fa4f8e683421 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -381,7 +381,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.8" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol From 9c36292d211ecc5dda3e5ad6045206845cd2ddfc Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Mon, 20 Nov 2023 12:31:58 -0700 Subject: [PATCH 07/32] Debug alter time from 1 to 5 seconds, to see if this makes difference --- tests/pytests/integration/utils/test_smb.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 6f7d4f2e613d..28db26e94bbe 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -90,7 +90,8 @@ def smb_dict(tmp_path): ) _smbd = subprocess.Popen([shutil.which("smbd"), "-F", "-P0", "-s", samba_conf]) - time.sleep(1) + ## DGM time.sleep(1) + time.sleep(5) conn_dict = { "tmpdir": tmp_path, "samba_dir": samba_dir, From 40698641e318784407e119ab6ffd27b3381ad206 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 30 Nov 2023 18:07:55 -0700 Subject: [PATCH 08/32] Picked revised requirements --- requirements/static/ci/py3.10/cloud.txt | 4 +- requirements/static/ci/py3.10/darwin.txt | 4 +- requirements/static/ci/py3.10/freebsd.txt | 4 +- requirements/static/ci/py3.10/lint.txt | 3 +- requirements/static/ci/py3.10/linux.txt | 4 +- requirements/static/ci/py3.10/windows.txt | 6 +-- requirements/static/ci/py3.11/changelog.txt | 2 +- requirements/static/ci/py3.11/cloud.txt | 51 +++++++++++++++++++-- requirements/static/ci/py3.11/darwin.txt | 37 ++++++++++++++- requirements/static/ci/py3.11/freebsd.txt | 37 ++++++++++++++- requirements/static/ci/py3.11/lint.txt | 43 ++++++++++++++++- requirements/static/ci/py3.11/linux.txt | 37 ++++++++++++++- requirements/static/ci/py3.12/changelog.txt | 2 +- requirements/static/ci/py3.12/cloud.txt | 51 +++++++++++++++++++-- requirements/static/ci/py3.12/darwin.txt | 37 ++++++++++++++- requirements/static/ci/py3.12/freebsd.txt | 37 ++++++++++++++- requirements/static/ci/py3.12/lint.txt | 43 ++++++++++++++++- requirements/static/ci/py3.12/linux.txt | 37 ++++++++++++++- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/freebsd.txt | 2 +- requirements/static/ci/py3.7/lint.txt | 2 +- requirements/static/ci/py3.7/linux.txt | 2 +- requirements/static/ci/py3.7/windows.txt | 7 +-- requirements/static/ci/py3.8/cloud.txt | 3 +- requirements/static/ci/py3.8/freebsd.txt | 3 +- requirements/static/ci/py3.8/lint.txt | 3 +- requirements/static/ci/py3.8/linux.txt | 3 +- requirements/static/ci/py3.8/windows.txt | 6 +-- requirements/static/ci/py3.9/cloud.txt | 3 +- requirements/static/ci/py3.9/darwin.txt | 3 +- requirements/static/ci/py3.9/freebsd.txt | 3 +- requirements/static/ci/py3.9/lint.txt | 3 +- requirements/static/ci/py3.9/linux.txt | 3 +- requirements/static/ci/py3.9/windows.txt | 6 +-- 34 files changed, 432 insertions(+), 61 deletions(-) diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 47ac3120e0b1..c7f404f064bb 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -93,6 +93,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt # -c requirements/static/ci/py3.10/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via @@ -457,6 +458,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.10/linux.txt # -c requirements/static/ci/py3.10/linux.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via # -c requirements/static/ci/py3.10/linux.txt @@ -675,7 +677,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 063352fa2363..e0a0c22e7686 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -68,6 +68,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.10/darwin.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -326,6 +327,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.10/darwin.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via -r requirements/pytest.txt pygit2==1.13.1 @@ -473,7 +475,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 75a2ac86bb67..4baba16ccf41 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -65,6 +65,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.10/freebsd.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -317,6 +318,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.10/freebsd.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via -r requirements/pytest.txt pygit2==1.13.1 @@ -467,7 +469,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index f54423af524a..03a0181062ba 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -105,6 +105,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt # -c requirements/static/ci/py3.10/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via @@ -655,7 +656,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.10/linux.txt # slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 5ab570337248..6bddab88a62d 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -74,6 +74,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -328,6 +329,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.10/linux.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via -r requirements/pytest.txt pygit2==1.13.1 @@ -510,7 +512,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index 00b0b59f4dba..54bfbf522534 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -66,7 +66,7 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.10/windows.txt # -r requirements/static/ci/common.in # -r requirements/windows.txt -click==8.1.7 +click==7.1.2 # via geomet clr-loader==0.2.4 # via @@ -75,9 +75,7 @@ clr-loader==0.2.4 clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.1 - # via - # click - # pytest + # via pytest contextvars==2.4 # via # -c requirements/static/ci/../pkg/py3.10/windows.txt diff --git a/requirements/static/ci/py3.11/changelog.txt b/requirements/static/ci/py3.11/changelog.txt index e6589faff9ac..d93ce8124191 100644 --- a/requirements/static/ci/py3.11/changelog.txt +++ b/requirements/static/ci/py3.11/changelog.txt @@ -6,7 +6,7 @@ # click-default-group==1.2.2 # via towncrier -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.11/linux.txt # click-default-group diff --git a/requirements/static/ci/py3.11/cloud.txt b/requirements/static/ci/py3.11/cloud.txt index a5b718e4e8a0..fcf91cc36caa 100644 --- a/requirements/static/ci/py3.11/cloud.txt +++ b/requirements/static/ci/py3.11/cloud.txt @@ -40,6 +40,10 @@ bcrypt==4.1.2 # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via + # -c requirements/static/ci/py3.11/linux.txt + # flask boto3==1.21.46 # via # -c requirements/static/ci/py3.11/linux.txt @@ -85,6 +89,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt # -c requirements/static/ci/py3.11/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via @@ -101,9 +106,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/linux.in -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.11/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -146,11 +152,16 @@ dnspython==1.16.0 # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/pytest.txt +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.11/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.11/linux.txt @@ -163,6 +174,10 @@ flaky==3.7.0 # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/pytest.txt +flask==3.0.0 + # via + # -c requirements/static/ci/py3.11/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.11/linux.txt @@ -205,6 +220,10 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.11/linux.txt # -c requirements/static/ci/py3.11/linux.txt # contextvars +impacket==0.11.0 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.11/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt @@ -218,6 +237,10 @@ ipaddress==1.0.22 # via # -c requirements/static/ci/py3.11/linux.txt # kubernetes +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.11/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt @@ -245,6 +268,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.11/linux.txt # -c requirements/static/ci/py3.11/linux.txt # -r requirements/base.txt + # flask # moto jmespath==1.0.1 # via @@ -274,6 +298,15 @@ kubernetes==3.0.0 # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # -c requirements/static/ci/py3.11/linux.txt + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via + # -c requirements/static/ci/py3.11/linux.txt + # impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -c requirements/static/ci/py3.11/linux.txt @@ -381,6 +414,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.11/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -395,6 +430,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.11/linux.txt # -c requirements/static/ci/py3.11/linux.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via # -c requirements/static/ci/py3.11/linux.txt @@ -414,15 +450,17 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pypsexec==0.1.0 # via -r requirements/static/ci/cloud.in pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.11/linux.txt # jsonschema -pyspnego==0.8.0 +pyspnego==0.10.2 ; sys_platform != "win32" # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.11/linux.txt + # -r requirements/static/ci/common.in # smbprotocol pytest-custom-exit-code==0.3.0 # via @@ -579,6 +617,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kazoo # kubernetes @@ -593,9 +632,10 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.12.0 ; sys_platform != "win32" # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.11/linux.txt + # -r requirements/static/ci/common.in # pypsexec smmap==4.0.0 # via @@ -670,6 +710,7 @@ wempy==0.2.1 werkzeug==3.0.1 # via # -c requirements/static/ci/py3.11/linux.txt + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.11/darwin.txt b/requirements/static/ci/py3.11/darwin.txt index 53ae920953d1..23646a198148 100644 --- a/requirements/static/ci/py3.11/darwin.txt +++ b/requirements/static/ci/py3.11/darwin.txt @@ -29,6 +29,8 @@ backports.entry-points-selectable==1.1.0 # via virtualenv bcrypt==4.1.2 # via -r requirements/static/ci/common.in +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -62,6 +64,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.11/darwin.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -74,8 +77,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.11/darwin.txt # -r requirements/darwin.txt # -r requirements/static/ci/common.in -click==7.0 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.1 # via -r requirements/static/ci/common.in contextvars==2.4 @@ -103,15 +108,20 @@ distro==1.5.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -147,6 +157,8 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.11/darwin.txt # contextvars +impacket==0.11.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.11/darwin.txt @@ -155,6 +167,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.11/darwin.txt @@ -177,6 +191,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.11/darwin.txt # -r requirements/base.txt + # flask # moto jmespath==1.0.1 # via @@ -193,6 +208,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket linode-python==1.1.1 # via # -c requirements/static/ci/../pkg/py3.11/darwin.txt @@ -269,6 +290,8 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.11/darwin.txt # -r requirements/darwin.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -281,6 +304,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.11/darwin.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via -r requirements/pytest.txt pygit2==1.13.1 @@ -292,8 +316,13 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.11/darwin.txt # -r requirements/darwin.txt # etcd3-py + # impacket pyrsistent==0.17.3 # via jsonschema +pyspnego==0.10.2 ; sys_platform != "win32" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -401,6 +430,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kubernetes # python-dateutil @@ -410,6 +440,8 @@ six==1.16.0 # vcert # virtualenv # websocket-client +smbprotocol==1.12.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.11/darwin.txt @@ -464,6 +496,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.11/freebsd.txt b/requirements/static/ci/py3.11/freebsd.txt index 8c96cc7156ff..421aa389b93f 100644 --- a/requirements/static/ci/py3.11/freebsd.txt +++ b/requirements/static/ci/py3.11/freebsd.txt @@ -28,6 +28,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -61,6 +63,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.11/freebsd.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -73,8 +76,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.11/freebsd.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/freebsd.in -click==7.1.2 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in contextvars==2.4 @@ -104,15 +109,20 @@ distro==1.5.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -142,6 +152,8 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.11/freebsd.txt # contextvars +impacket==0.11.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.11/freebsd.txt @@ -150,6 +162,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.11/freebsd.txt @@ -172,6 +186,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.11/freebsd.txt # -r requirements/base.txt + # flask # moto jmespath==1.0.1 # via @@ -190,6 +205,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -264,6 +285,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -276,6 +299,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.11/freebsd.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via -r requirements/pytest.txt pygit2==1.13.1 @@ -291,8 +315,13 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.11/freebsd.txt # -r requirements/static/pkg/freebsd.in # etcd3-py + # impacket pyrsistent==0.17.3 # via jsonschema +pyspnego==0.10.2 ; sys_platform != "win32" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -398,6 +427,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kazoo # kubernetes @@ -409,6 +439,8 @@ six==1.16.0 # vcert # virtualenv # websocket-client +smbprotocol==1.12.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -457,6 +489,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.11/lint.txt b/requirements/static/ci/py3.11/lint.txt index 7253b90d85b2..50d15886aa4e 100644 --- a/requirements/static/ci/py3.11/lint.txt +++ b/requirements/static/ci/py3.11/lint.txt @@ -49,6 +49,10 @@ bcrypt==4.1.2 # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via + # -c requirements/static/ci/py3.11/linux.txt + # flask boto3==1.21.46 # via # -c requirements/static/ci/py3.11/linux.txt @@ -97,6 +101,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt # -c requirements/static/ci/py3.11/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via @@ -113,9 +118,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/linux.in -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.11/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -140,6 +146,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # vcert dill==0.3.8 # via pylint @@ -156,11 +164,16 @@ dnspython==1.16.0 # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/lint.in +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.11/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.11/linux.txt @@ -169,6 +182,10 @@ filelock==3.0.12 # via # -c requirements/static/ci/py3.11/linux.txt # virtualenv +flask==3.0.0 + # via + # -c requirements/static/ci/py3.11/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.11/linux.txt @@ -214,6 +231,10 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.11/linux.txt # -c requirements/static/ci/py3.11/linux.txt # contextvars +impacket==0.11.0 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.11/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt @@ -225,6 +246,10 @@ ipaddress==1.0.22 # kubernetes isort==4.3.21 # via pylint +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.11/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt @@ -253,6 +278,7 @@ jinja2==3.1.3 # -c requirements/static/ci/py3.11/linux.txt # -r requirements/base.txt # ansible-core + # flask # moto jmespath==1.0.1 # via @@ -381,6 +407,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.11/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -395,6 +423,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.11/linux.txt # -c requirements/static/ci/py3.11/linux.txt # -r requirements/crypto.txt + # impacket pygit2==1.13.1 # via # -c requirements/static/ci/py3.11/linux.txt @@ -430,10 +459,16 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.11/linux.txt # jsonschema +pyspnego==0.10.2 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.11/linux.txt + # -r requirements/static/ci/common.in + # smbprotocol python-consul==1.1.0 # via # -c requirements/static/ci/py3.11/linux.txt @@ -558,6 +593,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kazoo # kubernetes @@ -578,6 +614,10 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.11/linux.txt # slack-bolt +smbprotocol==1.12.0 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.11/linux.txt + # -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/py3.11/linux.txt @@ -656,6 +696,7 @@ wempy==0.2.1 werkzeug==3.0.1 # via # -c requirements/static/ci/py3.11/linux.txt + # flask # moto xmltodict==0.12.0 # via diff --git a/requirements/static/ci/py3.11/linux.txt b/requirements/static/ci/py3.11/linux.txt index d90d36dd8f8b..76a900990348 100644 --- a/requirements/static/ci/py3.11/linux.txt +++ b/requirements/static/ci/py3.11/linux.txt @@ -34,6 +34,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -70,6 +72,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -82,8 +85,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.11/linux.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/linux.in -click==7.1.1 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in contextvars==2.4 @@ -113,15 +118,20 @@ distro==1.5.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -151,6 +161,8 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt # contextvars +impacket==0.11.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt @@ -159,6 +171,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt @@ -182,6 +196,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.11/linux.txt # -r requirements/base.txt # ansible-core + # flask # moto jmespath==1.0.1 # via @@ -200,6 +215,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -275,6 +296,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -287,6 +310,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.11/linux.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via -r requirements/pytest.txt pygit2==1.13.1 @@ -308,8 +332,13 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.11/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyrsistent==0.17.3 # via jsonschema +pyspnego==0.10.2 ; sys_platform != "win32" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -436,6 +465,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kazoo # kubernetes @@ -452,6 +482,8 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt +smbprotocol==1.12.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -506,6 +538,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.12/changelog.txt b/requirements/static/ci/py3.12/changelog.txt index af7f4286875a..a9ea97970e90 100644 --- a/requirements/static/ci/py3.12/changelog.txt +++ b/requirements/static/ci/py3.12/changelog.txt @@ -6,7 +6,7 @@ # click-default-group==1.2.2 # via towncrier -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.12/linux.txt # click-default-group diff --git a/requirements/static/ci/py3.12/cloud.txt b/requirements/static/ci/py3.12/cloud.txt index 34ea9ce97ab8..27bd7dddf75c 100644 --- a/requirements/static/ci/py3.12/cloud.txt +++ b/requirements/static/ci/py3.12/cloud.txt @@ -40,6 +40,10 @@ bcrypt==4.1.2 # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via + # -c requirements/static/ci/py3.12/linux.txt + # flask boto3==1.21.46 # via # -c requirements/static/ci/py3.12/linux.txt @@ -85,6 +89,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt # -c requirements/static/ci/py3.12/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via @@ -101,9 +106,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/linux.in -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.12/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -146,11 +152,16 @@ dnspython==1.16.0 # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/pytest.txt +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.12/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.12/linux.txt @@ -163,6 +174,10 @@ flaky==3.7.0 # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/pytest.txt +flask==3.0.0 + # via + # -c requirements/static/ci/py3.12/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.12/linux.txt @@ -205,6 +220,10 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.12/linux.txt # -c requirements/static/ci/py3.12/linux.txt # contextvars +impacket==0.11.0 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.12/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt @@ -218,6 +237,10 @@ ipaddress==1.0.22 # via # -c requirements/static/ci/py3.12/linux.txt # kubernetes +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.12/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt @@ -245,6 +268,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.12/linux.txt # -c requirements/static/ci/py3.12/linux.txt # -r requirements/base.txt + # flask # moto jmespath==1.0.1 # via @@ -274,6 +298,15 @@ kubernetes==3.0.0 # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # -c requirements/static/ci/py3.12/linux.txt + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via + # -c requirements/static/ci/py3.12/linux.txt + # impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -c requirements/static/ci/py3.12/linux.txt @@ -381,6 +414,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.12/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -395,6 +430,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.12/linux.txt # -c requirements/static/ci/py3.12/linux.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via # -c requirements/static/ci/py3.12/linux.txt @@ -414,15 +450,17 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pypsexec==0.1.0 # via -r requirements/static/ci/cloud.in pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.12/linux.txt # jsonschema -pyspnego==0.8.0 +pyspnego==0.10.2 ; sys_platform != "win32" # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.12/linux.txt + # -r requirements/static/ci/common.in # smbprotocol pytest-custom-exit-code==0.3.0 # via @@ -579,6 +617,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kazoo # kubernetes @@ -593,9 +632,10 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 +smbprotocol==1.12.0 ; sys_platform != "win32" # via - # -r requirements/static/ci/cloud.in + # -c requirements/static/ci/py3.12/linux.txt + # -r requirements/static/ci/common.in # pypsexec smmap==4.0.0 # via @@ -670,6 +710,7 @@ wempy==0.2.1 werkzeug==3.0.1 # via # -c requirements/static/ci/py3.12/linux.txt + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.12/darwin.txt b/requirements/static/ci/py3.12/darwin.txt index e0a1c165ae8a..ad3fa6ee3ea4 100644 --- a/requirements/static/ci/py3.12/darwin.txt +++ b/requirements/static/ci/py3.12/darwin.txt @@ -29,6 +29,8 @@ backports.entry-points-selectable==1.1.0 # via virtualenv bcrypt==4.1.2 # via -r requirements/static/ci/common.in +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -62,6 +64,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.12/darwin.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -74,8 +77,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.12/darwin.txt # -r requirements/darwin.txt # -r requirements/static/ci/common.in -click==7.0 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.1 # via -r requirements/static/ci/common.in contextvars==2.4 @@ -103,15 +108,20 @@ distro==1.5.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -147,6 +157,8 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.12/darwin.txt # contextvars +impacket==0.11.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.12/darwin.txt @@ -155,6 +167,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.12/darwin.txt @@ -177,6 +191,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.12/darwin.txt # -r requirements/base.txt + # flask # moto jmespath==1.0.1 # via @@ -193,6 +208,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket linode-python==1.1.1 # via # -c requirements/static/ci/../pkg/py3.12/darwin.txt @@ -269,6 +290,8 @@ pyasn1==0.4.8 # via # -c requirements/static/ci/../pkg/py3.12/darwin.txt # -r requirements/darwin.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -281,6 +304,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.12/darwin.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via -r requirements/pytest.txt pygit2==1.13.1 @@ -292,8 +316,13 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.12/darwin.txt # -r requirements/darwin.txt # etcd3-py + # impacket pyrsistent==0.17.3 # via jsonschema +pyspnego==0.10.2 ; sys_platform != "win32" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -401,6 +430,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kubernetes # python-dateutil @@ -410,6 +440,8 @@ six==1.16.0 # vcert # virtualenv # websocket-client +smbprotocol==1.12.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/../pkg/py3.12/darwin.txt @@ -464,6 +496,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.12/freebsd.txt b/requirements/static/ci/py3.12/freebsd.txt index e22a444c272c..d147d7ad3c29 100644 --- a/requirements/static/ci/py3.12/freebsd.txt +++ b/requirements/static/ci/py3.12/freebsd.txt @@ -28,6 +28,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -61,6 +63,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.12/freebsd.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -73,8 +76,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.12/freebsd.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/freebsd.in -click==7.1.2 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in contextvars==2.4 @@ -104,15 +109,20 @@ distro==1.5.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -142,6 +152,8 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.12/freebsd.txt # contextvars +impacket==0.11.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.12/freebsd.txt @@ -150,6 +162,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.12/freebsd.txt @@ -172,6 +186,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.12/freebsd.txt # -r requirements/base.txt + # flask # moto jmespath==1.0.1 # via @@ -190,6 +205,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -264,6 +285,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -276,6 +299,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.12/freebsd.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via -r requirements/pytest.txt pygit2==1.13.1 @@ -291,8 +315,13 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.12/freebsd.txt # -r requirements/static/pkg/freebsd.in # etcd3-py + # impacket pyrsistent==0.17.3 # via jsonschema +pyspnego==0.10.2 ; sys_platform != "win32" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -398,6 +427,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kazoo # kubernetes @@ -409,6 +439,8 @@ six==1.16.0 # vcert # virtualenv # websocket-client +smbprotocol==1.12.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -457,6 +489,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.12/lint.txt b/requirements/static/ci/py3.12/lint.txt index 35fa64e4e014..2070911efcac 100644 --- a/requirements/static/ci/py3.12/lint.txt +++ b/requirements/static/ci/py3.12/lint.txt @@ -49,6 +49,10 @@ bcrypt==4.1.2 # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via + # -c requirements/static/ci/py3.12/linux.txt + # flask boto3==1.21.46 # via # -c requirements/static/ci/py3.12/linux.txt @@ -97,6 +101,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt # -c requirements/static/ci/py3.12/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via @@ -113,9 +118,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/linux.in -click==7.1.1 +click==8.1.7 # via # -c requirements/static/ci/py3.12/linux.txt + # flask # geomet clustershell==1.8.3 # via @@ -140,6 +146,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # vcert dill==0.3.8 # via pylint @@ -156,11 +164,16 @@ dnspython==1.16.0 # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/lint.in +dsinternals==1.2.4 + # via + # -c requirements/static/ci/py3.12/linux.txt + # impacket etcd3-py==0.1.6 # via # -c requirements/static/ci/py3.12/linux.txt @@ -169,6 +182,10 @@ filelock==3.0.12 # via # -c requirements/static/ci/py3.12/linux.txt # virtualenv +flask==3.0.0 + # via + # -c requirements/static/ci/py3.12/linux.txt + # impacket frozenlist==1.3.0 # via # -c requirements/static/ci/py3.12/linux.txt @@ -214,6 +231,10 @@ immutables==0.15 # -c requirements/static/ci/../pkg/py3.12/linux.txt # -c requirements/static/ci/py3.12/linux.txt # contextvars +impacket==0.11.0 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.12/linux.txt + # -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt @@ -225,6 +246,10 @@ ipaddress==1.0.22 # kubernetes isort==4.3.21 # via pylint +itsdangerous==2.1.2 + # via + # -c requirements/static/ci/py3.12/linux.txt + # flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt @@ -253,6 +278,7 @@ jinja2==3.1.3 # -c requirements/static/ci/py3.12/linux.txt # -r requirements/base.txt # ansible-core + # flask # moto jmespath==1.0.1 # via @@ -381,6 +407,8 @@ pyasn1-modules==0.2.4 pyasn1==0.4.8 # via # -c requirements/static/ci/py3.12/linux.txt + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -395,6 +423,7 @@ pycryptodomex==3.19.1 # -c requirements/static/ci/../pkg/py3.12/linux.txt # -c requirements/static/ci/py3.12/linux.txt # -r requirements/crypto.txt + # impacket pygit2==1.13.1 # via # -c requirements/static/ci/py3.12/linux.txt @@ -430,10 +459,16 @@ pyopenssl==24.0.0 # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.12/linux.txt # jsonschema +pyspnego==0.10.2 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.12/linux.txt + # -r requirements/static/ci/common.in + # smbprotocol python-consul==1.1.0 # via # -c requirements/static/ci/py3.12/linux.txt @@ -558,6 +593,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kazoo # kubernetes @@ -578,6 +614,10 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.12/linux.txt # slack-bolt +smbprotocol==1.12.0 ; sys_platform != "win32" + # via + # -c requirements/static/ci/py3.12/linux.txt + # -r requirements/static/ci/common.in smmap==4.0.0 # via # -c requirements/static/ci/py3.12/linux.txt @@ -656,6 +696,7 @@ wempy==0.2.1 werkzeug==3.0.1 # via # -c requirements/static/ci/py3.12/linux.txt + # flask # moto xmltodict==0.12.0 # via diff --git a/requirements/static/ci/py3.12/linux.txt b/requirements/static/ci/py3.12/linux.txt index 5a851d445b7d..9546fbc23a99 100644 --- a/requirements/static/ci/py3.12/linux.txt +++ b/requirements/static/ci/py3.12/linux.txt @@ -34,6 +34,8 @@ bcrypt==4.1.2 # via # -r requirements/static/ci/common.in # paramiko +blinker==1.7.0 + # via flask boto3==1.21.46 # via # -r requirements/static/ci/common.in @@ -70,6 +72,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -82,8 +85,10 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.12/linux.txt # -r requirements/static/ci/common.in # -r requirements/static/pkg/linux.in -click==7.1.1 - # via geomet +click==8.1.7 + # via + # flask + # geomet clustershell==1.8.3 # via -r requirements/static/ci/common.in contextvars==2.4 @@ -113,15 +118,20 @@ distro==1.5.0 dnspython==1.16.0 # via # -r requirements/static/ci/common.in + # ldapdomaindump # python-etcd docker==6.1.3 # via -r requirements/pytest.txt +dsinternals==1.2.4 + # via impacket etcd3-py==0.1.6 # via -r requirements/static/ci/common.in filelock==3.0.12 # via virtualenv flaky==3.7.0 # via -r requirements/pytest.txt +flask==3.0.0 + # via impacket frozenlist==1.3.0 # via # aiohttp @@ -151,6 +161,8 @@ immutables==0.15 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt # contextvars +impacket==0.11.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in importlib-metadata==6.0.0 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt @@ -159,6 +171,8 @@ iniconfig==1.0.1 # via pytest ipaddress==1.0.22 # via kubernetes +itsdangerous==2.1.2 + # via flask jaraco.classes==3.2.1 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt @@ -182,6 +196,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.12/linux.txt # -r requirements/base.txt # ansible-core + # flask # moto jmespath==1.0.1 # via @@ -200,6 +215,12 @@ keyring==5.7.1 # via -r requirements/static/ci/common.in kubernetes==3.0.0 # via -r requirements/static/ci/common.in +ldap3==2.9.1 + # via + # impacket + # ldapdomaindump +ldapdomaindump==0.9.4 + # via impacket libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in looseversion==1.0.2 @@ -275,6 +296,8 @@ pyasn1-modules==0.2.4 # via google-auth pyasn1==0.4.8 # via + # impacket + # ldap3 # pyasn1-modules # rsa pycparser==2.21 ; python_version >= "3.9" @@ -287,6 +310,7 @@ pycryptodomex==3.19.1 # via # -c requirements/static/ci/../pkg/py3.12/linux.txt # -r requirements/crypto.txt + # impacket pyfakefs==5.3.1 # via -r requirements/pytest.txt pygit2==1.13.1 @@ -308,8 +332,13 @@ pyopenssl==24.0.0 # -c requirements/static/ci/../pkg/py3.12/linux.txt # -r requirements/static/pkg/linux.in # etcd3-py + # impacket pyrsistent==0.17.3 # via jsonschema +pyspnego==0.10.2 ; sys_platform != "win32" + # via + # -r requirements/static/ci/common.in + # smbprotocol pytest-custom-exit-code==0.3.0 # via -r requirements/pytest.txt pytest-helpers-namespace==2021.4.29 @@ -436,6 +465,7 @@ six==1.16.0 # etcd3-py # genshi # geomet + # impacket # jsonschema # kazoo # kubernetes @@ -452,6 +482,8 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt +smbprotocol==1.12.0 ; sys_platform != "win32" + # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb sqlparse==0.4.4 @@ -506,6 +538,7 @@ wempy==0.2.1 # via -r requirements/static/ci/common.in werkzeug==3.0.1 # via + # flask # moto # pytest-httpserver xmltodict==0.12.0 diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 3d0dd4d4e845..1b58b47ebcb6 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -728,7 +728,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index b099473a5aae..3afed1c42e53 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -516,7 +516,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index c48712c64519..e1accfd5a0a1 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -709,7 +709,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.7/linux.txt # slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 17fc2b35e03b..a40504aa45e1 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -550,7 +550,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 7bfab3f6c422..0e45ab2b33ab 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -73,7 +73,7 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.7/windows.txt # -r requirements/static/ci/common.in # -r requirements/windows.txt -click==8.1.7 +click==7.1.2 # via geomet clr-loader==0.2.4 # via @@ -82,9 +82,7 @@ clr-loader==0.2.4 clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.1 - # via - # click - # pytest + # via pytest contextvars==2.4 # via # -c requirements/static/ci/../pkg/py3.7/windows.txt @@ -159,7 +157,6 @@ importlib-metadata==4.6.4 # -r requirements/windows.txt # attrs # backports.entry-points-selectable - # click # jsonschema # mako # moto diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 04a7883e5fba..69ca3e34d6ea 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -94,6 +94,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via @@ -717,7 +718,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index be5b5e150847..62de24e70f8f 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -66,6 +66,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.8/freebsd.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -503,7 +504,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index a2fcdab4bc2a..abf687caee71 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -102,6 +102,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via @@ -683,7 +684,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.8/linux.txt # slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index bd60cf600cd4..9e587c40911b 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -73,6 +73,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -537,7 +538,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index a713c6eea29e..658797085da1 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -68,7 +68,7 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.8/windows.txt # -r requirements/static/ci/common.in # -r requirements/windows.txt -click==8.1.7 +click==7.1.2 # via geomet clr-loader==0.2.4 # via @@ -77,9 +77,7 @@ clr-loader==0.2.4 clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.1 - # via - # click - # pytest + # via pytest contextvars==2.4 # via # -c requirements/static/ci/../pkg/py3.8/windows.txt diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 476076deb76b..84198a2e58ef 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -94,6 +94,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via @@ -719,7 +720,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index e5db9dee50d6..bd7fe7e13f35 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -69,6 +69,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.9/darwin.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -511,7 +512,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index bd5fdee6c5cf..1709814162ce 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -66,6 +66,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.9/freebsd.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -505,7 +506,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 41aaa60a3f4c..90f7b0de3645 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -98,6 +98,7 @@ charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via @@ -681,7 +682,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.9/linux.txt # slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index fa4f8e683421..c8042e3cd8a2 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -71,6 +71,7 @@ cffi==1.14.6 charset-normalizer==3.2.0 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt + # impacket # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in @@ -537,7 +538,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 9d5d22895e8a..58630bde24f2 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -68,7 +68,7 @@ cherrypy==18.6.1 # -c requirements/static/ci/../pkg/py3.9/windows.txt # -r requirements/static/ci/common.in # -r requirements/windows.txt -click==8.1.7 +click==7.1.2 # via geomet clr-loader==0.2.4 # via @@ -77,9 +77,7 @@ clr-loader==0.2.4 clustershell==1.8.3 # via -r requirements/static/ci/common.in colorama==0.4.1 - # via - # click - # pytest + # via pytest contextvars==2.4 # via # -c requirements/static/ci/../pkg/py3.9/windows.txt From d7c547b93f2e3318c82d74fbe18dbc07100d5b2b Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 1 Dec 2023 17:32:06 -0700 Subject: [PATCH 09/32] Fixed typo, missing f on an f-string --- tests/pytests/integration/utils/test_smb.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 28db26e94bbe..1b55236b9679 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -53,7 +53,7 @@ def smb_dict(tmp_path): username = getpass.getuser() with salt.utils.files.fopen(passwdb, "w") as fp: fp.write( - "{username}:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:AC8E657F8" + f"{username}:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:AC8E657F8" "3DF82BEEA5D43BDAF7800CC:[U ]:LCT-507C14C7:" ) samba_conf = tmp_path / "smb.conf" @@ -90,7 +90,6 @@ def smb_dict(tmp_path): ) _smbd = subprocess.Popen([shutil.which("smbd"), "-F", "-P0", "-s", samba_conf]) - ## DGM time.sleep(1) time.sleep(5) conn_dict = { "tmpdir": tmp_path, From e5ff05b6f1ff8fd014ff06111c6e77f56e142879 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Mon, 4 Dec 2023 14:59:02 -0700 Subject: [PATCH 10/32] Testing requirements for Salt Lint errors with Py 3.8 --- requirements/static/ci/common.in | 6 ++++-- requirements/static/ci/py3.10/cloud.txt | 4 ++-- requirements/static/ci/py3.10/darwin.txt | 4 ++-- requirements/static/ci/py3.10/freebsd.txt | 4 ++-- requirements/static/ci/py3.10/lint.txt | 4 ++-- requirements/static/ci/py3.10/linux.txt | 4 ++-- requirements/static/ci/py3.11/cloud.txt | 4 ++-- requirements/static/ci/py3.11/darwin.txt | 4 ++-- requirements/static/ci/py3.11/freebsd.txt | 4 ++-- requirements/static/ci/py3.11/lint.txt | 4 ++-- requirements/static/ci/py3.11/linux.txt | 4 ++-- requirements/static/ci/py3.12/cloud.txt | 4 ++-- requirements/static/ci/py3.12/darwin.txt | 4 ++-- requirements/static/ci/py3.12/freebsd.txt | 4 ++-- requirements/static/ci/py3.12/lint.txt | 4 ++-- requirements/static/ci/py3.12/linux.txt | 4 ++-- requirements/static/ci/py3.7/cloud.txt | 4 ++-- requirements/static/ci/py3.7/freebsd.txt | 4 ++-- requirements/static/ci/py3.7/lint.txt | 4 ++-- requirements/static/ci/py3.7/linux.txt | 4 ++-- requirements/static/ci/py3.8/cloud.txt | 4 ++-- requirements/static/ci/py3.8/freebsd.txt | 4 ++-- requirements/static/ci/py3.8/lint.txt | 4 ++-- requirements/static/ci/py3.8/linux.txt | 4 ++-- requirements/static/ci/py3.9/cloud.txt | 4 ++-- requirements/static/ci/py3.9/darwin.txt | 4 ++-- requirements/static/ci/py3.9/freebsd.txt | 4 ++-- requirements/static/ci/py3.9/lint.txt | 4 ++-- requirements/static/ci/py3.9/linux.txt | 4 ++-- 29 files changed, 60 insertions(+), 58 deletions(-) diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index 51eb5490cbab..797b739a952a 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -51,5 +51,7 @@ cheetah3>=3.2.2 mako wempy impacket; sys_platform != 'win32' -pyspnego>=0.9.2; sys_platform != 'win32' -smbprotocol>=1.10.1; sys_platform != 'win32' +pyspnego==0.9.2; sys_platform != 'win32' and python_version < '3.9' +pyspnego>=0.9.2; sys_platform != 'win32' and python_version >= '3.9' +smbprotocol==1.10.1; sys_platform != 'win32' and python_version < '3.9' +smbprotocol>=1.10.1; sys_platform != 'win32' and python_version >= '3.9' diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index c7f404f064bb..94d9b3f16233 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -493,7 +493,7 @@ pyserial==3.4 # via # -c requirements/static/ci/py3.10/linux.txt # junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in @@ -677,7 +677,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index e0a0c22e7686..bff247b9e5ce 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -348,7 +348,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -475,7 +475,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 4baba16ccf41..420fdadbc443 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -341,7 +341,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -469,7 +469,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 03a0181062ba..aa6ccc5df6e4 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -497,7 +497,7 @@ pyserial==3.4 # via # -c requirements/static/ci/py3.10/linux.txt # junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in @@ -656,7 +656,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.10/linux.txt # slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 6bddab88a62d..812ad1ef0eae 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -358,7 +358,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -512,7 +512,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.11/cloud.txt b/requirements/static/ci/py3.11/cloud.txt index fcf91cc36caa..316068db056a 100644 --- a/requirements/static/ci/py3.11/cloud.txt +++ b/requirements/static/ci/py3.11/cloud.txt @@ -457,7 +457,7 @@ pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.11/linux.txt # jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in @@ -632,7 +632,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.11/darwin.txt b/requirements/static/ci/py3.11/darwin.txt index 23646a198148..45e183768f54 100644 --- a/requirements/static/ci/py3.11/darwin.txt +++ b/requirements/static/ci/py3.11/darwin.txt @@ -319,7 +319,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -440,7 +440,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.11/freebsd.txt b/requirements/static/ci/py3.11/freebsd.txt index 421aa389b93f..18343fdf9648 100644 --- a/requirements/static/ci/py3.11/freebsd.txt +++ b/requirements/static/ci/py3.11/freebsd.txt @@ -318,7 +318,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -439,7 +439,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.11/lint.txt b/requirements/static/ci/py3.11/lint.txt index 50d15886aa4e..ba89f4574fb1 100644 --- a/requirements/static/ci/py3.11/lint.txt +++ b/requirements/static/ci/py3.11/lint.txt @@ -464,7 +464,7 @@ pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.11/linux.txt # jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in @@ -614,7 +614,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.11/linux.txt # slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.11/linux.txt b/requirements/static/ci/py3.11/linux.txt index 76a900990348..cd80c1491f4c 100644 --- a/requirements/static/ci/py3.11/linux.txt +++ b/requirements/static/ci/py3.11/linux.txt @@ -335,7 +335,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -482,7 +482,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.12/cloud.txt b/requirements/static/ci/py3.12/cloud.txt index 27bd7dddf75c..5613945a8e0c 100644 --- a/requirements/static/ci/py3.12/cloud.txt +++ b/requirements/static/ci/py3.12/cloud.txt @@ -457,7 +457,7 @@ pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.12/linux.txt # jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in @@ -632,7 +632,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.12/darwin.txt b/requirements/static/ci/py3.12/darwin.txt index ad3fa6ee3ea4..c9e3cfae4066 100644 --- a/requirements/static/ci/py3.12/darwin.txt +++ b/requirements/static/ci/py3.12/darwin.txt @@ -319,7 +319,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -440,7 +440,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.12/freebsd.txt b/requirements/static/ci/py3.12/freebsd.txt index d147d7ad3c29..fdcc995b6e47 100644 --- a/requirements/static/ci/py3.12/freebsd.txt +++ b/requirements/static/ci/py3.12/freebsd.txt @@ -318,7 +318,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -439,7 +439,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.12/lint.txt b/requirements/static/ci/py3.12/lint.txt index 2070911efcac..01c10a1f8c0c 100644 --- a/requirements/static/ci/py3.12/lint.txt +++ b/requirements/static/ci/py3.12/lint.txt @@ -464,7 +464,7 @@ pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.12/linux.txt # jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in @@ -614,7 +614,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.12/linux.txt # slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.12/linux.txt b/requirements/static/ci/py3.12/linux.txt index 9546fbc23a99..bd3ffedca4bb 100644 --- a/requirements/static/ci/py3.12/linux.txt +++ b/requirements/static/ci/py3.12/linux.txt @@ -335,7 +335,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -482,7 +482,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 1b58b47ebcb6..24df95aca08a 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -540,7 +540,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.7/linux.txt # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in @@ -728,7 +728,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 3afed1c42e53..3acec78054e8 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -383,7 +383,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -516,7 +516,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index e1accfd5a0a1..49bf03e2d2f7 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -550,7 +550,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.7/linux.txt # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in @@ -709,7 +709,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.7/linux.txt # slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index a40504aa45e1..6d15f0e08577 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -394,7 +394,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -550,7 +550,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 69ca3e34d6ea..7eb6a425a71b 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -530,7 +530,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.8/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in @@ -718,7 +718,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 62de24e70f8f..16e880af8875 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -371,7 +371,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -504,7 +504,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index abf687caee71..96c15aaf23df 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -526,7 +526,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.8/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in @@ -684,7 +684,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.8/linux.txt # slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 9e587c40911b..9fe4aebca133 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -382,7 +382,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -538,7 +538,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 84198a2e58ef..b48a5343fa2f 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -532,7 +532,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.9/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in @@ -720,7 +720,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index bd7fe7e13f35..f95144a1cf71 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -380,7 +380,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -512,7 +512,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 1709814162ce..e4a8f751e21d 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -373,7 +373,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -506,7 +506,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 90f7b0de3645..eabda81ad169 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -524,7 +524,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.9/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in @@ -682,7 +682,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.9/linux.txt # slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index c8042e3cd8a2..c4d64df43e7e 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -382,7 +382,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" +pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" # via # -r requirements/static/ci/common.in # smbprotocol @@ -538,7 +538,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" +smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb From 6c04dd4a47e5062063df22fc1f0c4d326dd67f43 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Mon, 4 Dec 2023 16:39:42 -0700 Subject: [PATCH 11/32] Updated test for Salt Lint error --- requirements/static/ci/common.in | 6 ++---- requirements/static/ci/py3.10/cloud.txt | 4 ++-- requirements/static/ci/py3.10/darwin.txt | 4 ++-- requirements/static/ci/py3.10/freebsd.txt | 4 ++-- requirements/static/ci/py3.10/lint.txt | 4 ++-- requirements/static/ci/py3.10/linux.txt | 4 ++-- requirements/static/ci/py3.11/cloud.txt | 4 ++-- requirements/static/ci/py3.11/darwin.txt | 4 ++-- requirements/static/ci/py3.11/freebsd.txt | 4 ++-- requirements/static/ci/py3.11/lint.txt | 4 ++-- requirements/static/ci/py3.11/linux.txt | 4 ++-- requirements/static/ci/py3.12/cloud.txt | 4 ++-- requirements/static/ci/py3.12/darwin.txt | 4 ++-- requirements/static/ci/py3.12/freebsd.txt | 4 ++-- requirements/static/ci/py3.12/lint.txt | 4 ++-- requirements/static/ci/py3.12/linux.txt | 4 ++-- requirements/static/ci/py3.7/cloud.txt | 4 ++-- requirements/static/ci/py3.7/freebsd.txt | 4 ++-- requirements/static/ci/py3.7/lint.txt | 4 ++-- requirements/static/ci/py3.7/linux.txt | 4 ++-- requirements/static/ci/py3.8/cloud.txt | 4 ++-- requirements/static/ci/py3.8/freebsd.txt | 4 ++-- requirements/static/ci/py3.8/lint.txt | 4 ++-- requirements/static/ci/py3.8/linux.txt | 4 ++-- requirements/static/ci/py3.9/cloud.txt | 4 ++-- requirements/static/ci/py3.9/darwin.txt | 4 ++-- requirements/static/ci/py3.9/freebsd.txt | 4 ++-- requirements/static/ci/py3.9/lint.txt | 4 ++-- requirements/static/ci/py3.9/linux.txt | 4 ++-- tests/pytests/unit/utils/test_cloud.py | 7 +++++-- 30 files changed, 63 insertions(+), 62 deletions(-) diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index 797b739a952a..51eb5490cbab 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -51,7 +51,5 @@ cheetah3>=3.2.2 mako wempy impacket; sys_platform != 'win32' -pyspnego==0.9.2; sys_platform != 'win32' and python_version < '3.9' -pyspnego>=0.9.2; sys_platform != 'win32' and python_version >= '3.9' -smbprotocol==1.10.1; sys_platform != 'win32' and python_version < '3.9' -smbprotocol>=1.10.1; sys_platform != 'win32' and python_version >= '3.9' +pyspnego>=0.9.2; sys_platform != 'win32' +smbprotocol>=1.10.1; sys_platform != 'win32' diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 94d9b3f16233..c7f404f064bb 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -493,7 +493,7 @@ pyserial==3.4 # via # -c requirements/static/ci/py3.10/linux.txt # junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in @@ -677,7 +677,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index bff247b9e5ce..e0a0c22e7686 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -348,7 +348,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -475,7 +475,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 420fdadbc443..4baba16ccf41 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -341,7 +341,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -469,7 +469,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index aa6ccc5df6e4..03a0181062ba 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -497,7 +497,7 @@ pyserial==3.4 # via # -c requirements/static/ci/py3.10/linux.txt # junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in @@ -656,7 +656,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.10/linux.txt # slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.10/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 812ad1ef0eae..6bddab88a62d 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -358,7 +358,7 @@ pyrsistent==0.17.3 # via jsonschema pyserial==3.4 # via junos-eznc -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -512,7 +512,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.11/cloud.txt b/requirements/static/ci/py3.11/cloud.txt index 316068db056a..fcf91cc36caa 100644 --- a/requirements/static/ci/py3.11/cloud.txt +++ b/requirements/static/ci/py3.11/cloud.txt @@ -457,7 +457,7 @@ pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.11/linux.txt # jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in @@ -632,7 +632,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.11/darwin.txt b/requirements/static/ci/py3.11/darwin.txt index 45e183768f54..23646a198148 100644 --- a/requirements/static/ci/py3.11/darwin.txt +++ b/requirements/static/ci/py3.11/darwin.txt @@ -319,7 +319,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -440,7 +440,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.11/freebsd.txt b/requirements/static/ci/py3.11/freebsd.txt index 18343fdf9648..421aa389b93f 100644 --- a/requirements/static/ci/py3.11/freebsd.txt +++ b/requirements/static/ci/py3.11/freebsd.txt @@ -318,7 +318,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -439,7 +439,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.11/lint.txt b/requirements/static/ci/py3.11/lint.txt index ba89f4574fb1..50d15886aa4e 100644 --- a/requirements/static/ci/py3.11/lint.txt +++ b/requirements/static/ci/py3.11/lint.txt @@ -464,7 +464,7 @@ pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.11/linux.txt # jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in @@ -614,7 +614,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.11/linux.txt # slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.11/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.11/linux.txt b/requirements/static/ci/py3.11/linux.txt index cd80c1491f4c..76a900990348 100644 --- a/requirements/static/ci/py3.11/linux.txt +++ b/requirements/static/ci/py3.11/linux.txt @@ -335,7 +335,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -482,7 +482,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.12/cloud.txt b/requirements/static/ci/py3.12/cloud.txt index 5613945a8e0c..27bd7dddf75c 100644 --- a/requirements/static/ci/py3.12/cloud.txt +++ b/requirements/static/ci/py3.12/cloud.txt @@ -457,7 +457,7 @@ pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.12/linux.txt # jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in @@ -632,7 +632,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.12/darwin.txt b/requirements/static/ci/py3.12/darwin.txt index c9e3cfae4066..ad3fa6ee3ea4 100644 --- a/requirements/static/ci/py3.12/darwin.txt +++ b/requirements/static/ci/py3.12/darwin.txt @@ -319,7 +319,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -440,7 +440,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.12/freebsd.txt b/requirements/static/ci/py3.12/freebsd.txt index fdcc995b6e47..d147d7ad3c29 100644 --- a/requirements/static/ci/py3.12/freebsd.txt +++ b/requirements/static/ci/py3.12/freebsd.txt @@ -318,7 +318,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -439,7 +439,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.12/lint.txt b/requirements/static/ci/py3.12/lint.txt index 01c10a1f8c0c..2070911efcac 100644 --- a/requirements/static/ci/py3.12/lint.txt +++ b/requirements/static/ci/py3.12/lint.txt @@ -464,7 +464,7 @@ pyrsistent==0.17.3 # via # -c requirements/static/ci/py3.12/linux.txt # jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in @@ -614,7 +614,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.12/linux.txt # slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.12/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.12/linux.txt b/requirements/static/ci/py3.12/linux.txt index bd3ffedca4bb..9546fbc23a99 100644 --- a/requirements/static/ci/py3.12/linux.txt +++ b/requirements/static/ci/py3.12/linux.txt @@ -335,7 +335,7 @@ pyopenssl==24.0.0 # impacket pyrsistent==0.17.3 # via jsonschema -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -482,7 +482,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 24df95aca08a..3d0dd4d4e845 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -540,7 +540,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.7/linux.txt # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in @@ -728,7 +728,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 3acec78054e8..b099473a5aae 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -383,7 +383,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -516,7 +516,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 49bf03e2d2f7..c48712c64519 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -550,7 +550,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.7/linux.txt # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in @@ -709,7 +709,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.7/linux.txt # slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.7/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 6d15f0e08577..17fc2b35e03b 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -394,7 +394,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -550,7 +550,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 7eb6a425a71b..575161d39dc0 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -530,7 +530,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.8/linux.txt # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in @@ -718,7 +718,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 16e880af8875..96e7ef693ec5 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -371,7 +371,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -504,7 +504,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 96c15aaf23df..b008d63ceebe 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -526,7 +526,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.8/linux.txt # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in @@ -684,7 +684,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.8/linux.txt # slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" +smbprotocol==1.10.1 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.8/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 9fe4aebca133..cecd9e0ba6e1 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -382,7 +382,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.9.2 ; sys_platform != "win32" and python_version < "3.9" +pyspnego==0.9.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -538,7 +538,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.10.1 ; sys_platform != "win32" and python_version < "3.9" +smbprotocol==1.10.1 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index b48a5343fa2f..84198a2e58ef 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -532,7 +532,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.9/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in @@ -720,7 +720,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index f95144a1cf71..bd7fe7e13f35 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -380,7 +380,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -512,7 +512,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index e4a8f751e21d..1709814162ce 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -373,7 +373,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -506,7 +506,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index eabda81ad169..90f7b0de3645 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -524,7 +524,7 @@ pyserial==3.4 # -c requirements/static/ci/py3.9/linux.txt # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in @@ -682,7 +682,7 @@ slack-sdk==3.19.5 # via # -c requirements/static/ci/py3.9/linux.txt # slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via # -c requirements/static/ci/py3.9/linux.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index c4d64df43e7e..c8042e3cd8a2 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -382,7 +382,7 @@ pyserial==3.4 # via # junos-eznc # netmiko -pyspnego==0.10.2 ; sys_platform != "win32" and python_version >= "3.9" +pyspnego==0.10.2 ; sys_platform != "win32" # via # -r requirements/static/ci/common.in # smbprotocol @@ -538,7 +538,7 @@ slack-bolt==1.15.5 # via -r requirements/static/ci/linux.in slack-sdk==3.19.5 # via slack-bolt -smbprotocol==1.12.0 ; sys_platform != "win32" and python_version >= "3.9" +smbprotocol==1.12.0 ; sys_platform != "win32" # via -r requirements/static/ci/common.in smmap==4.0.0 # via gitdb diff --git a/tests/pytests/unit/utils/test_cloud.py b/tests/pytests/unit/utils/test_cloud.py index 1c15f3562809..cd61231617f6 100644 --- a/tests/pytests/unit/utils/test_cloud.py +++ b/tests/pytests/unit/utils/test_cloud.py @@ -13,7 +13,7 @@ import pytest try: - from smbprotocol.exceptions import CannotDelete + from smbprotocol.exceptions import CannotDelete, SMBResponseException HAS_PSEXEC = True except ImportError: @@ -217,6 +217,7 @@ def test_deploy_windows_custom_port(): @pytest.mark.skipif(not HAS_PSEXEC, reason="Missing SMB Protocol Library") def test_run_psexec_command_cleanup_lingering_paexec(caplog): pytest.importorskip("pypsexec.client", reason="Requires PyPsExec") + mock_psexec = patch("salt.utils.cloud.PsExecClient", autospec=True) mock_scmr = patch("salt.utils.cloud.ScmrService", autospec=True) # We're mocking 'remove_service' because all we care about is the cleanup @@ -249,7 +250,9 @@ def test_run_psexec_command_cleanup_lingering_paexec(caplog): "BarnicleBoy", ) # pylint: disable=no-value-for-parameter - mock_client.return_value.cleanup = MagicMock(side_effect=CannotDelete()) + mock_client.return_value.cleanup = MagicMock( + side_effect=CannotDelete(SMBResponseException) + ) cloud.run_psexec_command( "spongebob", From cb18d6d5a7a3b59ba053f86f93a8520882f7dfaa Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Tue, 5 Dec 2023 11:33:58 -0700 Subject: [PATCH 12/32] Changed time, but will be surprised if that makes a difference --- tests/pytests/integration/utils/test_smb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 1b55236b9679..d53839cbcef6 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -90,7 +90,7 @@ def smb_dict(tmp_path): ) _smbd = subprocess.Popen([shutil.which("smbd"), "-F", "-P0", "-s", samba_conf]) - time.sleep(5) + time.sleep(10) conn_dict = { "tmpdir": tmp_path, "samba_dir": samba_dir, From ee907bcbc2b249895978f7e544957022e45b08e2 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 8 Dec 2023 10:27:38 -0700 Subject: [PATCH 13/32] Debug code to test smmbd failure --- tests/pytests/integration/utils/test_smb.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index d53839cbcef6..09db750ec8a8 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -4,6 +4,7 @@ import contextlib import getpass import os +import pathlib import shutil import signal import subprocess @@ -89,8 +90,12 @@ def smb_dict(tmp_path): f"force user = {username}\n" ) - _smbd = subprocess.Popen([shutil.which("smbd"), "-F", "-P0", "-s", samba_conf]) - time.sleep(10) + ## _smbd = subprocess.Popen([shutil.which("smbd"), "-F", "-P0", "-s", samba_conf]) + smbd_path = shutil.which("smbd") + pathlib.Path(smbd_path).exists() + _smbd = subprocess.Popen([smbd_path, "-F", "-P0", "-s", samba_conf]) + time.sleep(2) + pidfile = samba_dir / "smbd.pid" conn_dict = { "tmpdir": tmp_path, "samba_dir": samba_dir, @@ -98,8 +103,9 @@ def smb_dict(tmp_path): "passwdb": passwdb, "username": username, "samba_conf": samba_conf, + "smbd_path": smbd_path, + "pidfile": pidfile, } - pidfile = samba_dir / "smbd.pid" assert pidfile.exists() with salt.utils.files.fopen(pidfile, "r") as fp: From 3f8cd4267ea00e1a1d74ce5876dbea378351688c Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Mon, 11 Dec 2023 15:56:11 -0700 Subject: [PATCH 14/32] More debugging info --- tests/pytests/integration/utils/test_smb.py | 52 +++++++++++++++------ 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 09db750ec8a8..fcdab3233b03 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -91,23 +91,45 @@ def smb_dict(tmp_path): ) ## _smbd = subprocess.Popen([shutil.which("smbd"), "-F", "-P0", "-s", samba_conf]) + ## _smbd = subprocess.Popen([smbd_path, "-F", "-P0", "-s", samba_conf]) + ## time.sleep(2) + ## pidfile = samba_dir / "smbd.pid" + ## conn_dict = { + ## "tmpdir": tmp_path, + ## "samba_dir": samba_dir, + ## "public_dir": public_dir, + ## "passwdb": passwdb, + ## "username": username, + ## "samba_conf": samba_conf, + ## "smbd_path": smbd_path, + ## "pidfile": pidfile, + ## } + + ## assert pidfile.exists() + smbd_path = shutil.which("smbd") pathlib.Path(smbd_path).exists() - _smbd = subprocess.Popen([smbd_path, "-F", "-P0", "-s", samba_conf]) - time.sleep(2) - pidfile = samba_dir / "smbd.pid" - conn_dict = { - "tmpdir": tmp_path, - "samba_dir": samba_dir, - "public_dir": public_dir, - "passwdb": passwdb, - "username": username, - "samba_conf": samba_conf, - "smbd_path": smbd_path, - "pidfile": pidfile, - } - - assert pidfile.exists() + try: + _smbd = subprocess.Popen([smbd_path, "-F", "-P0", "-s", samba_conf]) + assert _smbd != 0 + time.sleep(2) + pidfile = samba_dir / "smbd.pid" + conn_dict = { + "tmpdir": tmp_path, + "samba_dir": samba_dir, + "public_dir": public_dir, + "passwdb": passwdb, + "username": username, + "samba_conf": samba_conf, + "smbd_path": smbd_path, + "pidfile": pidfile, + } + + assert pidfile.exists() + + except (OSError, ValueError) as e: + assert f"exception occured, '{e}'" == "" + with salt.utils.files.fopen(pidfile, "r") as fp: _pid = int(fp.read().strip()) if not check_pid(_pid): From 822faa8d5c2786e3425cdfb8c235a74fb00bf4f0 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Tue, 12 Dec 2023 11:46:01 -0700 Subject: [PATCH 15/32] Added further debug for smbd --- tests/pytests/integration/utils/test_smb.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index fcdab3233b03..e902df7d22c3 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -110,7 +110,9 @@ def smb_dict(tmp_path): smbd_path = shutil.which("smbd") pathlib.Path(smbd_path).exists() try: - _smbd = subprocess.Popen([smbd_path, "-F", "-P0", "-s", samba_conf]) + _smbd = subprocess.Popen( + [smbd_path, "-i", "-d", "2", "-F", "-P0", "-s", samba_conf] + ) assert _smbd != 0 time.sleep(2) pidfile = samba_dir / "smbd.pid" From e1cd458a5d7bddd2b08e800632c3f69952ef21c7 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Wed, 13 Dec 2023 11:15:27 -0700 Subject: [PATCH 16/32] More debugging --- tests/pytests/integration/utils/test_smb.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index e902df7d22c3..8f2799cfd4f9 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -3,6 +3,7 @@ """ import contextlib import getpass +import logging import os import pathlib import shutil @@ -20,6 +21,7 @@ IPV6_ENABLED = bool(salt.utils.network.ip_addrs6(include_loopback=True)) +log = logging.getLogger(__name__) pytestmark = [ pytest.mark.skipif( @@ -127,6 +129,12 @@ def smb_dict(tmp_path): "pidfile": pidfile, } + ## lets examine contents of samba_dir ditectory + for file_dgm in pathlib.Path(samba_dir).iterdir(): + log.warning(f"DGM walking samba_dir, file '{file_dgm}'") + if os.path.basename(str(file_dgm)) == "smbd.pid": + assert "1" == "2" + assert pidfile.exists() except (OSError, ValueError) as e: From 2e3949d1ba17d99cdbc9e92611dac0e629c260b9 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 14 Dec 2023 12:23:51 -0700 Subject: [PATCH 17/32] more debug --- tests/pytests/integration/utils/test_smb.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 8f2799cfd4f9..6c0b22d7f578 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -133,6 +133,7 @@ def smb_dict(tmp_path): for file_dgm in pathlib.Path(samba_dir).iterdir(): log.warning(f"DGM walking samba_dir, file '{file_dgm}'") if os.path.basename(str(file_dgm)) == "smbd.pid": + log.warning(f"DGM walking samba_dir found smbd.pid, file '{file_dgm}'") assert "1" == "2" assert pidfile.exists() From bea459c4ad8603c6b076422c8666432d57ed05ed Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 14 Dec 2023 15:38:48 -0700 Subject: [PATCH 18/32] more debugging of PR tools VM --- tests/pytests/integration/utils/test_smb.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 6c0b22d7f578..e2a4ef3df04c 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -115,7 +115,12 @@ def smb_dict(tmp_path): _smbd = subprocess.Popen( [smbd_path, "-i", "-d", "2", "-F", "-P0", "-s", samba_conf] ) + streamdata = _smbd.communicate()[0] + rc = _smbd.returncode + assert rc == 0 + assert _smbd != 0 + time.sleep(2) pidfile = samba_dir / "smbd.pid" conn_dict = { From 364435365faa51639a4df593223de948ff89af81 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 4 Jan 2024 12:01:19 -0700 Subject: [PATCH 19/32] Further debugging --- tests/pytests/integration/utils/test_smb.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index e2a4ef3df04c..e0daf273debf 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -113,11 +113,15 @@ def smb_dict(tmp_path): pathlib.Path(smbd_path).exists() try: _smbd = subprocess.Popen( - [smbd_path, "-i", "-d", "2", "-F", "-P0", "-s", samba_conf] + ## [smbd_path, "-i", "-d", "2", "-F", "-P0", "-s", samba_conf] + [smbd_path, "-d", "2", "-F", "-P0", "-s", samba_conf], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + text=True, ) - streamdata = _smbd.communicate()[0] - rc = _smbd.returncode - assert rc == 0 + ## streamdata = _smbd.communicate()[0] + ## rc = _smbd.returncode + ## assert rc == 0 assert _smbd != 0 From d8ee6803263b538d63708167c6f6b8d8873b75f0 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 4 Jan 2024 15:31:48 -0700 Subject: [PATCH 20/32] More debugging --- tests/pytests/integration/utils/test_smb.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index e0daf273debf..fcf552d347af 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -122,10 +122,15 @@ def smb_dict(tmp_path): ## streamdata = _smbd.communicate()[0] ## rc = _smbd.returncode ## assert rc == 0 - + time.sleep(2) assert _smbd != 0 - time.sleep(2) + out, err = _smbd.communicate() + if err: + print("--Error--\n", err.decode()) + else: + print("--No errors--\n", out.decode()) + pidfile = samba_dir / "smbd.pid" conn_dict = { "tmpdir": tmp_path, From 096e5a1c457a230b9ad1cff0af7b1f4f692177ad Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Thu, 4 Jan 2024 17:28:29 -0700 Subject: [PATCH 21/32] Refining debug --- tests/pytests/integration/utils/test_smb.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index fcf552d347af..34692e032634 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -115,6 +115,7 @@ def smb_dict(tmp_path): _smbd = subprocess.Popen( ## [smbd_path, "-i", "-d", "2", "-F", "-P0", "-s", samba_conf] [smbd_path, "-d", "2", "-F", "-P0", "-s", samba_conf], + shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, @@ -127,9 +128,9 @@ def smb_dict(tmp_path): out, err = _smbd.communicate() if err: - print("--Error--\n", err.decode()) + print("--Error--\n", err.decode(), flush=True) else: - print("--No errors--\n", out.decode()) + print("--No errors--\n", out.decode(), flush=True) pidfile = samba_dir / "smbd.pid" conn_dict = { From 21edfa8838d1f3fabadcaf9a194c32efcabd5ef1 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 5 Jan 2024 09:56:06 -0700 Subject: [PATCH 22/32] Altered print statement --- tests/pytests/integration/utils/test_smb.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 34692e032634..2e08334ac736 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -128,9 +128,9 @@ def smb_dict(tmp_path): out, err = _smbd.communicate() if err: - print("--Error--\n", err.decode(), flush=True) + print(f"--Error--\nerr '{err}'", flush=True) else: - print("--No errors--\n", out.decode(), flush=True) + print("--No errors--\nout '{out}'", flush=True) pidfile = samba_dir / "smbd.pid" conn_dict = { From 207b49a41684fe1090cfda04d13835625c9eda51 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 5 Jan 2024 10:21:17 -0700 Subject: [PATCH 23/32] More debugging --- tests/pytests/integration/utils/test_smb.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 2e08334ac736..3537c684fef9 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -43,7 +43,8 @@ def check_pid(pid): @pytest.fixture -def smb_dict(tmp_path): +## def smb_dict(tmp_path): +def smb_dict(tmp_path, salt_call_cli): samba_dir = tmp_path / "samba" samba_dir.mkdir(parents=True) assert samba_dir.exists() @@ -151,6 +152,12 @@ def smb_dict(tmp_path): log.warning(f"DGM walking samba_dir found smbd.pid, file '{file_dgm}'") assert "1" == "2" + ## DGM try finding the smbd.pid file in the system + mypidfile = salt_call_cli.run("--local", "cmd.run", "find / -name smbd.pid") + print(f"PID file is '{mypidfile}'") + mypsout = salt_call_cli.run("--local", "cmd.run", "ps -ef | grep smbd") + print(f"ps -ef output for smbd '{mypsout}'") + assert pidfile.exists() except (OSError, ValueError) as e: From 461116a9e4931bdd23e6025bb4dd48a6582be774 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 5 Jan 2024 13:51:44 -0700 Subject: [PATCH 24/32] More testing --- tests/pytests/integration/utils/test_smb.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 3537c684fef9..bf440c7d972c 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -153,10 +153,17 @@ def smb_dict(tmp_path, salt_call_cli): assert "1" == "2" ## DGM try finding the smbd.pid file in the system - mypidfile = salt_call_cli.run("--local", "cmd.run", "find / -name smbd.pid") - print(f"PID file is '{mypidfile}'") - mypsout = salt_call_cli.run("--local", "cmd.run", "ps -ef | grep smbd") - print(f"ps -ef output for smbd '{mypsout}'") + mypsout = salt_call_cli.run( + "--local", "-l", "debug", "cmd.run", "ps -ef | grep smbd" + ) + print(f"ps -ef output for smbd '{mypsout}'", flush=True) + assert mypsout == "" + + mypidfile = salt_call_cli.run( + "--local", "-l", "debug", "cmd.run", "find / -name smbd.pid" + ) + print(f"PID file is '{mypidfile}'", flush=True) + assert mypidfile == "" assert pidfile.exists() From c78dbb444102311c739595dee3cca4f95e54fd6d Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Fri, 5 Jan 2024 13:58:27 -0700 Subject: [PATCH 25/32] more laborate debugging --- tests/pytests/integration/utils/test_smb.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index bf440c7d972c..e9e3626346f7 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -148,6 +148,7 @@ def smb_dict(tmp_path, salt_call_cli): ## lets examine contents of samba_dir ditectory for file_dgm in pathlib.Path(samba_dir).iterdir(): log.warning(f"DGM walking samba_dir, file '{file_dgm}'") + print(f"DGM walking samba_dir, file '{file_dgm}'", flush=True) if os.path.basename(str(file_dgm)) == "smbd.pid": log.warning(f"DGM walking samba_dir found smbd.pid, file '{file_dgm}'") assert "1" == "2" From bfaffd3a941901c4a5767e15c011b0d9d947eb01 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Mon, 8 Jan 2024 13:53:17 -0700 Subject: [PATCH 26/32] more debugging --- tests/pytests/integration/utils/test_smb.py | 444 ++++++++++---------- 1 file changed, 225 insertions(+), 219 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index e9e3626346f7..44b69a9f31ed 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -10,7 +10,6 @@ import signal import subprocess import tempfile -import time import pytest @@ -19,6 +18,9 @@ import salt.utils.path import salt.utils.smb +## DGM import time + + IPV6_ENABLED = bool(salt.utils.network.ip_addrs6(include_loopback=True)) log = logging.getLogger(__name__) @@ -124,7 +126,7 @@ def smb_dict(tmp_path, salt_call_cli): ## streamdata = _smbd.communicate()[0] ## rc = _smbd.returncode ## assert rc == 0 - time.sleep(2) + ## time.sleep(2) assert _smbd != 0 out, err = _smbd.communicate() @@ -146,6 +148,13 @@ def smb_dict(tmp_path, salt_call_cli): } ## lets examine contents of samba_dir ditectory + for file_dgm in pathlib.Path(tmp_path).iterdir(): + log.warning(f"DGM walking tmp_path, file '{file_dgm}'") + print(f"DGM walking tmp_path, file '{file_dgm}'", flush=True) + if os.path.basename(str(file_dgm)) == "smbd.pid": + log.warning(f"DGM walking tmp_path found smbd.pid, file '{file_dgm}'") + assert "1" == "2" + for file_dgm in pathlib.Path(samba_dir).iterdir(): log.warning(f"DGM walking samba_dir, file '{file_dgm}'") print(f"DGM walking samba_dir, file '{file_dgm}'", flush=True) @@ -154,15 +163,11 @@ def smb_dict(tmp_path, salt_call_cli): assert "1" == "2" ## DGM try finding the smbd.pid file in the system - mypsout = salt_call_cli.run( - "--local", "-l", "debug", "cmd.run", "ps -ef | grep smbd" - ) + mypsout = salt_call_cli.run("--local", "cmd.run", "ps -ef | grep smbd") print(f"ps -ef output for smbd '{mypsout}'", flush=True) - assert mypsout == "" + ## assert mypsout == "" - mypidfile = salt_call_cli.run( - "--local", "-l", "debug", "cmd.run", "find / -name smbd.pid" - ) + mypidfile = salt_call_cli.run("--local", "cmd.run", "find / -name smbd.pid") print(f"PID file is '{mypidfile}'", flush=True) assert mypidfile == "" @@ -205,213 +210,214 @@ def test_write_file_ipv4(smb_dict): assert result == content -@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -def test_write_file_ipv6(smb_dict): - """ - Transfer a file over SMB - """ - name = "test_write_file_v6.txt" - content = "write test file content ipv6" - share_path = smb_dict["public_dir"] / name - assert not share_path.exists() - - local_path = tempfile.mktemp() - with salt.utils.files.fopen(local_path, "w") as fp: - fp.write(content) - with contextlib.closing( - salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.put_file(local_path, name, "public", conn=conn) - - assert share_path.exists() - with salt.utils.files.fopen(share_path, "r") as fp: - result = fp.read() - assert result == content - - -def test_write_str_v4(smb_dict): - """ - Write a string to a file over SMB - """ - name = "test_write_str.txt" - content = "write test file content" - share_path = smb_dict["public_dir"] / name - assert not share_path.exists() - with contextlib.closing( - salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.put_str(content, name, "public", conn=conn) - - assert share_path.exists() - with salt.utils.files.fopen(share_path, "r") as fp: - result = fp.read() - assert result == content - - -@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -def test_write_str_v6(smb_dict): - """ - Write a string to a file over SMB - """ - name = "test_write_str_v6.txt" - content = "write test file content" - share_path = smb_dict["public_dir"] / name - assert not share_path.exists() - with contextlib.closing( - salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.put_str(content, name, "public", conn=conn) - - assert share_path.exists() - with salt.utils.files.fopen(share_path, "r") as fp: - result = fp.read() - assert result == content - - -def test_delete_file_v4(smb_dict): - """ - Validate deletion of files over SMB - """ - name = "test_delete_file.txt" - content = "read test file content" - share_path = smb_dict["public_dir"] / name - with salt.utils.files.fopen(share_path, "w") as fp: - fp.write(content) - assert share_path.exists() - - with contextlib.closing( - salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.delete_file(name, "public", conn=conn) - - assert not share_path.exists() - - -@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -def test_delete_file_v6(smb_dict): - """ - Validate deletion of files over SMB - """ - name = "test_delete_file_v6.txt" - content = "read test file content" - share_path = smb_dict["public_dir"] / name - with salt.utils.files.fopen(share_path, "w") as fp: - fp.write(content) - assert share_path.exists() - - with contextlib.closing( - salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.delete_file(name, "public", conn=conn) - - assert not share_path.exists() - - -def test_mkdirs_v4(smb_dict): - """ - Create directories over SMB - """ - dir_name = "mkdirs/test" - share_path = smb_dict["public_dir"] / dir_name - assert not share_path.exists() - - with contextlib.closing( - salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.mkdirs(dir_name, "public", conn=conn) - - assert share_path.exists() - - -@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -def test_mkdirs_v6(smb_dict): - """ - Create directories over SMB - """ - dir_name = "mkdirs/testv6" - share_path = smb_dict["public_dir"] / dir_name - assert not share_path.exists() - - with contextlib.closing( - salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.mkdirs(dir_name, "public", conn=conn) - - assert share_path.exists() - - -def test_delete_dirs_v4(smb_dict): - """ - Validate deletion of directoreies over SMB - """ - dir_name = "deldirs" - subdir_name = "deldirs/test" - local_path = smb_dict["public_dir"] / subdir_name - local_path.mkdir(parents=True) - assert local_path.exists() - assert local_path.is_dir() - - with contextlib.closing( - salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) - - with contextlib.closing( - salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.delete_directory(dir_name, "public", conn=conn) - - assert not local_path.exists() - assert not (smb_dict["public_dir"] / dir_name).exists() - - -@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -def test_delete_dirs_v6(smb_dict): - """ - Validate deletion of directoreies over SMB - """ - dir_name = "deldirsv6" - subdir_name = "deldirsv6/test" - local_path = smb_dict["public_dir"] / subdir_name - local_path.mkdir(parents=True) - assert local_path.exists() - assert local_path.is_dir() - - with contextlib.closing( - salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) - - with contextlib.closing( - salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - ) as conn: - salt.utils.smb.delete_directory(dir_name, "public", conn=conn) - - assert not local_path.exists() - assert not (smb_dict["public_dir"] / dir_name).exists() - - -def test_connection(smb_dict): - """ - Validate creation of an SMB connection - """ - with contextlib.closing( - salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - ) as conn: - pass - - -@pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -def test_connection_v6(smb_dict): - """ - Validate creation of an SMB connection - """ - with contextlib.closing( - salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) - ) as conn: - pass - - with contextlib.closing( - salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - ) as conn: - pass +## DGM +## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +## DGM def test_write_file_ipv6(smb_dict): +## DGM """ +## DGM Transfer a file over SMB +## DGM """ +## DGM name = "test_write_file_v6.txt" +## DGM content = "write test file content ipv6" +## DGM share_path = smb_dict["public_dir"] / name +## DGM assert not share_path.exists() +## DGM +## DGM local_path = tempfile.mktemp() +## DGM with salt.utils.files.fopen(local_path, "w") as fp: +## DGM fp.write(content) +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.put_file(local_path, name, "public", conn=conn) +## DGM +## DGM assert share_path.exists() +## DGM with salt.utils.files.fopen(share_path, "r") as fp: +## DGM result = fp.read() +## DGM assert result == content +## DGM +## DGM +## DGM def test_write_str_v4(smb_dict): +## DGM """ +## DGM Write a string to a file over SMB +## DGM """ +## DGM name = "test_write_str.txt" +## DGM content = "write test file content" +## DGM share_path = smb_dict["public_dir"] / name +## DGM assert not share_path.exists() +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.put_str(content, name, "public", conn=conn) +## DGM +## DGM assert share_path.exists() +## DGM with salt.utils.files.fopen(share_path, "r") as fp: +## DGM result = fp.read() +## DGM assert result == content +## DGM +## DGM +## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +## DGM def test_write_str_v6(smb_dict): +## DGM """ +## DGM Write a string to a file over SMB +## DGM """ +## DGM name = "test_write_str_v6.txt" +## DGM content = "write test file content" +## DGM share_path = smb_dict["public_dir"] / name +## DGM assert not share_path.exists() +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.put_str(content, name, "public", conn=conn) +## DGM +## DGM assert share_path.exists() +## DGM with salt.utils.files.fopen(share_path, "r") as fp: +## DGM result = fp.read() +## DGM assert result == content +## DGM +## DGM +## DGM def test_delete_file_v4(smb_dict): +## DGM """ +## DGM Validate deletion of files over SMB +## DGM """ +## DGM name = "test_delete_file.txt" +## DGM content = "read test file content" +## DGM share_path = smb_dict["public_dir"] / name +## DGM with salt.utils.files.fopen(share_path, "w") as fp: +## DGM fp.write(content) +## DGM assert share_path.exists() +## DGM +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.delete_file(name, "public", conn=conn) +## DGM +## DGM assert not share_path.exists() +## DGM +## DGM +## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +## DGM def test_delete_file_v6(smb_dict): +## DGM """ +## DGM Validate deletion of files over SMB +## DGM """ +## DGM name = "test_delete_file_v6.txt" +## DGM content = "read test file content" +## DGM share_path = smb_dict["public_dir"] / name +## DGM with salt.utils.files.fopen(share_path, "w") as fp: +## DGM fp.write(content) +## DGM assert share_path.exists() +## DGM +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.delete_file(name, "public", conn=conn) +## DGM +## DGM assert not share_path.exists() +## DGM +## DGM +## DGM def test_mkdirs_v4(smb_dict): +## DGM """ +## DGM Create directories over SMB +## DGM """ +## DGM dir_name = "mkdirs/test" +## DGM share_path = smb_dict["public_dir"] / dir_name +## DGM assert not share_path.exists() +## DGM +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.mkdirs(dir_name, "public", conn=conn) +## DGM +## DGM assert share_path.exists() +## DGM +## DGM +## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +## DGM def test_mkdirs_v6(smb_dict): +## DGM """ +## DGM Create directories over SMB +## DGM """ +## DGM dir_name = "mkdirs/testv6" +## DGM share_path = smb_dict["public_dir"] / dir_name +## DGM assert not share_path.exists() +## DGM +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.mkdirs(dir_name, "public", conn=conn) +## DGM +## DGM assert share_path.exists() +## DGM +## DGM +## DGM def test_delete_dirs_v4(smb_dict): +## DGM """ +## DGM Validate deletion of directoreies over SMB +## DGM """ +## DGM dir_name = "deldirs" +## DGM subdir_name = "deldirs/test" +## DGM local_path = smb_dict["public_dir"] / subdir_name +## DGM local_path.mkdir(parents=True) +## DGM assert local_path.exists() +## DGM assert local_path.is_dir() +## DGM +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) +## DGM +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.delete_directory(dir_name, "public", conn=conn) +## DGM +## DGM assert not local_path.exists() +## DGM assert not (smb_dict["public_dir"] / dir_name).exists() +## DGM +## DGM +## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +## DGM def test_delete_dirs_v6(smb_dict): +## DGM """ +## DGM Validate deletion of directoreies over SMB +## DGM """ +## DGM dir_name = "deldirsv6" +## DGM subdir_name = "deldirsv6/test" +## DGM local_path = smb_dict["public_dir"] / subdir_name +## DGM local_path.mkdir(parents=True) +## DGM assert local_path.exists() +## DGM assert local_path.is_dir() +## DGM +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) +## DGM +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM salt.utils.smb.delete_directory(dir_name, "public", conn=conn) +## DGM +## DGM assert not local_path.exists() +## DGM assert not (smb_dict["public_dir"] / dir_name).exists() +## DGM +## DGM +## DGM def test_connection(smb_dict): +## DGM """ +## DGM Validate creation of an SMB connection +## DGM """ +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM pass +## DGM +## DGM +## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") +## DGM def test_connection_v6(smb_dict): +## DGM """ +## DGM Validate creation of an SMB connection +## DGM """ +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM pass +## DGM +## DGM with contextlib.closing( +## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) +## DGM ) as conn: +## DGM pass From eb3ff2fc817dcbbf3ff0974733407e321507741d Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Tue, 9 Jan 2024 11:43:03 -0700 Subject: [PATCH 27/32] Moire debug --- tests/pytests/integration/utils/test_smb.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 44b69a9f31ed..e9505631b0d0 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -113,7 +113,7 @@ def smb_dict(tmp_path, salt_call_cli): ## assert pidfile.exists() smbd_path = shutil.which("smbd") - pathlib.Path(smbd_path).exists() + assert pathlib.Path(smbd_path).exists() try: _smbd = subprocess.Popen( ## [smbd_path, "-i", "-d", "2", "-F", "-P0", "-s", samba_conf] @@ -131,9 +131,9 @@ def smb_dict(tmp_path, salt_call_cli): out, err = _smbd.communicate() if err: - print(f"--Error--\nerr '{err}'", flush=True) + print(f"DGM --Error--\nerr '{err}'", flush=True) else: - print("--No errors--\nout '{out}'", flush=True) + print("DGM --No errors--\nout '{out}'", flush=True) pidfile = samba_dir / "smbd.pid" conn_dict = { @@ -163,12 +163,13 @@ def smb_dict(tmp_path, salt_call_cli): assert "1" == "2" ## DGM try finding the smbd.pid file in the system - mypsout = salt_call_cli.run("--local", "cmd.run", "ps -ef | grep smbd") - print(f"ps -ef output for smbd '{mypsout}'", flush=True) + # DGM mypsout = salt_call_cli.run("--local", "cmd.run", "ps -ef | grep smbd") + mypsout = salt_call_cli.run("--local", "cmd.run", "ps -ef") + print(f"DGM ps -ef output for smbd '{mypsout}'", flush=True) ## assert mypsout == "" mypidfile = salt_call_cli.run("--local", "cmd.run", "find / -name smbd.pid") - print(f"PID file is '{mypidfile}'", flush=True) + print(f"DGM PID file is '{mypidfile}'", flush=True) assert mypidfile == "" assert pidfile.exists() From 9f699e7d76826023e6906c4790a1f68117d55213 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 18 Jan 2024 15:58:50 +0000 Subject: [PATCH 28/32] Fix static requirements Signed-off-by: Pedro Algarvio --- requirements/static/ci/py3.7/lint.txt | 1 + requirements/static/ci/py3.7/linux.txt | 1 + requirements/static/ci/py3.8/lint.txt | 1 + requirements/static/ci/py3.8/linux.txt | 1 + requirements/static/ci/py3.9/lint.txt | 1 + requirements/static/ci/py3.9/linux.txt | 1 + 6 files changed, 6 insertions(+) diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index c48712c64519..f8df09df2358 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -300,6 +300,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.7/linux.txt # -c requirements/static/ci/py3.7/linux.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 17fc2b35e03b..79a9d7fa52b8 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -219,6 +219,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.7/linux.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index b008d63ceebe..f6dcf4ce9b50 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -290,6 +290,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.8/linux.txt # -c requirements/static/ci/py3.8/linux.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index cecd9e0ba6e1..eb420f5a2b1c 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -207,6 +207,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.8/linux.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 90f7b0de3645..37ec2a0bad20 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -286,6 +286,7 @@ jinja2==3.1.3 # -c requirements/static/ci/../pkg/py3.9/linux.txt # -c requirements/static/ci/py3.9/linux.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index c8042e3cd8a2..c01497863e66 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -205,6 +205,7 @@ jinja2==3.1.3 # via # -c requirements/static/ci/../pkg/py3.9/linux.txt # -r requirements/base.txt + # flask # junos-eznc # moto # napalm From 26dbc75a0bea3187488431c7e0098fa52f018a25 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 18 Jan 2024 09:30:17 +0000 Subject: [PATCH 29/32] Run `smbd` as a salt-factories `Daemon` Signed-off-by: Pedro Algarvio --- tests/pytests/integration/utils/test_smb.py | 261 +++++++++----------- 1 file changed, 121 insertions(+), 140 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index e9505631b0d0..5b42fcc2acd2 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -2,25 +2,22 @@ Test utility methods that communicate with SMB shares. """ import contextlib -import getpass import logging -import os -import pathlib import shutil -import signal import subprocess -import tempfile +import attr import pytest +from pytestshellutils.exceptions import FactoryFailure +from pytestshellutils.shell import Daemon +from pytestshellutils.utils import ports +from saltfactories.utils import random_string, running_username import salt.utils.files import salt.utils.network import salt.utils.path import salt.utils.smb -## DGM import time - - IPV6_ENABLED = bool(salt.utils.network.ip_addrs6(include_loopback=True)) log = logging.getLogger(__name__) @@ -30,56 +27,70 @@ not salt.utils.smb.HAS_SMBPROTOCOL, reason='"smbprotocol" needs to be installed.', ), - pytest.mark.skip_if_binaries_missing("smbd", check_all=False), - pytest.mark.skip_unless_on_linux(reason="using Linux samba to test smb"), + pytest.mark.skip_if_binaries_missing("smbd", "pdbedit"), + pytest.mark.skip_unless_on_linux, ] -def check_pid(pid): - try: - os.kill(pid, 0) - except OSError: - return False - else: - return True +@attr.s(kw_only=True, slots=True) +class Smbd(Daemon): + """ + SSHD implementation. + """ + + runtime_dir = attr.ib() + script_name = attr.ib(default=shutil.which("smbd")) + display_name = attr.ib(default=None) + listen_port = attr.ib(factory=ports.get_unused_localhost_port) + username = attr.ib(init=False, factory=running_username) + password = attr.ib(init=False, repr=False) + public_dir = attr.ib(init=False, repr=False) + config_dir = attr.ib(init=False, repr=False) + passwdb_file_path = attr.ib(init=False, repr=False) + config_file_path = attr.ib(init=False, repr=False) + + @password.default + def _default_password(self): + return random_string(f"{self.username}-") + @config_dir.default + def _default_config_dir(self): + path = self.runtime_dir / "conf" + path.mkdir() + return path -@pytest.fixture -## def smb_dict(tmp_path): -def smb_dict(tmp_path, salt_call_cli): - samba_dir = tmp_path / "samba" - samba_dir.mkdir(parents=True) - assert samba_dir.exists() - assert samba_dir.is_dir() - public_dir = tmp_path / "public" - public_dir.mkdir(parents=True) - assert public_dir.exists() - assert public_dir.is_dir() - passwdb = tmp_path / "passwdb" - username = getpass.getuser() - with salt.utils.files.fopen(passwdb, "w") as fp: - fp.write( - f"{username}:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:AC8E657F8" - "3DF82BEEA5D43BDAF7800CC:[U ]:LCT-507C14C7:" - ) - samba_conf = tmp_path / "smb.conf" - with salt.utils.files.fopen(samba_conf, "w") as fp: - fp.write( + @public_dir.default + def _default_public_dir(self): + path = self.runtime_dir / "public" + path.mkdir() + return path + + @passwdb_file_path.default + def _default_passwdb_path(self): + return self.config_dir / "passwdb" + + @config_file_path.default + def _default_config_file_path(self): + return self.config_dir / "smb.conf" + + def _write_config(self): + self.config_file_path.write_text( f"[global]\n" "realm = saltstack.com\n" "interfaces = lo 127.0.0.0/8\n" - "smb ports = 1445\n" + f"smb ports = {self.listen_port}\n" "log level = 2\n" "map to guest = Bad User\n" "enable core files = no\n" "passdb backend = smbpasswd\n" - f"smb passwd file = {passwdb}\n" - f"lock directory = {samba_dir}\n" - f"state directory = {samba_dir}\n" - f"cache directory = {samba_dir}\n" - f"pid directory = {samba_dir}\n" - f"private dir = {samba_dir}\n" - f"ncalrpc dir = {samba_dir}\n" + f"smb passwd file = {self.passwdb_file_path}\n" + f"log file = {self.runtime_dir / 'log.%m'}\n" + f"lock directory = {self.runtime_dir}\n" + f"state directory = {self.runtime_dir}\n" + f"cache directory = {self.runtime_dir}\n" + f"pid directory = {self.runtime_dir}\n" + f"private dir = {self.runtime_dir}\n" + f"ncalrpc dir = {self.runtime_dir}\n" "socket options = IPTOS_LOWDELAY TCP_NODELAY\n" "min receivefile size = 0\n" "write cache size = 0\n" @@ -88,126 +99,96 @@ def smb_dict(tmp_path, salt_call_cli): "client plaintext auth = no\n" "\n" "[public]\n" - f"path = {public_dir}\n" + f"path = {self.public_dir}\n" "read only = no\n" "guest ok = no\n" "writeable = yes\n" - f"force user = {username}\n" + f"force user = {self.username}\n" ) - ## _smbd = subprocess.Popen([shutil.which("smbd"), "-F", "-P0", "-s", samba_conf]) - ## _smbd = subprocess.Popen([smbd_path, "-F", "-P0", "-s", samba_conf]) - ## time.sleep(2) - ## pidfile = samba_dir / "smbd.pid" - ## conn_dict = { - ## "tmpdir": tmp_path, - ## "samba_dir": samba_dir, - ## "public_dir": public_dir, - ## "passwdb": passwdb, - ## "username": username, - ## "samba_conf": samba_conf, - ## "smbd_path": smbd_path, - ## "pidfile": pidfile, - ## } - - ## assert pidfile.exists() - - smbd_path = shutil.which("smbd") - assert pathlib.Path(smbd_path).exists() - try: - _smbd = subprocess.Popen( - ## [smbd_path, "-i", "-d", "2", "-F", "-P0", "-s", samba_conf] - [smbd_path, "-d", "2", "-F", "-P0", "-s", samba_conf], + def _create_account(self): + ret = subprocess.run( + [ + shutil.which("pdbedit"), + "--create", + f"--configfile={self.config_file_path}", + "-w", + "-u", + self.username, + "-t", + ], + input=f"{self.password}\n{self.password}\n".encode(), shell=False, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - text=True, + check=False, ) - ## streamdata = _smbd.communicate()[0] - ## rc = _smbd.returncode - ## assert rc == 0 - ## time.sleep(2) - assert _smbd != 0 - - out, err = _smbd.communicate() - if err: - print(f"DGM --Error--\nerr '{err}'", flush=True) - else: - print("DGM --No errors--\nout '{out}'", flush=True) - - pidfile = samba_dir / "smbd.pid" - conn_dict = { - "tmpdir": tmp_path, - "samba_dir": samba_dir, - "public_dir": public_dir, - "passwdb": passwdb, - "username": username, - "samba_conf": samba_conf, - "smbd_path": smbd_path, - "pidfile": pidfile, - } - - ## lets examine contents of samba_dir ditectory - for file_dgm in pathlib.Path(tmp_path).iterdir(): - log.warning(f"DGM walking tmp_path, file '{file_dgm}'") - print(f"DGM walking tmp_path, file '{file_dgm}'", flush=True) - if os.path.basename(str(file_dgm)) == "smbd.pid": - log.warning(f"DGM walking tmp_path found smbd.pid, file '{file_dgm}'") - assert "1" == "2" + if ret.returncode != 0: + raise FactoryFailure( + f"Failed to add user {self.username} to {self.passwdb_file_path}" + ) - for file_dgm in pathlib.Path(samba_dir).iterdir(): - log.warning(f"DGM walking samba_dir, file '{file_dgm}'") - print(f"DGM walking samba_dir, file '{file_dgm}'", flush=True) - if os.path.basename(str(file_dgm)) == "smbd.pid": - log.warning(f"DGM walking samba_dir found smbd.pid, file '{file_dgm}'") - assert "1" == "2" + def __attrs_post_init__(self): + """ + Post attrs initialization routines. + """ + self.check_ports = [self.listen_port] + super().__attrs_post_init__() + self._write_config() + self._create_account() - ## DGM try finding the smbd.pid file in the system - # DGM mypsout = salt_call_cli.run("--local", "cmd.run", "ps -ef | grep smbd") - mypsout = salt_call_cli.run("--local", "cmd.run", "ps -ef") - print(f"DGM ps -ef output for smbd '{mypsout}'", flush=True) - ## assert mypsout == "" + def get_display_name(self): + """ + Returns a human readable name for the factory. + """ + if self.display_name is None: + self.display_name = "{}(port={})".format( + self.__class__.__name__, self.listen_port + ) + return super().get_display_name() - mypidfile = salt_call_cli.run("--local", "cmd.run", "find / -name smbd.pid") - print(f"DGM PID file is '{mypidfile}'", flush=True) - assert mypidfile == "" + def get_base_script_args(self): + """ + Returns any additional arguments to pass to the CLI script. + """ + return [ + "--foreground", + f"--configfile={self.config_file_path}", + ] - assert pidfile.exists() + @contextlib.contextmanager + def get_conn(self): + with contextlib.closing( + salt.utils.smb.get_conn( + "127.0.0.1", self.username, self.password, port=self.listen_port + ) + ) as conn: + yield conn - except (OSError, ValueError) as e: - assert f"exception occured, '{e}'" == "" - with salt.utils.files.fopen(pidfile, "r") as fp: - _pid = int(fp.read().strip()) - if not check_pid(_pid): - raise Exception("Unable to locate smbd's pid file") - try: - yield conn_dict - finally: - os.kill(_pid, signal.SIGTERM) +@pytest.fixture(scope="module") +def smbd(tmp_path_factory): + runtime_dir = tmp_path_factory.mktemp("samba-runtime") + daemon = Smbd(runtime_dir=runtime_dir, cwd=runtime_dir, start_timeout=30) + with daemon.started(): + yield daemon -def test_write_file_ipv4(smb_dict): +def test_write_file_ipv4(smbd, tmp_path): """ Transfer a file over SMB """ name = "test_write_file_v4.txt" content = "write test file content ipv4" - share_path = smb_dict["public_dir"] / name + share_path = smbd.public_dir / name assert not share_path.exists() - local_path = tempfile.mktemp() - with salt.utils.files.fopen(local_path, "w") as fp: - fp.write(content) + local_path = tmp_path / name + local_path.write_text(content) - with contextlib.closing( - salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) - ) as conn: + with smbd.get_conn() as conn: salt.utils.smb.put_file(local_path, name, "public", conn=conn) assert share_path.exists() - with salt.utils.files.fopen(share_path, "r") as fp: - result = fp.read() + result = share_path.read_text() assert result == content From 5033b97b7e4bbdac6a659959ba8689d288873730 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 18 Jan 2024 12:48:54 +0000 Subject: [PATCH 30/32] Properly parametrize and fix tests Signed-off-by: Pedro Algarvio --- tests/pytests/integration/utils/test_smb.py | 321 ++++++-------------- 1 file changed, 100 insertions(+), 221 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index 5b42fcc2acd2..f664790a704c 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -39,6 +39,7 @@ class Smbd(Daemon): """ runtime_dir = attr.ib() + host = attr.ib() script_name = attr.ib(default=shutil.which("smbd")) display_name = attr.ib(default=None) listen_port = attr.ib(factory=ports.get_unused_localhost_port) @@ -77,7 +78,7 @@ def _write_config(self): self.config_file_path.write_text( f"[global]\n" "realm = saltstack.com\n" - "interfaces = lo 127.0.0.0/8\n" + f"interfaces = lo {self.host}/8\n" f"smb ports = {self.listen_port}\n" "log level = 2\n" "map to guest = Bad User\n" @@ -140,8 +141,8 @@ def get_display_name(self): Returns a human readable name for the factory. """ if self.display_name is None: - self.display_name = "{}(port={})".format( - self.__class__.__name__, self.listen_port + self.display_name = "{}(host={}, port={})".format( + self.__class__.__name__, self.host, self.listen_port ) return super().get_display_name() @@ -158,26 +159,49 @@ def get_base_script_args(self): def get_conn(self): with contextlib.closing( salt.utils.smb.get_conn( - "127.0.0.1", self.username, self.password, port=self.listen_port + self.host, self.username, self.password, port=self.listen_port ) ) as conn: yield conn +@pytest.fixture(scope="module", params=["127.0.0.1", "::0"], ids=["IPv4", "IPv6"]) +def smbd_host(request): + if request.param == "::0" and not IPV6_ENABLED: + raise pytest.skip(reason="IPv6 not enabled") + return request.param + + @pytest.fixture(scope="module") -def smbd(tmp_path_factory): +def smbd_factory(smbd_host, tmp_path_factory, salt_factories): runtime_dir = tmp_path_factory.mktemp("samba-runtime") - daemon = Smbd(runtime_dir=runtime_dir, cwd=runtime_dir, start_timeout=30) - with daemon.started(): + smdb_kwargs = { + "cwd": runtime_dir, + "runtime_dir": runtime_dir, + "start_timeout": 30, + "host": smbd_host, + } + if salt_factories.stats_processes is not None: + smdb_kwargs["stats_processes"] = salt_factories.stats_processes + with Smbd(**smdb_kwargs).started() as daemon: yield daemon -def test_write_file_ipv4(smbd, tmp_path): +@pytest.fixture +def smbd(smbd_factory): + try: + yield smbd_factory + finally: + shutil.rmtree(smbd_factory.public_dir, ignore_errors=True) + smbd_factory.public_dir.mkdir() + + +def test_write_file(smbd, tmp_path): """ Transfer a file over SMB """ - name = "test_write_file_v4.txt" - content = "write test file content ipv4" + name = "test_write_file.txt" + content = "write test file content" share_path = smbd.public_dir / name assert not share_path.exists() @@ -192,214 +216,69 @@ def test_write_file_ipv4(smbd, tmp_path): assert result == content -## DGM -## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -## DGM def test_write_file_ipv6(smb_dict): -## DGM """ -## DGM Transfer a file over SMB -## DGM """ -## DGM name = "test_write_file_v6.txt" -## DGM content = "write test file content ipv6" -## DGM share_path = smb_dict["public_dir"] / name -## DGM assert not share_path.exists() -## DGM -## DGM local_path = tempfile.mktemp() -## DGM with salt.utils.files.fopen(local_path, "w") as fp: -## DGM fp.write(content) -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.put_file(local_path, name, "public", conn=conn) -## DGM -## DGM assert share_path.exists() -## DGM with salt.utils.files.fopen(share_path, "r") as fp: -## DGM result = fp.read() -## DGM assert result == content -## DGM -## DGM -## DGM def test_write_str_v4(smb_dict): -## DGM """ -## DGM Write a string to a file over SMB -## DGM """ -## DGM name = "test_write_str.txt" -## DGM content = "write test file content" -## DGM share_path = smb_dict["public_dir"] / name -## DGM assert not share_path.exists() -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.put_str(content, name, "public", conn=conn) -## DGM -## DGM assert share_path.exists() -## DGM with salt.utils.files.fopen(share_path, "r") as fp: -## DGM result = fp.read() -## DGM assert result == content -## DGM -## DGM -## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -## DGM def test_write_str_v6(smb_dict): -## DGM """ -## DGM Write a string to a file over SMB -## DGM """ -## DGM name = "test_write_str_v6.txt" -## DGM content = "write test file content" -## DGM share_path = smb_dict["public_dir"] / name -## DGM assert not share_path.exists() -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.put_str(content, name, "public", conn=conn) -## DGM -## DGM assert share_path.exists() -## DGM with salt.utils.files.fopen(share_path, "r") as fp: -## DGM result = fp.read() -## DGM assert result == content -## DGM -## DGM -## DGM def test_delete_file_v4(smb_dict): -## DGM """ -## DGM Validate deletion of files over SMB -## DGM """ -## DGM name = "test_delete_file.txt" -## DGM content = "read test file content" -## DGM share_path = smb_dict["public_dir"] / name -## DGM with salt.utils.files.fopen(share_path, "w") as fp: -## DGM fp.write(content) -## DGM assert share_path.exists() -## DGM -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.delete_file(name, "public", conn=conn) -## DGM -## DGM assert not share_path.exists() -## DGM -## DGM -## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -## DGM def test_delete_file_v6(smb_dict): -## DGM """ -## DGM Validate deletion of files over SMB -## DGM """ -## DGM name = "test_delete_file_v6.txt" -## DGM content = "read test file content" -## DGM share_path = smb_dict["public_dir"] / name -## DGM with salt.utils.files.fopen(share_path, "w") as fp: -## DGM fp.write(content) -## DGM assert share_path.exists() -## DGM -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.delete_file(name, "public", conn=conn) -## DGM -## DGM assert not share_path.exists() -## DGM -## DGM -## DGM def test_mkdirs_v4(smb_dict): -## DGM """ -## DGM Create directories over SMB -## DGM """ -## DGM dir_name = "mkdirs/test" -## DGM share_path = smb_dict["public_dir"] / dir_name -## DGM assert not share_path.exists() -## DGM -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.mkdirs(dir_name, "public", conn=conn) -## DGM -## DGM assert share_path.exists() -## DGM -## DGM -## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -## DGM def test_mkdirs_v6(smb_dict): -## DGM """ -## DGM Create directories over SMB -## DGM """ -## DGM dir_name = "mkdirs/testv6" -## DGM share_path = smb_dict["public_dir"] / dir_name -## DGM assert not share_path.exists() -## DGM -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.mkdirs(dir_name, "public", conn=conn) -## DGM -## DGM assert share_path.exists() -## DGM -## DGM -## DGM def test_delete_dirs_v4(smb_dict): -## DGM """ -## DGM Validate deletion of directoreies over SMB -## DGM """ -## DGM dir_name = "deldirs" -## DGM subdir_name = "deldirs/test" -## DGM local_path = smb_dict["public_dir"] / subdir_name -## DGM local_path.mkdir(parents=True) -## DGM assert local_path.exists() -## DGM assert local_path.is_dir() -## DGM -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) -## DGM -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.delete_directory(dir_name, "public", conn=conn) -## DGM -## DGM assert not local_path.exists() -## DGM assert not (smb_dict["public_dir"] / dir_name).exists() -## DGM -## DGM -## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -## DGM def test_delete_dirs_v6(smb_dict): -## DGM """ -## DGM Validate deletion of directoreies over SMB -## DGM """ -## DGM dir_name = "deldirsv6" -## DGM subdir_name = "deldirsv6/test" -## DGM local_path = smb_dict["public_dir"] / subdir_name -## DGM local_path.mkdir(parents=True) -## DGM assert local_path.exists() -## DGM assert local_path.is_dir() -## DGM -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) -## DGM -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM salt.utils.smb.delete_directory(dir_name, "public", conn=conn) -## DGM -## DGM assert not local_path.exists() -## DGM assert not (smb_dict["public_dir"] / dir_name).exists() -## DGM -## DGM -## DGM def test_connection(smb_dict): -## DGM """ -## DGM Validate creation of an SMB connection -## DGM """ -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM pass -## DGM -## DGM -## DGM @pytest.mark.skipif(not IPV6_ENABLED, reason="IPv6 not enabled") -## DGM def test_connection_v6(smb_dict): -## DGM """ -## DGM Validate creation of an SMB connection -## DGM """ -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("::1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM pass -## DGM -## DGM with contextlib.closing( -## DGM salt.utils.smb.get_conn("127.0.0.1", smb_dict["username"], "foo", port=1445) -## DGM ) as conn: -## DGM pass +def test_write_str(smbd): + """ + Write a string to a file over SMB + """ + name = "test_write_str.txt" + content = "write test file content" + share_path = smbd.public_dir / name + assert not share_path.exists() + + with smbd.get_conn() as conn: + salt.utils.smb.put_str(content, name, "public", conn=conn) + + assert share_path.exists() + result = share_path.read_text() + assert result == content + + +def test_delete_file_v4(smbd): + """ + Validate deletion of files over SMB + """ + name = "test_delete_file.txt" + content = "read test file content" + share_path = smbd.public_dir / name + assert not share_path.exists() + share_path.write_text(content) + assert share_path.exists() + + with smbd.get_conn() as conn: + salt.utils.smb.delete_file(name, "public", conn=conn) + + assert not share_path.exists() + + +def test_mkdirs(smbd): + """ + Create directories over SMB + """ + dir_name = "subdir/test" + share_path = smbd.public_dir / dir_name + assert not share_path.exists() + + with smbd.get_conn() as conn: + salt.utils.smb.mkdirs(dir_name, "public", conn=conn) + + assert share_path.exists() + + +def test_delete_dirs(smbd): + """ + Validate deletion of directoreies over SMB + """ + subdir_name = "subdir" + dir_name = f"{subdir_name}/test" + share_path = smbd.public_dir / dir_name + share_path.mkdir(parents=True) + + with smbd.get_conn() as conn: + salt.utils.smb.delete_directory(dir_name, "public", conn=conn) + + assert share_path.is_dir() is False + + with smbd.get_conn() as conn: + salt.utils.smb.delete_directory(subdir_name, "public", conn=conn) + + assert share_path.parent.is_dir() is False From 5971cce3ee32f65a9a68d0cc07bfdbf480a86e96 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 19 Jan 2024 11:45:20 +0000 Subject: [PATCH 31/32] Get more information about what's going on Signed-off-by: Pedro Algarvio --- tests/pytests/integration/utils/test_smb.py | 83 ++++++++++++++++----- 1 file changed, 65 insertions(+), 18 deletions(-) diff --git a/tests/pytests/integration/utils/test_smb.py b/tests/pytests/integration/utils/test_smb.py index f664790a704c..fd6de4cc120d 100644 --- a/tests/pytests/integration/utils/test_smb.py +++ b/tests/pytests/integration/utils/test_smb.py @@ -8,8 +8,8 @@ import attr import pytest -from pytestshellutils.exceptions import FactoryFailure -from pytestshellutils.shell import Daemon +from pytestshellutils.exceptions import FactoryFailure, FactoryNotStarted +from pytestshellutils.shell import Daemon, ProcessResult from pytestshellutils.utils import ports from saltfactories.utils import random_string, running_username @@ -75,6 +75,9 @@ def _default_config_file_path(self): return self.config_dir / "smb.conf" def _write_config(self): + for name in ("cache", "lock", "state", "logs"): + path = self.runtime_dir / name + path.mkdir(mode=0o0755) self.config_file_path.write_text( f"[global]\n" "realm = saltstack.com\n" @@ -85,10 +88,10 @@ def _write_config(self): "enable core files = no\n" "passdb backend = smbpasswd\n" f"smb passwd file = {self.passwdb_file_path}\n" - f"log file = {self.runtime_dir / 'log.%m'}\n" - f"lock directory = {self.runtime_dir}\n" - f"state directory = {self.runtime_dir}\n" - f"cache directory = {self.runtime_dir}\n" + f"log file = {self.runtime_dir / 'logs' / 'log.%m'}\n" + f"lock directory = {self.runtime_dir / 'lock'}\n" + f"state directory = {self.runtime_dir / 'state'}\n" + f"cache directory = {self.runtime_dir / 'cache'}\n" f"pid directory = {self.runtime_dir}\n" f"private dir = {self.runtime_dir}\n" f"ncalrpc dir = {self.runtime_dir}\n" @@ -108,24 +111,57 @@ def _write_config(self): ) def _create_account(self): + cmdline = [ + shutil.which("pdbedit"), + "--create", + f"--configfile={self.config_file_path}", + "-w", + "-u", + self.username, + "-t", + ] ret = subprocess.run( - [ - shutil.which("pdbedit"), - "--create", - f"--configfile={self.config_file_path}", - "-w", - "-u", - self.username, - "-t", - ], - input=f"{self.password}\n{self.password}\n".encode(), + cmdline, + input=f"{self.password}\n{self.password}\n", + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, shell=False, check=False, + universal_newlines=True, + ) + result = ProcessResult( + returncode=ret.returncode, + stdout=ret.stdout, + stderr=ret.stderr, + cmdline=cmdline, ) if ret.returncode != 0: + log.warning(result) raise FactoryFailure( f"Failed to add user {self.username} to {self.passwdb_file_path}" ) + log.debug(result) + + def _check_config(self): + cmdline = [shutil.which("testparm"), "-s", str(self.config_file_path)] + ret = subprocess.run( + cmdline, + shell=False, + check=False, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, + ) + result = ProcessResult( + returncode=ret.returncode, + stdout=ret.stdout, + stderr=ret.stderr, + cmdline=cmdline, + ) + if ret.returncode != 0: + log.warning(result) + raise FactoryFailure(f"""Failed to run '{" ".join(cmdline)}'""") + log.debug(result) def __attrs_post_init__(self): """ @@ -135,6 +171,7 @@ def __attrs_post_init__(self): super().__attrs_post_init__() self._write_config() self._create_account() + self._check_config() def get_display_name(self): """ @@ -183,8 +220,18 @@ def smbd_factory(smbd_host, tmp_path_factory, salt_factories): } if salt_factories.stats_processes is not None: smdb_kwargs["stats_processes"] = salt_factories.stats_processes - with Smbd(**smdb_kwargs).started() as daemon: - yield daemon + try: + with Smbd(**smdb_kwargs).started() as daemon: + yield daemon + except FactoryNotStarted as exc: + log.error("Factory failed to start. Spitting daemon logs...") + for fpath in runtime_dir.joinpath("logs").glob("*"): + log.warning( + "Contents of '%s':\n>>>>>>>>>>>>>>>>>>\n%s\n<<<<<<<<<<<<<<<<<<\n", + fpath, + fpath.read_text(), + ) + raise exc from None @pytest.fixture From 4cc7ad2f20da9d09af72ec23eb3fecf85b6a0c10 Mon Sep 17 00:00:00 2001 From: David Murphy < dmurphy@saltstack.com> Date: Wed, 24 Jan 2024 14:52:27 -0700 Subject: [PATCH 32/32] Re-work requirements --- requirements/static/ci/py3.10/darwin.txt | 2 ++ requirements/static/ci/py3.10/freebsd.txt | 2 ++ requirements/static/ci/py3.10/linux.txt | 2 ++ requirements/static/ci/py3.11/darwin.txt | 2 ++ requirements/static/ci/py3.11/freebsd.txt | 2 ++ requirements/static/ci/py3.11/linux.txt | 2 ++ requirements/static/ci/py3.12/darwin.txt | 2 ++ requirements/static/ci/py3.12/freebsd.txt | 2 ++ requirements/static/ci/py3.12/linux.txt | 2 ++ requirements/static/ci/py3.7/freebsd.txt | 2 ++ requirements/static/ci/py3.7/linux.txt | 2 ++ requirements/static/ci/py3.7/windows.txt | 2 +- requirements/static/ci/py3.8/freebsd.txt | 2 ++ requirements/static/ci/py3.8/linux.txt | 2 ++ requirements/static/ci/py3.9/darwin.txt | 2 ++ requirements/static/ci/py3.9/freebsd.txt | 2 ++ requirements/static/ci/py3.9/linux.txt | 2 ++ 17 files changed, 33 insertions(+), 1 deletion(-) diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index e0a0c22e7686..e6229648de13 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -101,6 +101,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 4baba16ccf41..b1208f82037c 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -98,6 +98,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 6bddab88a62d..fc18661cc7bb 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -108,6 +108,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.11/darwin.txt b/requirements/static/ci/py3.11/darwin.txt index 23646a198148..871546748ffd 100644 --- a/requirements/static/ci/py3.11/darwin.txt +++ b/requirements/static/ci/py3.11/darwin.txt @@ -96,6 +96,8 @@ cryptography==42.0.5 # etcd3-py # moto # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.11/freebsd.txt b/requirements/static/ci/py3.11/freebsd.txt index 421aa389b93f..be6a8e2c3737 100644 --- a/requirements/static/ci/py3.11/freebsd.txt +++ b/requirements/static/ci/py3.11/freebsd.txt @@ -96,6 +96,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.11/linux.txt b/requirements/static/ci/py3.11/linux.txt index 76a900990348..ba77108cb08c 100644 --- a/requirements/static/ci/py3.11/linux.txt +++ b/requirements/static/ci/py3.11/linux.txt @@ -106,6 +106,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.12/darwin.txt b/requirements/static/ci/py3.12/darwin.txt index ad3fa6ee3ea4..60970ba9b6f6 100644 --- a/requirements/static/ci/py3.12/darwin.txt +++ b/requirements/static/ci/py3.12/darwin.txt @@ -96,6 +96,8 @@ cryptography==42.0.5 # etcd3-py # moto # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.12/freebsd.txt b/requirements/static/ci/py3.12/freebsd.txt index d147d7ad3c29..4e0b22439a2f 100644 --- a/requirements/static/ci/py3.12/freebsd.txt +++ b/requirements/static/ci/py3.12/freebsd.txt @@ -96,6 +96,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.12/linux.txt b/requirements/static/ci/py3.12/linux.txt index 9546fbc23a99..2984cf1a46f6 100644 --- a/requirements/static/ci/py3.12/linux.txt +++ b/requirements/static/ci/py3.12/linux.txt @@ -106,6 +106,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index b099473a5aae..a51e43c52c41 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -106,6 +106,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 79a9d7fa52b8..6b12bc402334 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -113,6 +113,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 0e45ab2b33ab..cdfee8df72f2 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -96,7 +96,7 @@ cryptography==42.0.5 # pyopenssl # requests-ntlm # trustme -istlib==0.3.2 +distlib==0.3.8 # via virtualenv distro==1.5.0 # via diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 96e7ef693ec5..527183b356f6 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -103,6 +103,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index eb420f5a2b1c..d0e79f577ac4 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -110,6 +110,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index bd7fe7e13f35..c3674689340f 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -106,6 +106,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 1709814162ce..c45c69bbdb14 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -103,6 +103,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2 diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index c01497863e66..c7b7072b6472 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -108,6 +108,8 @@ cryptography==42.0.5 # moto # paramiko # pyopenssl + # pyspnego + # smbprotocol # trustme # vcert distlib==0.3.2