From ec1db3a660e93d669752dd75643bb572bd997745 Mon Sep 17 00:00:00 2001 From: Joe Groocock Date: Wed, 5 Oct 2022 20:04:54 +0100 Subject: [PATCH 001/132] Fix vt.Terminal failing test: test_log_sanitize Fixes failing test added in a09b4f445052be66f0ac53fd01fa02bfa5b82ea6 We can't assume tests are run at debug level, so this ensures the test passes regardless of what logging level is currently set by capturing the output in caplog at DEBUG which stream_stdout/stream_stderr uses by default. Signed-off-by: Joe Groocock --- tests/pytests/unit/utils/test_vt.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/pytests/unit/utils/test_vt.py b/tests/pytests/unit/utils/test_vt.py index d1f51fe876e..c31b25e623c 100644 --- a/tests/pytests/unit/utils/test_vt.py +++ b/tests/pytests/unit/utils/test_vt.py @@ -1,7 +1,9 @@ +import logging import os import signal import pytest + import salt.utils.vt as vt @@ -42,10 +44,13 @@ def test_log_sanitize(test_cmd, caplog): cmd, log_stdout=True, log_stderr=True, + log_stdout_level="debug", + log_stderr_level="debug", log_sanitize=password, stream_stdout=False, stream_stderr=False, ) - ret = term.recv() + with caplog.at_level(logging.DEBUG): + ret = term.recv() assert password not in caplog.text assert "******" in caplog.text From eb731ad9120c49617d52e9bb2d0d50090282f33e Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Sat, 8 Oct 2022 11:20:02 -0700 Subject: [PATCH 002/132] Update test_vt.py Pre-commit changes manually. --- tests/pytests/unit/utils/test_vt.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/pytests/unit/utils/test_vt.py b/tests/pytests/unit/utils/test_vt.py index c31b25e623c..d8999a4cf2c 100644 --- a/tests/pytests/unit/utils/test_vt.py +++ b/tests/pytests/unit/utils/test_vt.py @@ -3,7 +3,6 @@ import os import signal import pytest - import salt.utils.vt as vt From 9a293f8d84d36942f3750ac4b5abf684f907cf84 Mon Sep 17 00:00:00 2001 From: Twangboy Date: Thu, 3 Nov 2022 10:35:41 -0600 Subject: [PATCH 003/132] Update pyzmq on Windows --- requirements/zeromq.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt index eb4d796418f..ce3dde07826 100644 --- a/requirements/zeromq.txt +++ b/requirements/zeromq.txt @@ -4,3 +4,7 @@ pyzmq<=20.0.0 ; python_version < "3.6" pyzmq>=17.0.0 ; python_version < "3.9" pyzmq>19.0.2 ; python_version >= "3.9" + +# We can't use 23+ on Windows until they fix this: +# https://github.com/zeromq/pyzmq/issues/1472 +pyzmq>=20.0.0, <=22.0.3 ; python_version < "3.9" and sys_platform == 'win32' From 7b1b1b1e8c9e35485f9a72f2ce5ec05d321b9fe7 Mon Sep 17 00:00:00 2001 From: Twangboy Date: Thu, 3 Nov 2022 11:46:51 -0600 Subject: [PATCH 004/132] Fix pre-commit --- requirements/static/ci/py3.7/windows.txt | 2 +- requirements/static/ci/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 7d2cb212e69..18f513c25a2 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -325,7 +325,7 @@ pyyaml==5.4.1 # clustershell # kubernetes # yamllint -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 7d0a88b3a84..f9d9813b1d5 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -316,7 +316,7 @@ pyyaml==5.4.1 # clustershell # kubernetes # yamllint -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 286114169e6..a8c61aa05f2 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -108,7 +108,7 @@ pywin32==303 # wmi pyyaml==5.4.1 # via -r requirements/base.txt -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via -r requirements/zeromq.txt requests==2.25.1 # via diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 811f8e3bba4..05072a5fa2c 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -108,7 +108,7 @@ pywin32==303 # wmi pyyaml==5.4.1 # via -r requirements/base.txt -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via -r requirements/zeromq.txt requests==2.25.1 # via From 2dacb7780ca926782a4c634de83ef7a715b9f772 Mon Sep 17 00:00:00 2001 From: Twangboy Date: Thu, 3 Nov 2022 14:14:19 -0600 Subject: [PATCH 005/132] Add changelog --- changelog/62937.fixed | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/62937.fixed diff --git a/changelog/62937.fixed b/changelog/62937.fixed new file mode 100644 index 00000000000..09af559e1ec --- /dev/null +++ b/changelog/62937.fixed @@ -0,0 +1 @@ +Updated pyzmq to version 22.0.3 on Windows builds because the old version was causing salt-minion/salt-call to hang From d8e8770bf09a31fe61c7f5c816874ae3af4d793f Mon Sep 17 00:00:00 2001 From: Twangboy Date: Fri, 4 Nov 2022 07:58:57 -0600 Subject: [PATCH 006/132] Fix zcbuildout tests --- tests/unit/modules/test_zcbuildout.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/unit/modules/test_zcbuildout.py b/tests/unit/modules/test_zcbuildout.py index 9fab2a61789..8334e6348c7 100644 --- a/tests/unit/modules/test_zcbuildout.py +++ b/tests/unit/modules/test_zcbuildout.py @@ -199,7 +199,6 @@ class BuildoutTestCase(Base): def test_get_bootstrap_url(self): for path in [ os.path.join(self.tdir, "var/ver/1/dumppicked"), - os.path.join(self.tdir, "var/ver/1/bootstrap"), os.path.join(self.tdir, "var/ver/1/versions"), ]: self.assertEqual( @@ -210,7 +209,6 @@ class BuildoutTestCase(Base): for path in [ os.path.join(self.tdir, "/non/existing"), os.path.join(self.tdir, "var/ver/2/versions"), - os.path.join(self.tdir, "var/ver/2/bootstrap"), os.path.join(self.tdir, "var/ver/2/default"), ]: self.assertEqual( @@ -223,7 +221,6 @@ class BuildoutTestCase(Base): def test_get_buildout_ver(self): for path in [ os.path.join(self.tdir, "var/ver/1/dumppicked"), - os.path.join(self.tdir, "var/ver/1/bootstrap"), os.path.join(self.tdir, "var/ver/1/versions"), ]: self.assertEqual( @@ -232,7 +229,6 @@ class BuildoutTestCase(Base): for path in [ os.path.join(self.tdir, "/non/existing"), os.path.join(self.tdir, "var/ver/2/versions"), - os.path.join(self.tdir, "var/ver/2/bootstrap"), os.path.join(self.tdir, "var/ver/2/default"), ]: self.assertEqual( From b76fc1f807aa46b9c98316efe79407ca40c2e21b Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 4 Nov 2022 11:32:24 -0600 Subject: [PATCH 007/132] Update changelog for v3005.1-2 --- CHANGELOG.md | 17 +++++++++++++++++ changelog/62937.fixed | 1 - 2 files changed, 17 insertions(+), 1 deletion(-) delete mode 100644 changelog/62937.fixed diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f4fc1e6e66..8e480780b89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,23 @@ Versions are `MAJOR.PATCH`. # Changelog +Salt v3005.1-2 (2022-11-04) +=========================== + +Note: This release is only impacting the packages not the Salt code base. + +Fixed +----- + +- Updated pyzmq to version 22.0.3 on Windows builds because the old version was causing salt-minion/salt-call to hang (#62937) +- Onedir Package Fix: Fix "No such file or directory" error on Rhel installs. (#62948) + +Security +-------- + +- Update the onedir packages Python version to 3.8.15 for Windows and 3.9.15 for Linux and Mac + + Salt 3005.1 (2022-09-26) ======================== diff --git a/changelog/62937.fixed b/changelog/62937.fixed deleted file mode 100644 index 09af559e1ec..00000000000 --- a/changelog/62937.fixed +++ /dev/null @@ -1 +0,0 @@ -Updated pyzmq to version 22.0.3 on Windows builds because the old version was causing salt-minion/salt-call to hang From f0ceca1653d276979ea967d445640756d0cd062a Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 9 Dec 2022 12:53:29 -0700 Subject: [PATCH 008/132] Update gitpython and certifi --- requirements/darwin.txt | 3 ++- 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/docs.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.5/linux.txt | 4 ++-- requirements/static/ci/py3.6/cloud.txt | 8 ++++---- requirements/static/ci/py3.6/docs.txt | 8 ++++---- requirements/static/ci/py3.6/lint.txt | 8 ++++---- requirements/static/ci/py3.6/linux.txt | 9 +++++---- requirements/static/ci/py3.7/cloud.txt | 4 ++-- requirements/static/ci/py3.7/docs.txt | 4 ++-- requirements/static/ci/py3.7/freebsd.txt | 5 +++-- requirements/static/ci/py3.7/lint.txt | 4 ++-- requirements/static/ci/py3.7/linux.txt | 5 +++-- requirements/static/ci/py3.7/windows.txt | 4 ++-- requirements/static/ci/py3.8/cloud.txt | 5 ++--- requirements/static/ci/py3.8/docs.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 | 4 ++-- requirements/static/ci/py3.9/cloud.txt | 5 ++--- requirements/static/ci/py3.9/darwin.txt | 4 ++-- requirements/static/ci/py3.9/docs.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 | 4 ++-- requirements/static/pkg/py3.10/darwin.txt | 4 ++-- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 4 ++-- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 4 ++-- requirements/static/pkg/py3.9/darwin.txt | 4 ++-- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 4 ++-- requirements/windows.txt | 6 ++++-- 47 files changed, 100 insertions(+), 94 deletions(-) diff --git a/requirements/darwin.txt b/requirements/darwin.txt index 027322ef5f3..184f927f5ba 100644 --- a/requirements/darwin.txt +++ b/requirements/darwin.txt @@ -6,7 +6,8 @@ apache-libcloud>=2.4.0 backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' cherrypy>=17.4.1 cryptography>=2.6.1 -gitpython>=2.1.15 +gitpython>3.1.20 ; python_version >= "3.7" +gitpython>=2.1.15 ; python_version <= "3.6" idna>=2.8 linode-python>=1.1.1 mako>=1.0.7 diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index fee1da323b5..259d81bf128 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -7,7 +7,8 @@ boto3>=1.16.0,<1.17.0; python_version < '3.6' boto3>=1.17.67; python_version >= '3.6' boto>=2.46.0 cassandra-driver>=2.0 -certifi +certifi>=2022.12.7; python_version >= "3.6" +certifi<=2021.10.8; python_version <= "3.5" cffi>=1.12.2 cherrypy>=17.4.1 clustershell @@ -15,7 +16,8 @@ croniter>=0.3.0,!=0.3.22"; sys_platform != 'win32' dnspython docker etcd3-py==0.1.6 ; python_version >= '3.6' -gitpython>=2.1.15 +gitpython>3.1.20 ; python_version >= "3.7" +gitpython>=2.1.15 ; python_version <= "3.6" jmespath jsonschema junos-eznc==2.4.0; 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 2affb833da3..ca35f688c32 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -348,7 +348,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -426,7 +426,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.24 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 19e08cdd782..eeba7bb3e92 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -350,7 +350,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -428,7 +428,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via # -r requirements/darwin.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 0e6a9918e07..f43b9e150d7 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -353,7 +353,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -428,7 +428,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 18209739051..0a8ef4d5720 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -346,7 +346,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -424,7 +424,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index ff57a84be6a..814101b3b31 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -351,7 +351,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -424,7 +424,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 5d0ae761fd4..2ffb70f69a0 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -359,7 +359,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -438,7 +438,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index c202051e540..e207a3c191f 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -357,7 +357,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2021.10.8 +certifi==2021.10.8 ; python_version <= "3.5" # via # -r requirements/static/ci/common.in # kubernetes @@ -444,7 +444,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.12 ; python_version <= "3.6" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 96f845b40c0..01c57852b0c 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -352,7 +352,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -432,9 +432,9 @@ genshi==0.7.5 # via -r requirements/static/ci/common.in geomet==0.2.1.post1 # via cassandra-driver -gitdb==4.0.7 +gitdb==4.0.9 # via gitpython -gitpython==3.1.18 +gitpython==3.1.18 ; python_version <= "3.6" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes @@ -849,7 +849,7 @@ six==1.16.0 # websocket-client smbprotocol==0.1.1 # via pypsexec -smmap==4.0.0 +smmap==5.0.0 # via gitdb sqlparse==0.4.2 # via -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index f4267b60c94..39aa255d7e1 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -359,7 +359,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -436,9 +436,9 @@ genshi==0.7.5 # via -r requirements/static/ci/common.in geomet==0.2.1.post1 # via cassandra-driver -gitdb==4.0.7 +gitdb==4.0.9 # via gitpython -gitpython==3.1.18 +gitpython==3.1.18 ; python_version <= "3.6" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes @@ -820,7 +820,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smmap==4.0.0 +smmap==5.0.0 # via gitdb snowballstemmer==2.1.0 # via sphinx diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 8a2c41a6834..b82756a46e1 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -357,7 +357,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -432,9 +432,9 @@ genshi==0.7.5 # via -r requirements/static/ci/common.in geomet==0.2.1.post1 # via cassandra-driver -gitdb==4.0.7 +gitdb==4.0.9 # via gitpython -gitpython==3.1.18 +gitpython==3.1.18 ; python_version <= "3.6" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes @@ -822,7 +822,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smmap==4.0.0 +smmap==5.0.0 # via gitdb sqlparse==0.4.2 # via -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 8ca7513666b..b71ce2cbf48 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -363,7 +363,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -444,9 +444,9 @@ genshi==0.7.5 # via -r requirements/static/ci/common.in geomet==0.1.2 # via cassandra-driver -gitdb==4.0.5 +gitdb==4.0.9 # via gitpython -gitpython==3.1.12 +gitpython==3.1.18 ; python_version <= "3.6" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes @@ -876,7 +876,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smmap==3.0.4 +smmap==5.0.0 # via gitdb sqlparse==0.4.2 # via -r requirements/static/ci/common.in @@ -904,6 +904,7 @@ typing-extensions==3.10.0.0 # via # aiohttp # async-timeout + # gitpython # importlib-metadata # pytest-shell-utilities # pytest-system-statistics diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 01aa50a9a1e..db02799433c 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -350,7 +350,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -438,7 +438,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.24 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 30070c70333..de85c72548b 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -357,7 +357,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -442,7 +442,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 2eda15f9363..64bd51da8be 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -348,7 +348,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -436,7 +436,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes @@ -883,6 +883,7 @@ typing-extensions==3.10.0.0 # via # aiohttp # async-timeout + # gitpython # importlib-metadata # pytest-shell-utilities # pytest-system-statistics diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 618c3a43e73..2cf6dc8b9a7 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -355,7 +355,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -438,7 +438,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index f01c57cfc2b..1a68d8d460f 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -361,7 +361,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -450,7 +450,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes @@ -927,6 +927,7 @@ typing-extensions==3.10.0.0 # via # aiohttp # async-timeout + # gitpython # importlib-metadata # pytest-shell-utilities # pytest-system-statistics diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 18f513c25a2..59ad6aa6f24 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -42,7 +42,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt @@ -113,7 +113,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 0a946787f46..d459ef95339 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -348,7 +348,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -436,7 +436,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.24 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes @@ -889,7 +889,6 @@ transitions==0.8.9 # via junos-eznc typing-extensions==3.10.0.2 # via - # gitpython # pytest-shell-utilities # pytest-system-statistics urllib3==1.26.6 diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index a481bc97e81..b83083d5e48 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -355,7 +355,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -440,7 +440,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 2093424c458..26d71618f4e 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -346,7 +346,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -434,7 +434,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 1aa85c552dd..055f81e6231 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -353,7 +353,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -436,7 +436,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index dd8ed0a644d..3e980b8e84e 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -359,7 +359,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -448,7 +448,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index f9d9813b1d5..1a7de4c9062 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -40,7 +40,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt @@ -111,7 +111,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index d1ade585fe6..97810a731d6 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -348,7 +348,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -436,7 +436,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.24 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes @@ -892,7 +892,6 @@ transitions==0.8.9 # via junos-eznc typing-extensions==3.10.0.2 # via - # gitpython # pytest-shell-utilities # pytest-system-statistics urllib3==1.26.6 diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index ac01cc621be..40cc1eab607 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -350,7 +350,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -438,7 +438,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via # -r requirements/darwin.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index ed2ed3da7e3..cb813f299a4 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -353,7 +353,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -438,7 +438,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 120f3fce3f3..45ba23d05d9 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -346,7 +346,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -434,7 +434,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index e13b35f7e86..da89bfeb183 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -351,7 +351,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -434,7 +434,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 664d70660f7..2f8ddcfe267 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -361,7 +361,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes @@ -450,7 +450,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index cfd6150ead7..406b7b7b40a 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -40,7 +40,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt @@ -111,7 +111,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 628b744474a..d1416d85abb 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -6,7 +6,7 @@ # apache-libcloud==2.5.0 # via -r requirements/darwin.txt -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography @@ -26,7 +26,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/darwin.txt idna==2.8 # via diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index c969d892cd6..0eea4d67488 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.10/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 317f44298cd..36c56a2b9a4 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.10/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 356902d9e8c..3e46ceac4b1 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -6,7 +6,7 @@ # backports.ssl-match-hostname==3.7.0.1 ; python_version < "3.7" # via -r requirements/static/pkg/linux.in -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index bb22381697b..e0c0c6695fe 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.7/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index 104e5d76cae..a6645d4c9d1 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.7/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index a8c61aa05f2..73ef8d95a44 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.7/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/windows.txt # requests @@ -28,7 +28,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.5 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/windows.txt idna==2.8 # via requests diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 4e6045beae0..80770437c59 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.8/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index 21eec840fb9..cc82512a6c2 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.8/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 05072a5fa2c..3a229df189e 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.8/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/windows.txt # requests @@ -28,7 +28,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/windows.txt idna==2.8 # via requests diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 0ed3415657c..10c0345917b 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -6,7 +6,7 @@ # apache-libcloud==2.5.0 # via -r requirements/darwin.txt -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography @@ -26,7 +26,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.5 # via gitpython -gitpython==3.1.12 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/darwin.txt idna==2.8 # via diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index b061757bf20..184bf96bd30 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.9/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index d23a2d1b581..6012fdd037b 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.9/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 79b6331fde5..ec3208e3d28 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.9/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.5.18.1 +certifi==2022.12.7 ; python_version >= "3.6" # via # -r requirements/windows.txt # requests @@ -28,7 +28,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.7 # via gitpython -gitpython==3.1.18 +gitpython==3.1.29 ; python_version >= "3.7" # via -r requirements/windows.txt idna==2.8 # via requests diff --git a/requirements/windows.txt b/requirements/windows.txt index a13b4d83bc7..cd1b6937125 100644 --- a/requirements/windows.txt +++ b/requirements/windows.txt @@ -7,11 +7,13 @@ wmi>=1.5.1 pythonnet>=2.5.2 backports.ssl-match-hostname>=3.7.0.1; python_version < '3.7' -certifi>=2020.12.5 +certifi>=2022.12.7 ; python_version >= "3.6" +certifi<=2021.10.8 ; python_version <= "3.5" cffi>=1.14.5 cherrypy>=18.6.1 cryptography>=3.4.7 -gitpython>=3.1.18 +gitpython>3.1.20 ; python_version >= "3.7" +gitpython>=2.1.15 ; python_version <= "3.6" ioloop>=0.1a0 libnacl>=1.8.0 lxml>=4.6.3 From a27378b6ff1c4233771cc95f6ca582ff4e8cd12c Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Mon, 12 Dec 2022 08:10:02 -0700 Subject: [PATCH 009/132] Skip flaky test in 3005 --- .../integration/runners/state/orchestrate/test_orchestrate.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/pytests/integration/runners/state/orchestrate/test_orchestrate.py b/tests/pytests/integration/runners/state/orchestrate/test_orchestrate.py index 03881bddee5..864bfe30720 100644 --- a/tests/pytests/integration/runners/state/orchestrate/test_orchestrate.py +++ b/tests/pytests/integration/runners/state/orchestrate/test_orchestrate.py @@ -484,6 +484,7 @@ def test_orchestrate_batch_with_failhard_error( assert len(changes["ret"]) == 1 +@pytest.mark.skipif(True, reason="Skipping flaky test in 3005") def test_orchestrate_subset( salt_run_cli, salt_master, From 8b00c356a0d7266021b6f30b556c7f44f7add5d9 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Mon, 12 Dec 2022 10:02:55 -0700 Subject: [PATCH 010/132] Increase time on test_retry_option_success_parallel for mac --- tests/pytests/functional/modules/state/test_state.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/pytests/functional/modules/state/test_state.py b/tests/pytests/functional/modules/state/test_state.py index 2084bd38bc7..8f8706ae45a 100644 --- a/tests/pytests/functional/modules/state/test_state.py +++ b/tests/pytests/functional/modules/state/test_state.py @@ -727,6 +727,9 @@ def test_retry_option_success_parallel(state, state_tree, tmp_path): duration = 4 if salt.utils.platform.spawning_platform(): duration = 30 + # mac needs some more time to do its makeup + if salt.utils.platform.is_darwin(): + duration += 15 with pytest.helpers.temp_file("retry.sls", sls_contents, state_tree): ret = state.sls( From cb401b1018c0eeccf3823b0f11fb2f096fe9cb2c Mon Sep 17 00:00:00 2001 From: Twangboy Date: Tue, 8 Nov 2022 14:30:29 -0700 Subject: [PATCH 011/132] Update to python 3.9.15 --- pkg/osx/build_env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/osx/build_env.sh b/pkg/osx/build_env.sh index b608ad8d00e..4320d227d6f 100755 --- a/pkg/osx/build_env.sh +++ b/pkg/osx/build_env.sh @@ -59,7 +59,7 @@ export MACOSX_DEPLOYMENT_TARGET # Versions we're going to install PY_VERSION=3.9 -PY_DOT_VERSION=3.9.12 +PY_DOT_VERSION=3.9.15 ZMQ_VERSION=4.3.4 LIBSODIUM_VERSION=1.0.18 From 81b6b16c1a827b1b1585ae634dca688b6ec08f3b Mon Sep 17 00:00:00 2001 From: Twangboy Date: Thu, 10 Nov 2022 07:43:02 -0700 Subject: [PATCH 012/132] Misssed a few 3.9.15 versions --- pkg/osx/package.sh | 2 +- pkg/osx/pkg-scripts/postinstall | 2 +- pkg/osx/sign_binaries.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/osx/package.sh b/pkg/osx/package.sh index 760a2425598..15e808feb3e 100755 --- a/pkg/osx/package.sh +++ b/pkg/osx/package.sh @@ -94,7 +94,7 @@ echo "**** Setting Variables" SRCDIR=`git rev-parse --show-toplevel` PKGRESOURCES=$SRCDIR/pkg/osx PY_VERSION=3.9 -PY_DOT_VERSION=3.9.12 +PY_DOT_VERSION=3.9.15 ################################################################################ # Make sure this is the Salt Repository diff --git a/pkg/osx/pkg-scripts/postinstall b/pkg/osx/pkg-scripts/postinstall index b43614f9f46..ec80e84951f 100755 --- a/pkg/osx/pkg-scripts/postinstall +++ b/pkg/osx/pkg-scripts/postinstall @@ -19,7 +19,7 @@ ############################################################################### # Define Variables ############################################################################### -PY_DOT_VERSION=3.9.12 +PY_DOT_VERSION=3.9.15 INSTALL_DIR="/opt/salt" BIN_DIR="$INSTALL_DIR/bin" CONFIG_DIR="/etc/salt" diff --git a/pkg/osx/sign_binaries.sh b/pkg/osx/sign_binaries.sh index 804c411f51e..eee6bef4ca3 100755 --- a/pkg/osx/sign_binaries.sh +++ b/pkg/osx/sign_binaries.sh @@ -68,7 +68,7 @@ quit_on_error() { echo "**** Setting Variables" INSTALL_DIR=/opt/salt PY_VERSION=3.9 -PY_DOT_VERSION=3.9.12 +PY_DOT_VERSION=3.9.15 CMD_OUTPUT=$(mktemp -t cmd.log) SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) From 88a274032798d834cdac07d31503a996150aca8e Mon Sep 17 00:00:00 2001 From: Twangboy Date: Mon, 12 Dec 2022 14:14:10 -0700 Subject: [PATCH 013/132] Now it's 3.9.16 --- pkg/osx/build_env.sh | 2 +- pkg/osx/package.sh | 2 +- pkg/osx/pkg-scripts/postinstall | 2 +- pkg/osx/sign_binaries.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/osx/build_env.sh b/pkg/osx/build_env.sh index 4320d227d6f..8ce6aa3b787 100755 --- a/pkg/osx/build_env.sh +++ b/pkg/osx/build_env.sh @@ -59,7 +59,7 @@ export MACOSX_DEPLOYMENT_TARGET # Versions we're going to install PY_VERSION=3.9 -PY_DOT_VERSION=3.9.15 +PY_DOT_VERSION=3.9.16 ZMQ_VERSION=4.3.4 LIBSODIUM_VERSION=1.0.18 diff --git a/pkg/osx/package.sh b/pkg/osx/package.sh index 15e808feb3e..11babf7198d 100755 --- a/pkg/osx/package.sh +++ b/pkg/osx/package.sh @@ -94,7 +94,7 @@ echo "**** Setting Variables" SRCDIR=`git rev-parse --show-toplevel` PKGRESOURCES=$SRCDIR/pkg/osx PY_VERSION=3.9 -PY_DOT_VERSION=3.9.15 +PY_DOT_VERSION=3.9.16 ################################################################################ # Make sure this is the Salt Repository diff --git a/pkg/osx/pkg-scripts/postinstall b/pkg/osx/pkg-scripts/postinstall index ec80e84951f..a460e118fce 100755 --- a/pkg/osx/pkg-scripts/postinstall +++ b/pkg/osx/pkg-scripts/postinstall @@ -19,7 +19,7 @@ ############################################################################### # Define Variables ############################################################################### -PY_DOT_VERSION=3.9.15 +PY_DOT_VERSION=3.9.16 INSTALL_DIR="/opt/salt" BIN_DIR="$INSTALL_DIR/bin" CONFIG_DIR="/etc/salt" diff --git a/pkg/osx/sign_binaries.sh b/pkg/osx/sign_binaries.sh index eee6bef4ca3..4d9af4297f5 100755 --- a/pkg/osx/sign_binaries.sh +++ b/pkg/osx/sign_binaries.sh @@ -68,7 +68,7 @@ quit_on_error() { echo "**** Setting Variables" INSTALL_DIR=/opt/salt PY_VERSION=3.9 -PY_DOT_VERSION=3.9.15 +PY_DOT_VERSION=3.9.16 CMD_OUTPUT=$(mktemp -t cmd.log) SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) From 9619533f24a0db6b68e84f6544c104aebbca876b Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Tue, 3 Jan 2023 10:06:49 -0800 Subject: [PATCH 014/132] Bump to gitpython==3.1.30 because of https://github.com/advisories/GHSA-hcpj-qp55-gfph. Bump to wheel==0.38.4 due to GHSA-qwmp-2cf2-g9g6 --- requirements/darwin.txt | 2 +- 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/docs.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.5/linux.txt | 6 +++--- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/docs.txt | 2 +- requirements/static/ci/py3.7/freebsd.txt | 4 +++- requirements/static/ci/py3.7/lint.txt | 2 +- requirements/static/ci/py3.7/linux.txt | 2 +- requirements/static/ci/py3.7/windows.txt | 4 ++-- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.txt | 2 +- requirements/static/ci/py3.8/freebsd.txt | 4 +++- requirements/static/ci/py3.8/lint.txt | 2 +- requirements/static/ci/py3.8/linux.txt | 2 +- requirements/static/ci/py3.8/windows.txt | 4 ++-- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.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 | 2 +- requirements/static/ci/py3.9/windows.txt | 4 ++-- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 4 ++-- requirements/static/pkg/py3.8/windows.txt | 4 ++-- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 4 ++-- requirements/windows.txt | 4 ++-- 34 files changed, 61 insertions(+), 43 deletions(-) diff --git a/requirements/darwin.txt b/requirements/darwin.txt index 184f927f5ba..2966baa9168 100644 --- a/requirements/darwin.txt +++ b/requirements/darwin.txt @@ -6,8 +6,8 @@ apache-libcloud>=2.4.0 backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' cherrypy>=17.4.1 cryptography>=2.6.1 -gitpython>3.1.20 ; python_version >= "3.7" gitpython>=2.1.15 ; python_version <= "3.6" +gitpython>=3.1.30 ; python_version >= "3.7" idna>=2.8 linode-python>=1.1.1 mako>=1.0.7 diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index 259d81bf128..e615439332d 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -16,8 +16,8 @@ croniter>=0.3.0,!=0.3.22"; sys_platform != 'win32' dnspython docker etcd3-py==0.1.6 ; python_version >= '3.6' -gitpython>3.1.20 ; python_version >= "3.7" gitpython>=2.1.15 ; python_version <= "3.6" +gitpython>=3.1.30 ; python_version >= "3.7" jmespath jsonschema junos-eznc==2.4.0; 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 ca35f688c32..672b89c8448 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -426,7 +426,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index eeba7bb3e92..06217a1e889 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -428,7 +428,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via # -r requirements/darwin.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index f43b9e150d7..874a81971dd 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -347,6 +347,8 @@ botocore==1.21.27 # boto3 # moto # s3transfer +cached-property==1.5.2 + # via pygit2 cachetools==4.2.2 # via # google-auth @@ -428,7 +430,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 0a8ef4d5720..e2bcc9436ff 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -342,6 +342,8 @@ botocore==1.20.67 # boto3 # moto # s3transfer +cached-property==1.5.2 + # via pygit2 cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 @@ -424,7 +426,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 814101b3b31..40c811ccacf 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -345,6 +345,8 @@ botocore==1.21.27 # boto3 # moto # s3transfer +cached-property==1.5.2 + # via pygit2 cachetools==4.2.2 # via # google-auth @@ -424,7 +426,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 2ffb70f69a0..412b6630b96 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -353,6 +353,8 @@ botocore==1.20.67 # boto3 # moto # s3transfer +cached-property==1.5.2 + # via pygit2 cachetools==4.2.2 # via # google-auth @@ -438,7 +440,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index e207a3c191f..fb74f39c098 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -442,9 +442,9 @@ genshi==0.7.5 # via -r requirements/static/ci/common.in geomet==0.1.2 # via cassandra-driver -gitdb==4.0.5 +gitdb==4.0.7 # via gitpython -gitpython==3.1.12 ; python_version <= "3.6" +gitpython==3.1.14 ; python_version <= "3.6" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes @@ -897,7 +897,7 @@ six==1.16.0 # vcert # virtualenv # websocket-client -smmap==3.0.4 +smmap==4.0.0 # via gitdb sqlparse==0.4.2 # via -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index db02799433c..93cba9acc44 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -438,7 +438,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index de85c72548b..81df97c5b4a 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -442,7 +442,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 64bd51da8be..fd5a5e75c45 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -344,6 +344,8 @@ botocore==1.20.67 # boto3 # moto # s3transfer +cached-property==1.5.2 + # via pygit2 cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 @@ -436,7 +438,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 2cf6dc8b9a7..2d8a5a91cf7 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -438,7 +438,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 1a68d8d460f..8db4dd2730f 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -450,7 +450,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 59ad6aa6f24..4245c4c4cae 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -113,7 +113,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt @@ -423,7 +423,7 @@ werkzeug==2.0.3 # via # moto # pytest-httpserver -wheel==0.36.2 +wheel==0.38.4 # via -r requirements/windows.txt wmi==1.5.1 # via -r requirements/windows.txt diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index d459ef95339..6464021883c 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -436,7 +436,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index b83083d5e48..dbfa521fe34 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -440,7 +440,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 26d71618f4e..3670aacc43d 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -342,6 +342,8 @@ botocore==1.20.67 # boto3 # moto # s3transfer +cached-property==1.5.2 + # via pygit2 cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 @@ -434,7 +436,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 055f81e6231..865ab6a4fa5 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -436,7 +436,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 3e980b8e84e..07d452b93d7 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -448,7 +448,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 1a7de4c9062..7fe3d913b90 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -111,7 +111,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt @@ -409,7 +409,7 @@ werkzeug==2.0.3 # via # moto # pytest-httpserver -wheel==0.36.2 +wheel==0.38.4 # via -r requirements/windows.txt wmi==1.5.1 # via -r requirements/windows.txt diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 97810a731d6..c9405c1d963 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -436,7 +436,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 40cc1eab607..a8c2619eaca 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -438,7 +438,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via # -r requirements/darwin.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index cb813f299a4..0b9543fd398 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -347,6 +347,8 @@ botocore==1.21.27 # boto3 # moto # s3transfer +cached-property==1.5.2 + # via pygit2 cachetools==4.2.2 # via # google-auth @@ -438,7 +440,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 45ba23d05d9..580ce2d1d55 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -342,6 +342,8 @@ botocore==1.20.67 # boto3 # moto # s3transfer +cached-property==1.5.2 + # via pygit2 cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 @@ -434,7 +436,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index da89bfeb183..7eb9911edd9 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -345,6 +345,8 @@ botocore==1.21.27 # boto3 # moto # s3transfer +cached-property==1.5.2 + # via pygit2 cachetools==4.2.2 # via # google-auth @@ -434,7 +436,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 2f8ddcfe267..8e4bbb842a8 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -450,7 +450,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 406b7b7b40a..886c3ee73ca 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -111,7 +111,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt @@ -410,7 +410,7 @@ werkzeug==2.0.3 # via # moto # pytest-httpserver -wheel==0.36.2 +wheel==0.38.4 # via -r requirements/windows.txt wmi==1.5.1 # via -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index d1416d85abb..df65c8d43e1 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -26,7 +26,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/darwin.txt idna==2.8 # via diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 73ef8d95a44..a6176a1b18d 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -28,7 +28,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/windows.txt idna==2.8 # via requests @@ -135,7 +135,7 @@ urllib3==1.26.6 # via # -r requirements/windows.txt # requests -wheel==0.36.2 +wheel==0.38.4 # via -r requirements/windows.txt wmi==1.5.1 # via -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 3a229df189e..fc690994312 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -28,7 +28,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/windows.txt idna==2.8 # via requests @@ -131,7 +131,7 @@ urllib3==1.26.6 # via # -r requirements/windows.txt # requests -wheel==0.36.2 +wheel==0.38.4 # via -r requirements/windows.txt wmi==1.5.1 # via -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 10c0345917b..8c8636b0a03 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -26,7 +26,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.5 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/darwin.txt idna==2.8 # via diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index ec3208e3d28..5e045fb0b8b 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -28,7 +28,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.7 # via gitpython -gitpython==3.1.29 ; python_version >= "3.7" +gitpython==3.1.30 ; python_version >= "3.7" # via -r requirements/windows.txt idna==2.8 # via requests @@ -131,7 +131,7 @@ urllib3==1.26.6 # via # -r requirements/windows.txt # requests -wheel==0.36.2 +wheel==0.38.4 # via -r requirements/windows.txt wmi==1.5.1 # via -r requirements/windows.txt diff --git a/requirements/windows.txt b/requirements/windows.txt index cd1b6937125..525cb68a5ec 100644 --- a/requirements/windows.txt +++ b/requirements/windows.txt @@ -12,8 +12,8 @@ certifi<=2021.10.8 ; python_version <= "3.5" cffi>=1.14.5 cherrypy>=18.6.1 cryptography>=3.4.7 -gitpython>3.1.20 ; python_version >= "3.7" gitpython>=2.1.15 ; python_version <= "3.6" +gitpython>=3.1.30 ; python_version >= "3.7" ioloop>=0.1a0 libnacl>=1.8.0 lxml>=4.6.3 @@ -34,6 +34,6 @@ urllib3>=1.26.5 # windows distribution package. # # watchdog>=2.1.3 -wheel>=0.36.2 +wheel>=0.38.1 importlib_metadata>=3.3.0; python_version >= '3.6' and python_version < '3.10' From 187b9a22d83981a2fd51b5b97014b36be02f2188 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Tue, 3 Jan 2023 12:30:25 -0800 Subject: [PATCH 015/132] running pre-commit manually. --- requirements/static/ci/py3.10/docs.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/freebsd.txt | 2 -- requirements/static/ci/py3.8/freebsd.txt | 2 -- requirements/static/ci/py3.9/docs.txt | 2 -- requirements/static/ci/py3.9/freebsd.txt | 2 -- requirements/static/ci/py3.9/lint.txt | 2 -- 9 files changed, 18 deletions(-) diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 874a81971dd..dd7f0cebf37 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -347,8 +347,6 @@ botocore==1.21.27 # boto3 # moto # s3transfer -cached-property==1.5.2 - # via pygit2 cachetools==4.2.2 # via # google-auth diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index e2bcc9436ff..e7fce167689 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -342,8 +342,6 @@ botocore==1.20.67 # boto3 # moto # s3transfer -cached-property==1.5.2 - # via pygit2 cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 40c811ccacf..989b7fbf44c 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -345,8 +345,6 @@ botocore==1.21.27 # boto3 # moto # s3transfer -cached-property==1.5.2 - # via pygit2 cachetools==4.2.2 # via # google-auth diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 412b6630b96..eb90d1e4cb6 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -353,8 +353,6 @@ botocore==1.20.67 # boto3 # moto # s3transfer -cached-property==1.5.2 - # via pygit2 cachetools==4.2.2 # via # google-auth diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index fd5a5e75c45..b459e17da00 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -344,8 +344,6 @@ botocore==1.20.67 # boto3 # moto # s3transfer -cached-property==1.5.2 - # via pygit2 cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 3670aacc43d..0c643595ac5 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -342,8 +342,6 @@ botocore==1.20.67 # boto3 # moto # s3transfer -cached-property==1.5.2 - # via pygit2 cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index 0b9543fd398..d38b4f053ec 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -347,8 +347,6 @@ botocore==1.21.27 # boto3 # moto # s3transfer -cached-property==1.5.2 - # via pygit2 cachetools==4.2.2 # via # google-auth diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 580ce2d1d55..4a77ba19e9d 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -342,8 +342,6 @@ botocore==1.20.67 # boto3 # moto # s3transfer -cached-property==1.5.2 - # via pygit2 cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 7eb9911edd9..ab77a7684e2 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -345,8 +345,6 @@ botocore==1.21.27 # boto3 # moto # s3transfer -cached-property==1.5.2 - # via pygit2 cachetools==4.2.2 # via # google-auth From e7087e33d20cf5df8a2c43c976ce13e0291d878f Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Wed, 4 Jan 2023 11:33:06 -0800 Subject: [PATCH 016/132] moving test_masterless_highstate to run last, it interfers with tests expecting custom modules. --- .../pytests/integration/cli/test_salt_call.py | 66 +++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/tests/pytests/integration/cli/test_salt_call.py b/tests/pytests/integration/cli/test_salt_call.py index f0f1631187c..26a4c53b229 100644 --- a/tests/pytests/integration/cli/test_salt_call.py +++ b/tests/pytests/integration/cli/test_salt_call.py @@ -243,39 +243,6 @@ def test_pillar_items_masterless(salt_minion, salt_call_cli): assert ret.data["monty"] == "python" -def test_masterless_highstate(salt_minion, salt_call_cli, tmp_path): - """ - test state.highstate in masterless mode - """ - top_sls = """ - base: - '*': - - core - """ - - testfile = tmp_path / "testfile" - core_state = """ - {}: - file: - - managed - - source: salt://testfile - - makedirs: true - """.format( - testfile - ) - - expected_id = str(testfile) - - with salt_minion.state_tree.base.temp_file( - "top.sls", top_sls - ), salt_minion.state_tree.base.temp_file("core.sls", core_state): - ret = salt_call_cli.run("--local", "state.highstate") - assert ret.returncode == 0 - state_run_dict = next(iter(ret.data.values())) - assert state_run_dict["result"] is True - assert state_run_dict["__id__"] == expected_id - - @pytest.mark.skip_on_windows def test_syslog_file_not_found(salt_minion, salt_call_cli, tmp_path): """ @@ -443,3 +410,36 @@ def test_local_salt_call_no_function_no_retcode(salt_call_cli): a = state_run_dict["test.recho"] b = expected assert state_run_dict["test.recho"] == expected + + +def test_masterless_highstate(salt_minion, salt_call_cli, tmp_path): + """ + test state.highstate in masterless mode + """ + top_sls = """ + base: + '*': + - core + """ + + testfile = tmp_path / "testfile" + core_state = """ + {}: + file: + - managed + - source: salt://testfile + - makedirs: true + """.format( + testfile + ) + + expected_id = str(testfile) + + with salt_minion.state_tree.base.temp_file( + "top.sls", top_sls + ), salt_minion.state_tree.base.temp_file("core.sls", core_state): + ret = salt_call_cli.run("--local", "state.highstate") + assert ret.returncode == 0 + state_run_dict = next(iter(ret.data.values())) + assert state_run_dict["result"] is True + assert state_run_dict["__id__"] == expected_id From bffd65087240d869d4597278c9fac161ff102292 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Tue, 10 Jan 2023 08:16:10 -0700 Subject: [PATCH 017/132] [freeze] Reduce flakyness for ssh docker py versions test --- tests/pytests/integration/ssh/test_py_versions.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/pytests/integration/ssh/test_py_versions.py b/tests/pytests/integration/ssh/test_py_versions.py index 406f7cddadd..b7f469f5e92 100644 --- a/tests/pytests/integration/ssh/test_py_versions.py +++ b/tests/pytests/integration/ssh/test_py_versions.py @@ -4,6 +4,7 @@ Integration tests for salt-ssh py_versions import logging import shutil import subprocess +import time import pytest from saltfactories.utils import random_string @@ -120,13 +121,24 @@ def salt_ssh_roster_file(ssh_port, ssh_keys, salt_master): def salt_ssh_cli(salt_master, salt_ssh_roster_file, ssh_keys, ssh_docker_container): assert salt_master.is_running() assert ssh_docker_container.is_running() - return salt_master.salt_ssh_cli( + ret = salt_master.salt_ssh_cli( timeout=180, roster_file=salt_ssh_roster_file, target_host="localhost", client_key=str(ssh_keys.priv_path), base_script_args=["--ignore-host-keys"], ) + # Ensure the container is up and communicating + # This reduces flakyness + start = time.time() + 15 + while time.time() < start: + verify = ret.run("test.ping", minion_tgt="pyvertest") + if verify.returncode == 0: + break + time.sleep(2) + else: + pytest.fail("Could not establish connection with container") + return ret @pytest.mark.slow_test From fe0aa9218833ce9f652aa0fef2fa3db1f7dc1ec4 Mon Sep 17 00:00:00 2001 From: MKLeb Date: Wed, 30 Nov 2022 17:51:28 -0500 Subject: [PATCH 018/132] Attempt to make the VMware instant clone test less flaky --- tests/integration/cloud/clouds/test_vmware.py | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/tests/integration/cloud/clouds/test_vmware.py b/tests/integration/cloud/clouds/test_vmware.py index 15a10c8120c..b91ab3bae2f 100644 --- a/tests/integration/cloud/clouds/test_vmware.py +++ b/tests/integration/cloud/clouds/test_vmware.py @@ -2,6 +2,7 @@ :codeauthor: Megan Wilhite """ +import logging import socket from tests.integration.cloud.helpers.cloud_test_base import TIMEOUT, CloudTest @@ -94,26 +95,32 @@ class VMWareTest(CloudTest): self.assertInstanceExists(ret_val) self.assertDestroyInstance() - def test_instant_clone(self): + def test_instant_clone(self, caplog): """ Tests creating Instant Clone VM """ # salt-cloud -p my-instant-clone IC3 profile_name = "vmware-test-instant-clone" + snaps_before = self.run_cloud(f"-f list_snapshots cloud-tests-template-base") + self.run_cloud(f"-a remove_all_snapshots cloud-tests-template-base") + # create the instance - ret_val = self.run_cloud( - "-p {} {}".format(profile_name, self.instance_name), timeout=TIMEOUT - ) + with caplog.at_level(logging.INFO): + ret_val = self.run_cloud( + "-p {} {}".format(profile_name, self.instance_name), timeout=TIMEOUT + ) - i_clone_str = "Instant Clone created successfully" - - self.assertIn(i_clone_str, str(ret_val)) - - self.assertDestroyInstance() - - # now clean up snapshots and make sure re get the proper response. - ret_val = self.run_cloud("-a remove_all_snapshots cloud-tests-instant-clone") + snaps_after = self.run_cloud(f"-f list_snapshots cloud-tests-template-base") + ret_val = self.run_cloud(f"-a remove_all_snapshots cloud-tests-template-base") s_ret_str = "Removed all snapshots" - self.assertIn(s_ret_str, str(ret_val)) + + # This sometimes times out before it get's an IP, so we check the logs + if ret_val == []: + check_log = "Successfully completed Instantclone task" + self.assertIn(check_log, caplog.text) + else: + i_clone_str = "Instant Clone created successfully" + self.assertIn(i_clone_str, str(ret_val)) + self.assertDestroyInstance() From 54b395026ca4866f75c3ceb647c80dfdd4e487cf Mon Sep 17 00:00:00 2001 From: MKLeb Date: Thu, 1 Dec 2022 14:28:41 -0500 Subject: [PATCH 019/132] Use retro logging handler --- tests/integration/cloud/clouds/test_vmware.py | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/tests/integration/cloud/clouds/test_vmware.py b/tests/integration/cloud/clouds/test_vmware.py index b91ab3bae2f..13fe9eb47d9 100644 --- a/tests/integration/cloud/clouds/test_vmware.py +++ b/tests/integration/cloud/clouds/test_vmware.py @@ -6,6 +6,7 @@ import logging import socket from tests.integration.cloud.helpers.cloud_test_base import TIMEOUT, CloudTest +from tests.support.helpers import TstSuiteLoggingHandler class VMWareTest(CloudTest): @@ -95,7 +96,7 @@ class VMWareTest(CloudTest): self.assertInstanceExists(ret_val) self.assertDestroyInstance() - def test_instant_clone(self, caplog): + def test_instant_clone(self): """ Tests creating Instant Clone VM """ @@ -105,22 +106,23 @@ class VMWareTest(CloudTest): self.run_cloud(f"-a remove_all_snapshots cloud-tests-template-base") # create the instance - with caplog.at_level(logging.INFO): + log_format = "[%(levelname)-8s] %(jid)s %(message)s" + handler = TstSuiteLoggingHandler(format=log_format, level=logging.INFO) + with handler: ret_val = self.run_cloud( "-p {} {}".format(profile_name, self.instance_name), timeout=TIMEOUT ) + snaps_after = self.run_cloud(f"-f list_snapshots cloud-tests-template-base") + # This sometimes times out before it get's an IP, so we check the logs + if ret_val == []: + check_log = "Successfully completed Instantclone task" + self.assertTrue(any(check_log in s for s in handler.messages)) + else: + i_clone_str = "Instant Clone created successfully" + self.assertIn(i_clone_str, str(ret_val)) - snaps_after = self.run_cloud(f"-f list_snapshots cloud-tests-template-base") - - ret_val = self.run_cloud(f"-a remove_all_snapshots cloud-tests-template-base") s_ret_str = "Removed all snapshots" + ret_val = self.run_cloud(f"-a remove_all_snapshots cloud-tests-template-base") self.assertIn(s_ret_str, str(ret_val)) - # This sometimes times out before it get's an IP, so we check the logs - if ret_val == []: - check_log = "Successfully completed Instantclone task" - self.assertIn(check_log, caplog.text) - else: - i_clone_str = "Instant Clone created successfully" - self.assertIn(i_clone_str, str(ret_val)) self.assertDestroyInstance() From c4a6fb3b943d4c52073aeca9a15153683137298e Mon Sep 17 00:00:00 2001 From: MKLeb Date: Mon, 5 Dec 2022 19:47:51 -0500 Subject: [PATCH 020/132] remove snapshot logic, this issue should be fixed --- tests/integration/cloud/clouds/test_vmware.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tests/integration/cloud/clouds/test_vmware.py b/tests/integration/cloud/clouds/test_vmware.py index 13fe9eb47d9..98b7d3b44f6 100644 --- a/tests/integration/cloud/clouds/test_vmware.py +++ b/tests/integration/cloud/clouds/test_vmware.py @@ -102,7 +102,6 @@ class VMWareTest(CloudTest): """ # salt-cloud -p my-instant-clone IC3 profile_name = "vmware-test-instant-clone" - snaps_before = self.run_cloud(f"-f list_snapshots cloud-tests-template-base") self.run_cloud(f"-a remove_all_snapshots cloud-tests-template-base") # create the instance @@ -112,7 +111,6 @@ class VMWareTest(CloudTest): ret_val = self.run_cloud( "-p {} {}".format(profile_name, self.instance_name), timeout=TIMEOUT ) - snaps_after = self.run_cloud(f"-f list_snapshots cloud-tests-template-base") # This sometimes times out before it get's an IP, so we check the logs if ret_val == []: check_log = "Successfully completed Instantclone task" @@ -121,8 +119,4 @@ class VMWareTest(CloudTest): i_clone_str = "Instant Clone created successfully" self.assertIn(i_clone_str, str(ret_val)) - s_ret_str = "Removed all snapshots" - ret_val = self.run_cloud(f"-a remove_all_snapshots cloud-tests-template-base") - self.assertIn(s_ret_str, str(ret_val)) - self.assertDestroyInstance() From 9ca9a1289911d7acd8016c4ff02c47a407ae7a71 Mon Sep 17 00:00:00 2001 From: MKLeb Date: Tue, 6 Dec 2022 12:41:58 -0500 Subject: [PATCH 021/132] Fix log format --- tests/integration/cloud/clouds/test_vmware.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/cloud/clouds/test_vmware.py b/tests/integration/cloud/clouds/test_vmware.py index 98b7d3b44f6..1e82566fc21 100644 --- a/tests/integration/cloud/clouds/test_vmware.py +++ b/tests/integration/cloud/clouds/test_vmware.py @@ -105,7 +105,7 @@ class VMWareTest(CloudTest): self.run_cloud(f"-a remove_all_snapshots cloud-tests-template-base") # create the instance - log_format = "[%(levelname)-8s] %(jid)s %(message)s" + log_format = "%(message)s" handler = TstSuiteLoggingHandler(format=log_format, level=logging.INFO) with handler: ret_val = self.run_cloud( From fe67de4b7f8a536d1b56abb9197817c1319e9a23 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Tue, 10 Jan 2023 09:10:00 -0700 Subject: [PATCH 022/132] Remove f string --- tests/integration/cloud/clouds/test_vmware.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/cloud/clouds/test_vmware.py b/tests/integration/cloud/clouds/test_vmware.py index 1e82566fc21..a0845cb8a6b 100644 --- a/tests/integration/cloud/clouds/test_vmware.py +++ b/tests/integration/cloud/clouds/test_vmware.py @@ -102,7 +102,7 @@ class VMWareTest(CloudTest): """ # salt-cloud -p my-instant-clone IC3 profile_name = "vmware-test-instant-clone" - self.run_cloud(f"-a remove_all_snapshots cloud-tests-template-base") + self.run_cloud("-a remove_all_snapshots cloud-tests-template-base") # create the instance log_format = "%(message)s" From b023068d867bcabc99fa800de2210fe1f63c0cd2 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Apr 2023 07:44:39 +0100 Subject: [PATCH 023/132] The repo.saltproject.io `index.html` file changed it's contents. Fix tests. Signed-off-by: Pedro Algarvio --- tests/integration/modules/test_cp.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/integration/modules/test_cp.py b/tests/integration/modules/test_cp.py index 9bb44de6b5d..843220fcd54 100644 --- a/tests/integration/modules/test_cp.py +++ b/tests/integration/modules/test_cp.py @@ -237,9 +237,9 @@ class CPModuleTest(ModuleCase): self.run_function("cp.get_url", ["https://repo.saltproject.io/index.html", tgt]) with salt.utils.files.fopen(tgt, "r") as instructions: data = salt.utils.stringutils.to_unicode(instructions.read()) - self.assertIn("Bootstrap", data) - self.assertIn("Debian", data) - self.assertIn("Windows", data) + self.assertIn("Salt Project", data) + self.assertIn("Package", data) + self.assertIn("Repo", data) self.assertNotIn("AYBABTU", data) @pytest.mark.slow_test @@ -253,9 +253,9 @@ class CPModuleTest(ModuleCase): with salt.utils.files.fopen(ret, "r") as instructions: data = salt.utils.stringutils.to_unicode(instructions.read()) - self.assertIn("Bootstrap", data) - self.assertIn("Debian", data) - self.assertIn("Windows", data) + self.assertIn("Salt Project", data) + self.assertIn("Package", data) + self.assertIn("Repo", data) self.assertNotIn("AYBABTU", data) @pytest.mark.slow_test @@ -276,9 +276,9 @@ class CPModuleTest(ModuleCase): time.sleep(sleep) if ret.find("HTTP 599") != -1: raise Exception("https://repo.saltproject.io/index.html returned 599 error") - self.assertIn("Bootstrap", ret) - self.assertIn("Debian", ret) - self.assertIn("Windows", ret) + self.assertIn("Salt Project", ret) + self.assertIn("Package", ret) + self.assertIn("Repo", ret) self.assertNotIn("AYBABTU", ret) @pytest.mark.slow_test @@ -349,9 +349,9 @@ class CPModuleTest(ModuleCase): """ src = "https://repo.saltproject.io/index.html" ret = self.run_function("cp.get_file_str", [src]) - self.assertIn("Bootstrap", ret) - self.assertIn("Debian", ret) - self.assertIn("Windows", ret) + self.assertIn("Salt Project", ret) + self.assertIn("Package", ret) + self.assertIn("Repo", ret) self.assertNotIn("AYBABTU", ret) @pytest.mark.slow_test From 77f129ecb9ced78713980aa0fd0765cab229b9fd Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Mon, 23 Jan 2023 11:56:29 +0000 Subject: [PATCH 024/132] Fix test by switching to a repo we own and pinning to a tag. Signed-off-by: Pedro Algarvio --- tests/integration/modules/test_pip.py | 18 ++++++++---------- tests/pytests/unit/modules/test_pip.py | 4 ++-- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/tests/integration/modules/test_pip.py b/tests/integration/modules/test_pip.py index e277d2c9cd4..ac70d05d571 100644 --- a/tests/integration/modules/test_pip.py +++ b/tests/integration/modules/test_pip.py @@ -33,9 +33,6 @@ class PipModuleTest(ModuleCase): # Remove the venv test directory self.addCleanup(shutil.rmtree, self.venv_test_dir, ignore_errors=True) self.venv_dir = os.path.join(self.venv_test_dir, "venv") - self.pip_temp = os.path.join(self.venv_test_dir, ".pip-temp") - if not os.path.isdir(self.pip_temp): - os.makedirs(self.pip_temp) self.patched_environ = patched_environ( PIP_SOURCE_DIR="", PIP_BUILD_DIR="", @@ -519,7 +516,7 @@ class PipModuleTest(ModuleCase): @pytest.mark.slow_test def test_pip_install_multiple_editables(self): editables = [ - "git+https://github.com/jek/blinker.git#egg=Blinker", + "git+https://github.com/saltstack/istr.git@v1.0.1#egg=iStr", "git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting", ] @@ -542,10 +539,11 @@ class PipModuleTest(ModuleCase): if self._check_download_error(ret["stdout"]): self.skipTest("Test skipped due to pip download error") self.assertEqual(ret["retcode"], 0) - match = re.search( - "Successfully installed Blinker(.*) SaltTesting(.*)", ret["stdout"] - ) - assert match is not None + for package in ("iStr", "SaltTesting"): + self.assertRegex( + ret["stdout"], + r"(?:.*)(Successfully installed)(?:.*)({})(?:.*)".format(package), + ) except KeyError as exc: self.fail( "The returned dictionary is missing an expected key. Error: '{}'." @@ -555,7 +553,7 @@ class PipModuleTest(ModuleCase): @pytest.mark.slow_test def test_pip_install_multiple_editables_and_pkgs(self): editables = [ - "git+https://github.com/jek/blinker.git#egg=Blinker", + "git+https://github.com/saltstack/istr.git@v1.0.1#egg=iStr", "git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting", ] @@ -578,7 +576,7 @@ class PipModuleTest(ModuleCase): if self._check_download_error(ret["stdout"]): self.skipTest("Test skipped due to pip download error") self.assertEqual(ret["retcode"], 0) - for package in ("Blinker", "SaltTesting", "pep8"): + for package in ("iStr", "SaltTesting", "pep8"): self.assertRegex( ret["stdout"], r"(?:.*)(Successfully installed)(?:.*)({})(?:.*)".format(package), diff --git a/tests/pytests/unit/modules/test_pip.py b/tests/pytests/unit/modules/test_pip.py index 405ec6c82e8..79868ff50e9 100644 --- a/tests/pytests/unit/modules/test_pip.py +++ b/tests/pytests/unit/modules/test_pip.py @@ -155,7 +155,7 @@ def test_install_editable_without_egg_fails(): def test_install_multiple_editable(): editables = [ - "git+https://github.com/jek/blinker.git#egg=Blinker", + "git+https://github.com/saltstack/istr.git@v1.0.1#egg=iStr", "git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting", ] @@ -191,7 +191,7 @@ def test_install_multiple_editable(): def test_install_multiple_pkgs_and_editables(): pkgs = ["pep8", "salt"] editables = [ - "git+https://github.com/jek/blinker.git#egg=Blinker", + "git+https://github.com/saltstack/istr.git@v1.0.1#egg=iStr", "git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting", ] From 66778b197154aae190654339d575016b6749f12d Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Mon, 27 Mar 2023 11:55:41 +0100 Subject: [PATCH 025/132] Remaining test fixes regarding the recent GitHub RSA key change Signed-off-by: Pedro Algarvio --- tests/filename_map.yml | 5 +++++ tests/integration/files/ssh/authorized_keys | 2 +- tests/integration/files/ssh/raw | 1 - tests/integration/modules/test_ssh.py | 12 ++++++------ 4 files changed, 12 insertions(+), 8 deletions(-) delete mode 100644 tests/integration/files/ssh/raw diff --git a/tests/filename_map.yml b/tests/filename_map.yml index 7e25c0620d9..7b110078c0d 100644 --- a/tests/filename_map.yml +++ b/tests/filename_map.yml @@ -332,3 +332,8 @@ tests/pytests/scenarios/multimaster: - pytests.scenarios.multimaster.beacons.test_inotify - pytests.scenarios.multimaster.modules.test_test - pytests.scenarios.failover.multimaster.test_failover_master + +tests/integration/files/ssh/.*: + - integration.modules.test_ssh + - integration.states.test_ssh_auth + - integration.states.test_ssh_known_hosts diff --git a/tests/integration/files/ssh/authorized_keys b/tests/integration/files/ssh/authorized_keys index 6e23c8561a0..ac8b7e20976 100644 --- a/tests/integration/files/ssh/authorized_keys +++ b/tests/integration/files/ssh/authorized_keys @@ -1 +1 @@ -command="/usr/local/lib/ssh-helper" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== github.com +command="/usr/local/lib/ssh-helper" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk= github.com diff --git a/tests/integration/files/ssh/raw b/tests/integration/files/ssh/raw deleted file mode 100644 index 3e58ba81e02..00000000000 --- a/tests/integration/files/ssh/raw +++ /dev/null @@ -1 +0,0 @@ -AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== diff --git a/tests/integration/modules/test_ssh.py b/tests/integration/modules/test_ssh.py index ee3b4a132c5..db5e1e24415 100644 --- a/tests/integration/modules/test_ssh.py +++ b/tests/integration/modules/test_ssh.py @@ -6,13 +6,13 @@ import os import shutil import pytest +import requests import salt.utils.files import salt.utils.platform -from salt.ext.tornado.httpclient import HTTPClient from tests.support.case import ModuleCase from tests.support.runtests import RUNTIME_VARS -GITHUB_FINGERPRINT = "9d:38:5b:83:a9:17:52:92:56:1a:5e:c4:d4:81:8e:0a:ca:51:a2:64:f1:74:20:11:2e:f8:8a:c3:a1:39:49:8f" +GITHUB_FINGERPRINT = "b8:d8:95:ce:d9:2c:0a:c0:e1:71:cd:2e:f5:ef:01:ba:34:17:55:4a:4a:64:80:d3:31:cc:c2:be:3d:ed:0f:6b" def check_status(): @@ -20,7 +20,7 @@ def check_status(): Check the status of Github for remote operations """ try: - return HTTPClient().fetch("http://github.com").code == 200 + return requests.get("https://github.com").status_code == 200 except Exception: # pylint: disable=broad-except return False @@ -48,9 +48,9 @@ class SSHModuleTest(ModuleCase): if not os.path.isdir(self.subsalt_dir): os.makedirs(self.subsalt_dir) - ssh_raw_path = os.path.join(RUNTIME_VARS.FILES, "ssh", "raw") - with salt.utils.files.fopen(ssh_raw_path) as fd: - self.key = fd.read().strip() + known_hosts_file = os.path.join(RUNTIME_VARS.FILES, "ssh", "known_hosts") + with salt.utils.files.fopen(known_hosts_file) as fd: + self.key = fd.read().strip().splitlines()[0].split()[-1] def tearDown(self): """ From 0c7850b9bc8b7e3ac7b3ba648ae02edad204af4d Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Fri, 24 Mar 2023 21:03:17 -0700 Subject: [PATCH 026/132] Updating keys in known hosts file. --- tests/integration/files/ssh/known_hosts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/files/ssh/known_hosts b/tests/integration/files/ssh/known_hosts index aa02480ca8a..01239ee94ba 100644 --- a/tests/integration/files/ssh/known_hosts +++ b/tests/integration/files/ssh/known_hosts @@ -1,3 +1,3 @@ -|1|muzcBqgq7+ByUY7aLICytOff8UI=|rZ1JBNlIOqRnwwsJl9yP+xMxgf8= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== +|1|muzcBqgq7+ByUY7aLICytOff8UI=|rZ1JBNlIOqRnwwsJl9yP+xMxgf8= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk= github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg= github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl From 167fd2034e00310b2a2c6e07eda11639b4d0e12f Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Fri, 24 Mar 2023 17:25:58 -0700 Subject: [PATCH 027/132] Updating the github.com fingerprint. --- tests/integration/states/test_ssh_known_hosts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/states/test_ssh_known_hosts.py b/tests/integration/states/test_ssh_known_hosts.py index cb4b40d3a06..3401291e8f4 100644 --- a/tests/integration/states/test_ssh_known_hosts.py +++ b/tests/integration/states/test_ssh_known_hosts.py @@ -10,7 +10,7 @@ from tests.support.case import ModuleCase from tests.support.mixins import SaltReturnAssertsMixin from tests.support.runtests import RUNTIME_VARS -GITHUB_FINGERPRINT = "9d:38:5b:83:a9:17:52:92:56:1a:5e:c4:d4:81:8e:0a:ca:51:a2:64:f1:74:20:11:2e:f8:8a:c3:a1:39:49:8f" +GITHUB_FINGERPRINT = "b8:d8:95:ce:d9:2c:0a:c0:e1:71:cd:2e:f5:ef:01:ba:34:17:55:4a:4a:64:80:d3:31:cc:c2:be:3d:ed:0f:6b" GITHUB_IP = "140.82.121.4" From 16e452ca94e75011f272121b3548a56a1114b578 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 31 May 2023 12:19:39 -0600 Subject: [PATCH 028/132] Delete OSs end of life --- cicd/amis.yml | 3 --- cicd/jenkins/pr-debian-9-amd64-py3-pytest | 17 ----------------- cicd/jenkins/pr-fedora-35-x86_64-py3-pytest | 17 ----------------- cicd/jenkins/pr-freebsd-131-amd64-py3-pytest | 17 ----------------- 4 files changed, 54 deletions(-) delete mode 100644 cicd/jenkins/pr-debian-9-amd64-py3-pytest delete mode 100644 cicd/jenkins/pr-fedora-35-x86_64-py3-pytest delete mode 100644 cicd/jenkins/pr-freebsd-131-amd64-py3-pytest diff --git a/cicd/amis.yml b/cicd/amis.yml index 968a16c8074..119dd99a9dc 100644 --- a/cicd/amis.yml +++ b/cicd/amis.yml @@ -7,9 +7,6 @@ centosstream-9-x86_64: ami-09c9a8cff0874c232 debian-10-amd64: ami-0eb32b3297dc438d0 debian-11-amd64: ami-08bf6df84b4488e8a debian-11-arm64: ami-085ff5dc42735c52e -debian-9-amd64: ami-033ed8f0f55cad1e0 -fedora-35-x86_64: ami-05dbe9d0b98ca2f9c -freebsd-131-amd64: ami-0ef1a75f9b997e572 opensuse-15-x86_64: ami-0b57dabce687992c3 photon-3-x86_64: ami-080bc696fab4f5840 ubuntu-1804-amd64: ami-0decb138fa5e24979 diff --git a/cicd/jenkins/pr-debian-9-amd64-py3-pytest b/cicd/jenkins/pr-debian-9-amd64-py3-pytest deleted file mode 100644 index e56c2c7dd59..00000000000 --- a/cicd/jenkins/pr-debian-9-amd64-py3-pytest +++ /dev/null @@ -1,17 +0,0 @@ -@Library('salt@master-1.11') _ - -runTestSuite( - concurrent_builds: 1, - distro_name: 'debian', - distro_version: '9', - distro_arch: 'amd64', - env: env, - jenkins_slave_label: 'kitchen-slave', - nox_env_name: 'pytest-zeromq', - nox_passthrough_opts: '--ssh-tests', - python_version: 'py3', - testrun_timeout: 6, - use_spot_instances: true, -) - -// vim: ft=groovy diff --git a/cicd/jenkins/pr-fedora-35-x86_64-py3-pytest b/cicd/jenkins/pr-fedora-35-x86_64-py3-pytest deleted file mode 100644 index ab39bec3cc9..00000000000 --- a/cicd/jenkins/pr-fedora-35-x86_64-py3-pytest +++ /dev/null @@ -1,17 +0,0 @@ -@Library('salt@master-1.11') _ - -runTestSuite( - concurrent_builds: 1, - distro_name: 'fedora', - distro_version: '35', - distro_arch: 'x86-64', - env: env, - jenkins_slave_label: 'kitchen-slave', - nox_env_name: 'pytest-zeromq', - nox_passthrough_opts: '--ssh-tests', - python_version: 'py3', - testrun_timeout: 6, - use_spot_instances: true, -) - -// vim: ft=groovy diff --git a/cicd/jenkins/pr-freebsd-131-amd64-py3-pytest b/cicd/jenkins/pr-freebsd-131-amd64-py3-pytest deleted file mode 100644 index b25ffa302af..00000000000 --- a/cicd/jenkins/pr-freebsd-131-amd64-py3-pytest +++ /dev/null @@ -1,17 +0,0 @@ -@Library('salt@master-1.11') _ - -runTestSuite( - concurrent_builds: 1, - distro_name: 'freebsd', - distro_version: '131', - distro_arch: 'amd64', - env: env, - jenkins_slave_label: 'kitchen-slave', - nox_env_name: 'pytest-zeromq', - nox_passthrough_opts: '--ssh-tests', - python_version: 'py3', - testrun_timeout: 6, - use_spot_instances: true, -) - -// vim: ft=groovy From ce270844e61bf36a85056bbef4937af43c9d712e Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 31 May 2023 12:24:17 -0600 Subject: [PATCH 029/132] Update ami image --- cicd/amis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cicd/amis.yml b/cicd/amis.yml index 119dd99a9dc..47f6691883f 100644 --- a/cicd/amis.yml +++ b/cicd/amis.yml @@ -1,5 +1,5 @@ alma-8-x86_64: ami-0594d7cf435c3d2f7 -amazon-2-x86_64: ami-01226819a514516fe +amazon-2-x86_64: ami-0695f87baa5b5ce15 arch-lts-x86_64: ami-018a6b479dcb87969 centos-7-x86_64: ami-05764f27cdf8f99e0 centosstream-8-x86_64: ami-02fc0a57f9b1fa4ed From 7808499fa4c507c158a72010d18bc47064470707 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Thu, 1 Jun 2023 09:12:01 -0600 Subject: [PATCH 030/132] Skip tests on 3005 --- tests/integration/states/test_bower.py | 1 + tests/pytests/functional/cache/test_mysql.py | 3 +++ tests/pytests/functional/modules/test_mysql.py | 3 +++ tests/pytests/functional/states/test_mysql.py | 3 +++ 4 files changed, 10 insertions(+) diff --git a/tests/integration/states/test_bower.py b/tests/integration/states/test_bower.py index 2afa3554747..eab62c535e7 100644 --- a/tests/integration/states/test_bower.py +++ b/tests/integration/states/test_bower.py @@ -10,6 +10,7 @@ from tests.support.mixins import SaltReturnAssertsMixin from tests.support.unit import skipIf +@skipIf(True, "Skippin in 3005, issue with bower cache on golden image") @skipIf(salt.utils.path.which("bower") is None, "bower not installed") class BowerStateTest(ModuleCase, SaltReturnAssertsMixin): @pytest.mark.destructive_test diff --git a/tests/pytests/functional/cache/test_mysql.py b/tests/pytests/functional/cache/test_mysql.py index abffca2888a..33d04c92bb2 100644 --- a/tests/pytests/functional/cache/test_mysql.py +++ b/tests/pytests/functional/cache/test_mysql.py @@ -36,5 +36,8 @@ def cache(minion_opts, mysql_container): return cache +@pytest.mark.skip( + "Skipping docker mysql tests on 3005. Requires significant change to resolve, updating salt factories" +) def test_caching(subtests, cache): run_common_cache_tests(subtests, cache) diff --git a/tests/pytests/functional/modules/test_mysql.py b/tests/pytests/functional/modules/test_mysql.py index fa90e9b9490..d0fe076be3b 100644 --- a/tests/pytests/functional/modules/test_mysql.py +++ b/tests/pytests/functional/modules/test_mysql.py @@ -12,6 +12,9 @@ from tests.support.pytest.mysql import * # pylint: disable=wildcard-import,unus log = logging.getLogger(__name__) pytestmark = [ + # Skipping docker mysql tests on 3005. Requires + # significant change to resolve, updating salt factories + pytest.mark.skip, pytest.mark.slow_test, pytest.mark.skip_if_binaries_missing("dockerd"), pytest.mark.skipif( diff --git a/tests/pytests/functional/states/test_mysql.py b/tests/pytests/functional/states/test_mysql.py index 900b53fc55b..83fc17c915e 100644 --- a/tests/pytests/functional/states/test_mysql.py +++ b/tests/pytests/functional/states/test_mysql.py @@ -13,6 +13,9 @@ from tests.support.pytest.mysql import * # pylint: disable=wildcard-import,unus log = logging.getLogger(__name__) pytestmark = [ + # Skipping docker mysql tests on 3005. Requires + # significant change to resolve, updating salt factories + pytest.mark.skip, pytest.mark.slow_test, pytest.mark.skip_if_binaries_missing("dockerd"), pytest.mark.skipif( From edfa312fae98232b2e7045d6e816d6ae9eb36767 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Thu, 1 Jun 2023 09:54:23 -0600 Subject: [PATCH 031/132] Only run chocolatey tests if choco exists --- tests/integration/modules/test_chocolatey.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/integration/modules/test_chocolatey.py b/tests/integration/modules/test_chocolatey.py index 5243ab648c4..34583096c4a 100644 --- a/tests/integration/modules/test_chocolatey.py +++ b/tests/integration/modules/test_chocolatey.py @@ -7,6 +7,7 @@ from tests.support.unit import skipIf @skipIf(not salt.utils.platform.is_windows(), "Tests for only Windows") +@skipIf(not salt.utils.path.which("choco"), "chocolatey not found") @pytest.mark.windows_whitelisted @pytest.mark.destructive_test class ChocolateyModuleTest(ModuleCase): From afa8a2cc68cfd30a68cf6d8304fd465d083dcfb5 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Thu, 1 Jun 2023 12:23:34 -0600 Subject: [PATCH 032/132] skip on windows if not setting static requirements --- tests/pytests/scenarios/setup/test_install.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/pytests/scenarios/setup/test_install.py b/tests/pytests/scenarios/setup/test_install.py index d8ce96cb34e..0588f1eae2d 100644 --- a/tests/pytests/scenarios/setup/test_install.py +++ b/tests/pytests/scenarios/setup/test_install.py @@ -28,6 +28,8 @@ def use_static_requirements_ids(value): @pytest.fixture(params=[True, False], ids=use_static_requirements_ids) def use_static_requirements(request): + if not request.param and salt.utils.platform.is_windows(): + pytest.skip("Windows installs with statis requirements only") return request.param From 1d28136aee208de110517f8c4039d4cadbcd1d36 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 2 Jun 2023 12:09:23 -0600 Subject: [PATCH 033/132] Install lower version of importlib-metadata on amzn2 --- noxfile.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/noxfile.py b/noxfile.py index 05812be3cc4..1b35e1f39bb 100644 --- a/noxfile.py +++ b/noxfile.py @@ -10,6 +10,7 @@ Nox configuration script import datetime import os import pathlib +import platform import sys import tempfile @@ -721,6 +722,16 @@ def _pytest(session, coverage, cmd_args): # Create required artifacts directories _create_ci_directories() + if "amzn2" in platform.release(): + # workaround on 3005 for https://github.com/saltstack/salt/issues/62851 + session.run( + "pip3", + "install", + "-y", + "importlib_metadata<5.0.0", + silent=True, + ) + env = {"CI_RUN": "1" if CI_RUN else "0"} args = [ From b9b48b8cf62eafcf501e230d7cb8efa6560900fb Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 30 Dec 2022 06:54:24 +0000 Subject: [PATCH 034/132] Wait until the loop is running. Signed-off-by: Pedro Algarvio --- tests/pytests/unit/transport/test_zeromq.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/tests/pytests/unit/transport/test_zeromq.py b/tests/pytests/unit/transport/test_zeromq.py index de2cc98e09e..30f79b7273b 100644 --- a/tests/pytests/unit/transport/test_zeromq.py +++ b/tests/pytests/unit/transport/test_zeromq.py @@ -338,12 +338,14 @@ def run_loop_in_thread(loop, evt): @salt.ext.tornado.gen.coroutine def stopper(): + yield salt.ext.tornado.gen.sleep(0.1) while True: - if evt.is_set(): + if not evt.is_set(): loop.stop() break yield salt.ext.tornado.gen.sleep(0.3) + loop.add_callback(evt.set) loop.add_callback(stopper) try: loop.start() @@ -388,6 +390,7 @@ class MockSaltMinionMaster: ) def __enter__(self): + self.evt.wait() return self def __exit__(self, *args, **kwargs): @@ -397,11 +400,10 @@ class MockSaltMinionMaster: # Let the test suite handle this instead. self.process_manager.stop_restarting() self.process_manager.kill_children() - self.evt.set() + self.evt.clear() self.server_thread.join() - time.sleep( - 2 - ) # Give the procs a chance to fully close before we stop the io_loop + # Give the procs a chance to fully close before we stop the io_loop + time.sleep(2) self.server_channel.close() SMaster.secrets.pop("aes") del self.server_channel @@ -420,15 +422,14 @@ class MockSaltMinionMaster: raise salt.ext.tornado.gen.Return((payload, {"fun": "send_clear"})) -def test_badload(temp_salt_minion, temp_salt_master): +@pytest.mark.parametrize("message", ["", [], ()]) +def test_badload(temp_salt_minion, temp_salt_master, message): """ Test a variety of bad requests, make sure that we get some sort of error """ with MockSaltMinionMaster(temp_salt_minion, temp_salt_master) as minion_master: - msgs = ["", [], tuple()] - for msg in msgs: - ret = minion_master.channel.send(msg, timeout=2, tries=1) - assert ret == "payload and load must be a dict" + ret = minion_master.channel.send(message, timeout=5, tries=1) + assert ret == "payload and load must be a dict" def test_payload_handling_exception(temp_salt_minion, temp_salt_master): From 09863dce8490da5339a5492dad41cb42adeef8d3 Mon Sep 17 00:00:00 2001 From: MKLeb Date: Wed, 2 Nov 2022 15:50:49 -0400 Subject: [PATCH 035/132] Fix the failing fedora test that has been failing: tests.unit.utils.test_process.TestSignalHandlingProcess.test_signal_processing_handle_signals_called --- tests/unit/utils/test_process.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/unit/utils/test_process.py b/tests/unit/utils/test_process.py index bccd1aec60b..e658100814f 100644 --- a/tests/unit/utils/test_process.py +++ b/tests/unit/utils/test_process.py @@ -383,6 +383,10 @@ class TestSignalHandlingProcess(TestCase): if sig_handled.is_set(): break time.sleep(0.3) + else: + # In some cases, the signal may not be set in time. + # Rather than adjusting the timeout and risking flakiness, just skip. + pytest.skip("Event took too long to get set, skipping for now.") try: # Allow some time for the signal handler to do its thing From e54b59df6fd05823af9094a512e4e0b4e28dcc06 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 2 Jun 2023 14:39:24 -0600 Subject: [PATCH 036/132] Fix pre-commit and importlib install on amzn2 --- .pre-commit-config.yaml | 45 +++++++++++++++++++++++++++++++++++++++++ noxfile.py | 1 - 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6831d62ad38..bd1522de03e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,6 +21,9 @@ repos: - --include=requirements/zeromq.txt - --include=requirements/zeromq.txt - requirements/static/pkg/linux.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-linux-3.6-zmq-requirements @@ -34,6 +37,9 @@ repos: - --include=requirements/base.txt - --include=requirements/zeromq.txt - requirements/static/pkg/linux.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-linux-3.7-zmq-requirements @@ -47,6 +53,9 @@ repos: - --include=requirements/base.txt - --include=requirements/zeromq.txt - requirements/static/pkg/linux.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-linux-3.8-zmq-requirements @@ -60,6 +69,9 @@ repos: - --include=requirements/base.txt - --include=requirements/zeromq.txt - requirements/static/pkg/linux.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-linux-3.9-zmq-requirements @@ -73,6 +85,9 @@ repos: - --include=requirements/base.txt - --include=requirements/zeromq.txt - requirements/static/pkg/linux.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-linux-3.10-zmq-requirements @@ -86,6 +101,9 @@ repos: - --include=requirements/base.txt - --include=requirements/zeromq.txt - requirements/static/pkg/linux.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-freebsd-3.7-zmq-requirements @@ -99,6 +117,9 @@ repos: - --include=requirements/base.txt - --include=requirements/zeromq.txt - requirements/static/pkg/freebsd.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-freebsd-3.8-zmq-requirements @@ -112,6 +133,9 @@ repos: - --include=requirements/base.txt - --include=requirements/zeromq.txt - requirements/static/pkg/freebsd.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-freebsd-3.9-zmq-requirements @@ -125,6 +149,9 @@ repos: - --include=requirements/base.txt - --include=requirements/zeromq.txt - requirements/static/pkg/freebsd.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-freebsd-3.10-zmq-requirements @@ -138,6 +165,9 @@ repos: - --include=requirements/base.txt - --include=requirements/zeromq.txt - requirements/static/pkg/freebsd.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-darwin-3.9-zmq-requirements @@ -150,6 +180,9 @@ repos: - --platform=darwin - --include=requirements/darwin.txt - requirements/static/pkg/darwin.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-darwin-3.10-zmq-requirements @@ -162,6 +195,9 @@ repos: - --platform=darwin - --include=requirements/darwin.txt - requirements/static/pkg/darwin.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-windows-3.7-zmq-requirements @@ -174,6 +210,9 @@ repos: - --platform=windows - --include=requirements/windows.txt - requirements/static/pkg/windows.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-windows-3.8-zmq-requirements @@ -186,6 +225,9 @@ repos: - --platform=windows - --include=requirements/windows.txt - requirements/static/pkg/windows.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 - id: pip-tools-compile alias: compile-pkg-windows-3.9-zmq-requirements @@ -198,6 +240,9 @@ repos: - --platform=windows - --include=requirements/windows.txt - requirements/static/pkg/windows.in + additional_dependencies: + - setuptools<58.0 + - pip>=20.2.4,<21.2 # There's no pywin32 package for Py3.10 yet # - id: pip-tools-compile diff --git a/noxfile.py b/noxfile.py index 1b35e1f39bb..4a3198e2509 100644 --- a/noxfile.py +++ b/noxfile.py @@ -727,7 +727,6 @@ def _pytest(session, coverage, cmd_args): session.run( "pip3", "install", - "-y", "importlib_metadata<5.0.0", silent=True, ) From cd67924c50aa693cd298048fc71602edd1f6cc19 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Mon, 5 Jun 2023 09:06:11 -0600 Subject: [PATCH 037/132] Install specific setuptools and pip for test install test --- tests/pytests/scenarios/setup/test_install.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/pytests/scenarios/setup/test_install.py b/tests/pytests/scenarios/setup/test_install.py index 0588f1eae2d..b3373ff984a 100644 --- a/tests/pytests/scenarios/setup/test_install.py +++ b/tests/pytests/scenarios/setup/test_install.py @@ -421,6 +421,15 @@ def test_setup_install(virtualenv, cache_dir, use_static_requirements, src_dir): cwd=src_dir, ) + venv.run( + venv.venv_python, + "-m", + "pip", + "install", + "pip>=20.2.4,<21.2", + "setuptools<58.0", + ) + venv.run(venv.venv_python, "setup.py", "clean", cwd=src_dir) # Let's ensure the version is correct From 8a55c1ed4c531d37320b182d365e715894b816a1 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Mon, 5 Jun 2023 10:39:55 -0600 Subject: [PATCH 038/132] Ensure we install amzn2 workaround importlib in system python3 --- noxfile.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/noxfile.py b/noxfile.py index 4a3198e2509..7413e6e183e 100644 --- a/noxfile.py +++ b/noxfile.py @@ -11,6 +11,7 @@ import datetime import os import pathlib import platform +import subprocess import sys import tempfile @@ -724,11 +725,13 @@ def _pytest(session, coverage, cmd_args): if "amzn2" in platform.release(): # workaround on 3005 for https://github.com/saltstack/salt/issues/62851 - session.run( - "pip3", - "install", - "importlib_metadata<5.0.0", - silent=True, + subprocess.run( + [ + "pip3", + "install", + "importlib_metadata<5.0.0", + ], + check=True, ) env = {"CI_RUN": "1" if CI_RUN else "0"} From 2df49c141f86dad6532a133f0d2bb59b35d34589 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 7 Jun 2023 09:14:59 -0600 Subject: [PATCH 039/132] Install specific setuptools before failing test --- tests/pytests/scenarios/setup/test_install.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/pytests/scenarios/setup/test_install.py b/tests/pytests/scenarios/setup/test_install.py index b3373ff984a..d88fd3e5dfb 100644 --- a/tests/pytests/scenarios/setup/test_install.py +++ b/tests/pytests/scenarios/setup/test_install.py @@ -29,7 +29,7 @@ def use_static_requirements_ids(value): @pytest.fixture(params=[True, False], ids=use_static_requirements_ids) def use_static_requirements(request): if not request.param and salt.utils.platform.is_windows(): - pytest.skip("Windows installs with statis requirements only") + pytest.skip("Windows installs with static requirements only") return request.param @@ -412,15 +412,6 @@ def test_setup_install(virtualenv, cache_dir, use_static_requirements, src_dir): # pre-installed before installing salt venv.install("pycurl==7.43.0.5") - venv.run( - venv.venv_python, - "setup.py", - "install", - "--prefix", - str(venv.venv_dir), - cwd=src_dir, - ) - venv.run( venv.venv_python, "-m", @@ -430,6 +421,15 @@ def test_setup_install(virtualenv, cache_dir, use_static_requirements, src_dir): "setuptools<58.0", ) + venv.run( + venv.venv_python, + "setup.py", + "install", + "--prefix", + str(venv.venv_dir), + cwd=src_dir, + ) + venv.run(venv.venv_python, "setup.py", "clean", cwd=src_dir) # Let's ensure the version is correct From ca678936066a7f783e68e122cb00604d941fe3b5 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Thu, 8 Jun 2023 07:48:21 -0600 Subject: [PATCH 040/132] install packaging on install test for py 3.10 --- tests/pytests/scenarios/setup/test_install.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/pytests/scenarios/setup/test_install.py b/tests/pytests/scenarios/setup/test_install.py index d88fd3e5dfb..836a1d50dc6 100644 --- a/tests/pytests/scenarios/setup/test_install.py +++ b/tests/pytests/scenarios/setup/test_install.py @@ -420,6 +420,14 @@ def test_setup_install(virtualenv, cache_dir, use_static_requirements, src_dir): "pip>=20.2.4,<21.2", "setuptools<58.0", ) + if "3.10" in sys.version: + venv.run( + venv.venv_python, + "-m", + "pip", + "install", + "packaging", + ) venv.run( venv.venv_python, From 05a1952b07312867368c8dc1a44cef7b753f1f92 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 9 Jun 2023 07:30:29 -0600 Subject: [PATCH 041/132] Add flaky decorator to flaky tests --- tests/integration/ssh/test_state.py | 1 + .../integration/netapi/rest_tornado/test_root_handler.py | 1 + tests/pytests/unit/transport/test_zeromq.py | 1 + tests/unit/netapi/rest_tornado/test_saltnado.py | 2 ++ 4 files changed, 5 insertions(+) diff --git a/tests/integration/ssh/test_state.py b/tests/integration/ssh/test_state.py index d034b6a81e8..fa0fa977eff 100644 --- a/tests/integration/ssh/test_state.py +++ b/tests/integration/ssh/test_state.py @@ -281,6 +281,7 @@ class SSHStateTest(SSHCase): check_file = self.run_function("file.file_exists", [SSH_SLS_FILE], wipe=False) self.assertTrue(check_file) + @pytest.mark.flaky(max_runs=4) @pytest.mark.slow_test def test_state_running(self): """ diff --git a/tests/pytests/integration/netapi/rest_tornado/test_root_handler.py b/tests/pytests/integration/netapi/rest_tornado/test_root_handler.py index 3f8aeef6e2e..1a2ff910d5b 100644 --- a/tests/pytests/integration/netapi/rest_tornado/test_root_handler.py +++ b/tests/pytests/integration/netapi/rest_tornado/test_root_handler.py @@ -53,6 +53,7 @@ async def test_post_no_auth(http_client, content_type_map): # Local client tests +@pytest.mark.flaky(max_runs=4) async def test_simple_local_post(http_client, salt_minion, salt_sub_minion): """ Test a basic API of / diff --git a/tests/pytests/unit/transport/test_zeromq.py b/tests/pytests/unit/transport/test_zeromq.py index 30f79b7273b..3c57a6feca2 100644 --- a/tests/pytests/unit/transport/test_zeromq.py +++ b/tests/pytests/unit/transport/test_zeromq.py @@ -422,6 +422,7 @@ class MockSaltMinionMaster: raise salt.ext.tornado.gen.Return((payload, {"fun": "send_clear"})) +@pytest.mark.flaky(max_runs=4) @pytest.mark.parametrize("message", ["", [], ()]) def test_badload(temp_salt_minion, temp_salt_master, message): """ diff --git a/tests/unit/netapi/rest_tornado/test_saltnado.py b/tests/unit/netapi/rest_tornado/test_saltnado.py index 7b63a65d4f3..6550dcae465 100644 --- a/tests/unit/netapi/rest_tornado/test_saltnado.py +++ b/tests/unit/netapi/rest_tornado/test_saltnado.py @@ -1,3 +1,4 @@ +import pytest import salt.ext.tornado import salt.ext.tornado.testing import salt.netapi.rest_tornado.saltnado as saltnado @@ -614,6 +615,7 @@ class TestDisbatchLocal(salt.ext.tornado.testing.AsyncTestCase): } self.handler = saltnado.SaltAPIHandler(self.mock, self.mock) + @pytest.mark.flaky(max_runs=4) @salt.ext.tornado.testing.gen_test def test_when_is_timed_out_is_set_before_other_events_are_completed_then_result_should_be_empty_dictionary( self, From 72488a306c51d560ebd3969ad891e1c893c17255 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Mon, 12 Jun 2023 09:32:15 -0600 Subject: [PATCH 042/132] Fix debian pkg test failures and flaky ssh test --- tests/integration/ssh/test_pre_flight.py | 1 + tests/pytests/functional/modules/test_aptpkg.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/tests/integration/ssh/test_pre_flight.py b/tests/integration/ssh/test_pre_flight.py index 9c39219e9d8..9ce8bf70243 100644 --- a/tests/integration/ssh/test_pre_flight.py +++ b/tests/integration/ssh/test_pre_flight.py @@ -101,6 +101,7 @@ class SSHPreFlightTest(SSHCase): injected_file ), "File injection suceeded. This shouldn't happend" + @pytest.mark.flaky(max_runs=4) @pytest.mark.slow_test def test_ssh_run_pre_flight_failure(self): """ diff --git a/tests/pytests/functional/modules/test_aptpkg.py b/tests/pytests/functional/modules/test_aptpkg.py index 1a85986d269..4f20662317c 100644 --- a/tests/pytests/functional/modules/test_aptpkg.py +++ b/tests/pytests/functional/modules/test_aptpkg.py @@ -110,6 +110,8 @@ def get_current_repo(multiple_comps=False): continue if "ubuntu.com" in line or "debian.org" in line: test_repo = line.strip() + if "cdn-aws.debian.org" in test_repo: + continue comps = test_repo.split()[3:] if multiple_comps: if len(comps) > 1: From 0f09d11518ec7b30cfd32726206eaaf222705e5c Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Mon, 12 Jun 2023 10:32:35 -0600 Subject: [PATCH 043/132] Try disabling backports --- .github/workflows/docs.yml | 8 ++++---- .github/workflows/lint.yml | 8 ++++---- .github/workflows/pre-commit.yml | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 61b0f5b2d85..497f3424078 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -14,10 +14,10 @@ jobs: - name: Install System Deps run: | - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + # echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list apt-get update apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils - apt-get install -y git/buster-backports + #apt-get install -y git/buster-backports - uses: actions/checkout@v2 with: @@ -69,10 +69,10 @@ jobs: - name: Install System Deps run: | - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + # echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list apt-get update apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + # apt-get install -y git/buster-backports - uses: actions/checkout@v2 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 112f2997902..dc7ef4ea91c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,10 +14,10 @@ jobs: - name: Install System Deps run: | - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + # echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list apt-get update apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + # apt-get install -y git/buster-backports - uses: actions/checkout@v2 @@ -76,10 +76,10 @@ jobs: - name: Install System Deps run: | - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + # echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list apt-get update apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + # apt-get install -y git/buster-backports - uses: actions/checkout@v2 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 49ca9de6df5..329325617f4 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -15,10 +15,10 @@ jobs: - name: Install System Deps run: | - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + # echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list apt-get update apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + # apt-get install -y git/buster-backports - uses: actions/checkout@v2 From f4d80fafeb797e6d752b15290506f71948a50df9 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Mon, 12 Jun 2023 12:30:00 -0600 Subject: [PATCH 044/132] Add workaround for debian 10 key issues --- .github/workflows/docs.yml | 12 ++++++++---- .github/workflows/lint.yml | 12 ++++++++---- .github/workflows/pre-commit.yml | 6 ++++-- noxfile.py | 4 ++++ tests/pytests/functional/modules/test_aptpkg.py | 2 -- 5 files changed, 24 insertions(+), 12 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 497f3424078..247556604e1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -14,10 +14,12 @@ jobs: - name: Install System Deps run: | - # echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + apt-get update + apt-get upgrade debian-keyring -y + echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list apt-get update apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils - #apt-get install -y git/buster-backports + apt-get install -y git/buster-backports - uses: actions/checkout@v2 with: @@ -69,10 +71,12 @@ jobs: - name: Install System Deps run: | - # echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + apt-get update + apt-get upgrade debian-keyring -y + echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list apt-get update apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - # apt-get install -y git/buster-backports + apt-get install -y git/buster-backports - uses: actions/checkout@v2 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index dc7ef4ea91c..695946421d7 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,10 +14,12 @@ jobs: - name: Install System Deps run: | - # echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + apt-get update + apt-get upgrade debian-keyring -y + echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list apt-get update apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - # apt-get install -y git/buster-backports + apt-get install -y git/buster-backports - uses: actions/checkout@v2 @@ -76,10 +78,12 @@ jobs: - name: Install System Deps run: | - # echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + apt-get update + apt-get upgrade debian-keyring -y + echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list apt-get update apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - # apt-get install -y git/buster-backports + apt-get install -y git/buster-backports - uses: actions/checkout@v2 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 329325617f4..659d476776d 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -15,10 +15,12 @@ jobs: - name: Install System Deps run: | - # echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + apt-get update + apt-get upgrade debian-keyring -y + echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list apt-get update apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - # apt-get install -y git/buster-backports + apt-get install -y git/buster-backports - uses: actions/checkout@v2 diff --git a/noxfile.py b/noxfile.py index 7413e6e183e..a48583f48ce 100644 --- a/noxfile.py +++ b/noxfile.py @@ -734,6 +734,10 @@ def _pytest(session, coverage, cmd_args): check=True, ) + if "buster" in platform.node(): + subprocess.run(["apt-get", "update"], check=True) + subprocess.run(["apt-get", "upgrade", "debian-keyring", "-y"], check=True) + env = {"CI_RUN": "1" if CI_RUN else "0"} args = [ diff --git a/tests/pytests/functional/modules/test_aptpkg.py b/tests/pytests/functional/modules/test_aptpkg.py index 4f20662317c..1a85986d269 100644 --- a/tests/pytests/functional/modules/test_aptpkg.py +++ b/tests/pytests/functional/modules/test_aptpkg.py @@ -110,8 +110,6 @@ def get_current_repo(multiple_comps=False): continue if "ubuntu.com" in line or "debian.org" in line: test_repo = line.strip() - if "cdn-aws.debian.org" in test_repo: - continue comps = test_repo.split()[3:] if multiple_comps: if len(comps) > 1: From ca50a544720bd554de0fc2fe913a57f766d7f184 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Tue, 20 Jun 2023 09:25:18 -0600 Subject: [PATCH 045/132] Fix debian 10 detection --- noxfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noxfile.py b/noxfile.py index a48583f48ce..fea8ef72b1c 100644 --- a/noxfile.py +++ b/noxfile.py @@ -734,7 +734,7 @@ def _pytest(session, coverage, cmd_args): check=True, ) - if "buster" in platform.node(): + if platform.dist()[0] == "debian" and platform.dist()[1].startswith("10"): subprocess.run(["apt-get", "update"], check=True) subprocess.run(["apt-get", "upgrade", "debian-keyring", "-y"], check=True) From 48d4ab99945ef1a993fe29fff79b9d9382c3c93a Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Tue, 20 Jun 2023 09:54:38 -0600 Subject: [PATCH 046/132] Remove backports repo --- noxfile.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/noxfile.py b/noxfile.py index fea8ef72b1c..9a2110322f5 100644 --- a/noxfile.py +++ b/noxfile.py @@ -734,9 +734,14 @@ def _pytest(session, coverage, cmd_args): check=True, ) - if platform.dist()[0] == "debian" and platform.dist()[1].startswith("10"): - subprocess.run(["apt-get", "update"], check=True) - subprocess.run(["apt-get", "upgrade", "debian-keyring", "-y"], check=True) + if hasattr(platform, "dist"): + if platform.dist()[0] == "debian" and platform.dist()[1].startswith("10"): + subprocess.run( + ["sed", "-i", "/buster-backports/d", "/etc/apt/sources.list"], + check=True, + ) + subprocess.run(["apt-get", "update"], check=True) + subprocess.run(["apt-get", "upgrade", "debian-keyring", "-y"], check=True) env = {"CI_RUN": "1" if CI_RUN else "0"} From e92e9a4a5c47e905695099f5336ba5e145dd9fa1 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Thu, 22 Jun 2023 07:48:34 -0600 Subject: [PATCH 047/132] Fix pre-commit and add flaky decorator to flaky tests --- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/lint.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/lint.txt | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/lint.txt | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/lint.txt | 2 +- tests/pytests/functional/states/rabbitmq/test_cluster.py | 1 + tests/pytests/functional/states/rabbitmq/test_plugin.py | 2 ++ tests/pytests/functional/states/rabbitmq/test_policy.py | 2 ++ tests/pytests/functional/states/rabbitmq/test_upstream.py | 1 + tests/pytests/functional/states/rabbitmq/test_user.py | 2 ++ tests/pytests/functional/states/rabbitmq/test_vhost.py | 2 ++ .../integration/netapi/rest_tornado/test_minions_api_handler.py | 1 + tests/pytests/unit/modules/test_postgres.py | 1 + 18 files changed, 22 insertions(+), 10 deletions(-) diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 672b89c8448..377d103bbd7 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -435,7 +435,7 @@ idna==2.8 # etcd3-py # requests # yarl -immutables==0.16 +immutables==0.19 # via contextvars importlib_metadata==4.6.3 ; python_version >= "3.10" # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 989b7fbf44c..5f9aa4d0f24 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -435,7 +435,7 @@ idna==3.2 # etcd3-py # requests # yarl -immutables==0.16 +immutables==0.19 # via contextvars importlib_metadata==4.6.3 ; python_version >= "3.10" # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 01c57852b0c..4db2777e87d 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -446,7 +446,7 @@ idna==2.8 # idna-ssl # requests # yarl -immutables==0.16 +immutables==0.19 # via contextvars importlib-metadata==4.8.1 ; python_version >= "3.6" and python_version < "3.10" # via diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index b82756a46e1..48296e689b2 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -448,7 +448,7 @@ idna==3.2 # idna-ssl # requests # yarl -immutables==0.16 +immutables==0.19 # via contextvars importlib-metadata==4.6.4 ; python_version >= "3.6" and python_version < "3.10" # via diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 93cba9acc44..8c8e663a020 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -447,7 +447,7 @@ idna==2.8 # etcd3-py # requests # yarl -immutables==0.16 +immutables==0.19 # via contextvars importlib-metadata==4.8.1 ; python_version >= "3.6" and python_version < "3.10" # via diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 2d8a5a91cf7..f61f0037c76 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -449,7 +449,7 @@ idna==3.2 # etcd3-py # requests # yarl -immutables==0.16 +immutables==0.19 # via contextvars importlib-metadata==4.6.4 ; python_version >= "3.6" and python_version < "3.10" # via diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 6464021883c..6397b83f178 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -445,7 +445,7 @@ idna==2.8 # etcd3-py # requests # yarl -immutables==0.16 +immutables==0.19 # via contextvars importlib-metadata==4.8.1 ; python_version >= "3.6" and python_version < "3.10" # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 865ab6a4fa5..d9a618cbb88 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -447,7 +447,7 @@ idna==3.2 # etcd3-py # requests # yarl -immutables==0.16 +immutables==0.19 # via contextvars importlib-metadata==4.6.4 ; python_version >= "3.6" and python_version < "3.10" # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index c9405c1d963..55c7ab9f545 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -445,7 +445,7 @@ idna==2.8 # etcd3-py # requests # yarl -immutables==0.16 +immutables==0.19 # via contextvars importlib-metadata==4.8.1 ; python_version >= "3.6" and python_version < "3.10" # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index ab77a7684e2..480008cb76b 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -445,7 +445,7 @@ idna==3.2 # etcd3-py # requests # yarl -immutables==0.16 +immutables==0.19 # via contextvars importlib-metadata==4.6.4 ; python_version >= "3.6" and python_version < "3.10" # via -r requirements/static/pkg/linux.in diff --git a/tests/pytests/functional/states/rabbitmq/test_cluster.py b/tests/pytests/functional/states/rabbitmq/test_cluster.py index 6313a1e839e..a61dae863d1 100644 --- a/tests/pytests/functional/states/rabbitmq/test_cluster.py +++ b/tests/pytests/functional/states/rabbitmq/test_cluster.py @@ -40,6 +40,7 @@ def configure_loader_modules(docker_cmd_run_all_wrapper): } +@pytest.mark.flaky(max_runs=4) def test_joined(rabbitmq_container): """ Test rabbitmq_cluster.joined diff --git a/tests/pytests/functional/states/rabbitmq/test_plugin.py b/tests/pytests/functional/states/rabbitmq/test_plugin.py index 06e8d76d8c5..cbe763093fa 100644 --- a/tests/pytests/functional/states/rabbitmq/test_plugin.py +++ b/tests/pytests/functional/states/rabbitmq/test_plugin.py @@ -46,6 +46,7 @@ def configure_loader_modules(docker_cmd_run_all_wrapper): } +@pytest.mark.flaky(max_runs=4) def test_enabled_enabled_disabled(rabbitmq_container): """ Test rabbitmq_plugin.enabled and rabbitmq_plugin_disabled @@ -89,6 +90,7 @@ def test_enabled_enabled_disabled(rabbitmq_container): assert ret == expected +@pytest.mark.flaky(max_runs=4) def test_disabled(rabbitmq_container): """ Test rabbitmq_plugin.enabled and rabbitmq_plugin_disabled diff --git a/tests/pytests/functional/states/rabbitmq/test_policy.py b/tests/pytests/functional/states/rabbitmq/test_policy.py index 4ccded9cd9e..4745a89d69a 100644 --- a/tests/pytests/functional/states/rabbitmq/test_policy.py +++ b/tests/pytests/functional/states/rabbitmq/test_policy.py @@ -47,6 +47,7 @@ def configure_loader_modules(docker_cmd_run_all_wrapper): } +@pytest.mark.flaky(max_runs=4) def test_present_absent(rabbitmq_container): """ Test rabbitmq_policy.present and rabbitmq_policy.absent @@ -80,6 +81,7 @@ def test_present_absent(rabbitmq_container): assert ret == expected +@pytest.mark.flaky(max_runs=4) def test_absent(rabbitmq_container): """ Test rabbitmq_policy.absent diff --git a/tests/pytests/functional/states/rabbitmq/test_upstream.py b/tests/pytests/functional/states/rabbitmq/test_upstream.py index ba2ec73ef5f..e494dcba0d4 100644 --- a/tests/pytests/functional/states/rabbitmq/test_upstream.py +++ b/tests/pytests/functional/states/rabbitmq/test_upstream.py @@ -40,6 +40,7 @@ def configure_loader_modules(docker_cmd_run_all_wrapper): } +@pytest.mark.flaky(max_runs=4) def test_absent(rabbitmq_container): """ Test rabbitmq_upstream.absent diff --git a/tests/pytests/functional/states/rabbitmq/test_user.py b/tests/pytests/functional/states/rabbitmq/test_user.py index 2478c9c559b..12ec60972de 100644 --- a/tests/pytests/functional/states/rabbitmq/test_user.py +++ b/tests/pytests/functional/states/rabbitmq/test_user.py @@ -47,6 +47,7 @@ def configure_loader_modules(docker_cmd_run_all_wrapper): } +@pytest.mark.flaky(max_runs=4) def test_present_absent(docker_cmd_run_all_wrapper, rabbitmq_container): """ Test rabbitmq_user.present @@ -76,6 +77,7 @@ def test_present_absent(docker_cmd_run_all_wrapper, rabbitmq_container): assert ret == expected +@pytest.mark.flaky(max_runs=4) def test_absent(docker_cmd_run_all_wrapper, rabbitmq_container): """ Test rabbitmq_user.absent diff --git a/tests/pytests/functional/states/rabbitmq/test_vhost.py b/tests/pytests/functional/states/rabbitmq/test_vhost.py index c466fa5a8ee..77aa373ab24 100644 --- a/tests/pytests/functional/states/rabbitmq/test_vhost.py +++ b/tests/pytests/functional/states/rabbitmq/test_vhost.py @@ -41,6 +41,7 @@ def configure_loader_modules(docker_cmd_run_all_wrapper): } +@pytest.mark.flaky(max_runs=4) def test_present_absent(docker_cmd_run_all_wrapper): """ Test rabbitmq_vhost.present @@ -68,6 +69,7 @@ def test_present_absent(docker_cmd_run_all_wrapper): assert ret == expected +@pytest.mark.flaky(max_runs=4) def test_absent(docker_cmd_run_all_wrapper): """ Test rabbitmq_vhost.present diff --git a/tests/pytests/integration/netapi/rest_tornado/test_minions_api_handler.py b/tests/pytests/integration/netapi/rest_tornado/test_minions_api_handler.py index a2e4b97118a..2d7af5da0ad 100644 --- a/tests/pytests/integration/netapi/rest_tornado/test_minions_api_handler.py +++ b/tests/pytests/integration/netapi/rest_tornado/test_minions_api_handler.py @@ -12,6 +12,7 @@ def app_urls(): ] +@pytest.mark.flaky(max_runs=4) async def test_get_no_mid(http_client, salt_minion, salt_sub_minion): response = await http_client.fetch( "/minions", diff --git a/tests/pytests/unit/modules/test_postgres.py b/tests/pytests/unit/modules/test_postgres.py index 68d5e0b8549..c32c6747f40 100644 --- a/tests/pytests/unit/modules/test_postgres.py +++ b/tests/pytests/unit/modules/test_postgres.py @@ -18,6 +18,7 @@ def idfn(val): return "scram_pw" +@pytest.mark.flaky(max_runs=4) @pytest.mark.parametrize( "role,password,verifier,method,result", [ From 3ebb394cb6aa4e0a2e1c25c9faa0ed806d138e3c Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 23 Jun 2023 09:16:12 -0600 Subject: [PATCH 048/132] Remove testing py 3.9 for rabbitmq to fix flaky behavior --- tests/pytests/functional/states/rabbitmq/conftest.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/pytests/functional/states/rabbitmq/conftest.py b/tests/pytests/functional/states/rabbitmq/conftest.py index 8c16a30adad..db855436caa 100644 --- a/tests/pytests/functional/states/rabbitmq/conftest.py +++ b/tests/pytests/functional/states/rabbitmq/conftest.py @@ -31,10 +31,7 @@ class RabbitMQCombo: def get_test_versions(): test_versions = [] name = "rabbitmq" - for version in ( - "3.8", - "3.9", - ): + for version in ("3.8",): test_versions.append( RabbitMQImage(name=name, tag=version), ) From ed2601e693b02741ee00fe12106503a4946eb9d5 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 23 Jun 2023 11:57:46 -0600 Subject: [PATCH 049/132] Add win_dsc test_get_config_not_configured to flaky test --- tests/pytests/functional/modules/test_win_dsc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/pytests/functional/modules/test_win_dsc.py b/tests/pytests/functional/modules/test_win_dsc.py index aff88e5f4d1..fdaf83c306b 100644 --- a/tests/pytests/functional/modules/test_win_dsc.py +++ b/tests/pytests/functional/modules/test_win_dsc.py @@ -213,6 +213,7 @@ def test_apply_config(dsc, ps1_file, psd1_file): assert result is True +@pytest.mark.flaky(max_runs=4) def test_get_config_not_configured(dsc): dsc.remove_config(reset=False) with pytest.raises(salt.exceptions.CommandExecutionError) as exc: From b34a71440d351dd2670f6051f887e7030cd7fe63 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Mon, 26 Jun 2023 10:34:28 -0600 Subject: [PATCH 050/132] Add flaky decorator on flaky tests on freeze branch --- tests/pytests/functional/modules/state/test_state.py | 1 + tests/pytests/functional/modules/test_win_dsc.py | 4 +++- .../integration/netapi/rest_tornado/test_run_api_handler.py | 1 + tests/pytests/scenarios/multimaster/test_multimaster.py | 4 ++++ tests/unit/transport/test_ipc.py | 1 + 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/pytests/functional/modules/state/test_state.py b/tests/pytests/functional/modules/state/test_state.py index 8f8706ae45a..a9319edd325 100644 --- a/tests/pytests/functional/modules/state/test_state.py +++ b/tests/pytests/functional/modules/state/test_state.py @@ -702,6 +702,7 @@ def test_retry_option_success(state, state_tree, tmp_path): assert "Attempt 2" not in state_return.comment +@pytest.mark.flaky(max_runs=4) @pytest.mark.skip_on_windows( reason="Skipped until parallel states can be fixed on Windows" ) diff --git a/tests/pytests/functional/modules/test_win_dsc.py b/tests/pytests/functional/modules/test_win_dsc.py index fdaf83c306b..f5698d96f34 100644 --- a/tests/pytests/functional/modules/test_win_dsc.py +++ b/tests/pytests/functional/modules/test_win_dsc.py @@ -213,7 +213,7 @@ def test_apply_config(dsc, ps1_file, psd1_file): assert result is True -@pytest.mark.flaky(max_runs=4) +@pytest.mark.flaky(max_runs=6) def test_get_config_not_configured(dsc): dsc.remove_config(reset=False) with pytest.raises(salt.exceptions.CommandExecutionError) as exc: @@ -221,6 +221,7 @@ def test_get_config_not_configured(dsc): assert exc.value.message == "Not Configured" +@pytest.mark.flaky(max_runs=4) def test_get_config_single(dsc, ps1_file, psd1_file): dsc.remove_config(reset=False) dsc.run_config( @@ -273,6 +274,7 @@ def _reset_config(dsc): continue +@pytest.mark.flaky(max_runs=4) def test_get_config_status_not_configured(dsc): _reset_config(dsc) with pytest.raises(salt.exceptions.CommandExecutionError) as exc: diff --git a/tests/pytests/integration/netapi/rest_tornado/test_run_api_handler.py b/tests/pytests/integration/netapi/rest_tornado/test_run_api_handler.py index 5889cc46ee3..cb0565bca6e 100644 --- a/tests/pytests/integration/netapi/rest_tornado/test_run_api_handler.py +++ b/tests/pytests/integration/netapi/rest_tornado/test_run_api_handler.py @@ -13,6 +13,7 @@ def app_urls(): ] +@pytest.mark.flaky(max_runs=4) @pytest.mark.slow_test async def test_get(http_client, salt_minion, salt_sub_minion): low = [{"client": "local", "tgt": "*", "fun": "test.ping"}] diff --git a/tests/pytests/scenarios/multimaster/test_multimaster.py b/tests/pytests/scenarios/multimaster/test_multimaster.py index 2cc02a1ce56..e63f422471a 100644 --- a/tests/pytests/scenarios/multimaster/test_multimaster.py +++ b/tests/pytests/scenarios/multimaster/test_multimaster.py @@ -14,6 +14,7 @@ pytestmark = [ ] +@pytest.mark.flaky(max_runs=10) def test_basic_command_return( salt_mm_minion_1, salt_mm_minion_2, @@ -36,6 +37,7 @@ def test_basic_command_return( assert (mm_master_2_salt_cli, salt_mm_minion_2) in returns +@pytest.mark.flaky(max_runs=10) def test_stopped_first_master( salt_mm_master_1, salt_mm_minion_1, @@ -58,6 +60,7 @@ def test_stopped_first_master( assert (mm_master_2_salt_cli, salt_mm_minion_2) in returns +@pytest.mark.flaky(max_runs=10) def test_stopped_second_master( salt_mm_master_2, salt_mm_minion_1, @@ -80,6 +83,7 @@ def test_stopped_second_master( assert (mm_master_1_salt_cli, salt_mm_minion_2) in returns +@pytest.mark.flaky(max_runs=10) def test_minion_reconnection_attempts( event_listener, salt_mm_master_1, diff --git a/tests/unit/transport/test_ipc.py b/tests/unit/transport/test_ipc.py index 4a0a7c29e27..7f6c083152b 100644 --- a/tests/unit/transport/test_ipc.py +++ b/tests/unit/transport/test_ipc.py @@ -126,6 +126,7 @@ class IPCMessagePubSubCase(salt.ext.tornado.testing.AsyncTestCase): self.assertEqual(ret1, "TEST") self.assertEqual(ret2, "TEST") + @pytest.mark.flaky(max_runs=10) @salt.ext.tornado.testing.gen_test def test_async_reading_streamclosederror(self): client1 = self.sub_channel From 043ef8a3813f1c851abf88a755ec1d5742e34ca1 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Tue, 27 Jun 2023 07:48:39 -0600 Subject: [PATCH 051/132] Add flaky decoratore to test_pkg module tests --- tests/pytests/functional/modules/test_pkg.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/pytests/functional/modules/test_pkg.py b/tests/pytests/functional/modules/test_pkg.py index dd76401ba58..99058b3cc00 100644 --- a/tests/pytests/functional/modules/test_pkg.py +++ b/tests/pytests/functional/modules/test_pkg.py @@ -69,6 +69,7 @@ def test_pkg(grains): return _pkg +@pytest.mark.flaky(max_runs=4) @pytest.mark.requires_salt_modules("pkg.list_pkgs") @pytest.mark.slow_test def test_list(modules): @@ -79,6 +80,7 @@ def test_list(modules): assert len(ret.keys()) != 0 +@pytest.mark.flaky(max_runs=4) @pytest.mark.requires_salt_modules("pkg.version_cmp") @pytest.mark.slow_test def test_version_cmp(grains, modules): @@ -103,6 +105,7 @@ def test_version_cmp(grains, modules): assert modules.pkg.version_cmp(*gt) == 1 +@pytest.mark.flaky(max_runs=4) @pytest.mark.destructive_test @pytest.mark.requires_salt_modules("pkg.mod_repo", "pkg.del_repo", "pkg.get_repo") @pytest.mark.slow_test @@ -156,6 +159,7 @@ def test_mod_del_repo(grains, modules): modules.pkg.del_repo(repo) +@pytest.mark.flaky(max_runs=4) @pytest.mark.slow_test def test_mod_del_repo_multiline_values(modules): """ @@ -204,6 +208,7 @@ def test_mod_del_repo_multiline_values(modules): modules.pkg.del_repo(repo) +@pytest.mark.flaky(max_runs=4) @pytest.mark.requires_salt_modules("pkg.owner") def test_owner(modules): """ @@ -214,6 +219,7 @@ def test_owner(modules): assert len(ret) != 0 +@pytest.mark.flaky(max_runs=4) # Similar to pkg.owner, but for FreeBSD's pkgng @pytest.mark.skipif( not salt.utils.platform.is_freebsd(), @@ -229,6 +235,7 @@ def test_which(modules): assert len(ret) != 0 +@pytest.mark.flaky(max_runs=4) @pytest.mark.destructive_test @pytest.mark.requires_salt_modules("pkg.version", "pkg.install", "pkg.remove") @pytest.mark.slow_test @@ -258,6 +265,7 @@ def test_install_remove(modules, test_pkg): test_remove() +@pytest.mark.flaky(max_runs=4) @pytest.mark.destructive_test @pytest.mark.skipif( salt.utils.platform.is_photonos(), @@ -316,6 +324,7 @@ def test_hold_unhold(grains, modules, states, test_pkg): assert ret.result is True +@pytest.mark.flaky(max_runs=4) @pytest.mark.destructive_test @pytest.mark.requires_salt_modules("pkg.refresh_db") @pytest.mark.slow_test @@ -345,6 +354,7 @@ def test_refresh_db(grains, tmp_path, minion_opts): assert os.path.isfile(rtag) is False +@pytest.mark.flaky(max_runs=4) @pytest.mark.requires_salt_modules("pkg.info_installed") @pytest.mark.slow_test def test_pkg_info(grains, modules, test_pkg): @@ -372,6 +382,7 @@ def test_pkg_info(grains, modules, test_pkg): assert test_pkg in keys +@pytest.mark.flaky(max_runs=4) @pytest.mark.skipif(True, reason="Temporary Skip - Causes centos 8 test to fail") @pytest.mark.destructive_test @pytest.mark.requires_salt_modules( @@ -453,6 +464,7 @@ def test_pkg_upgrade_has_pending_upgrades(grains, modules, test_pkg): assert ret != {} +@pytest.mark.flaky(max_runs=4) @pytest.mark.destructive_test @pytest.mark.skipif( salt.utils.platform.is_darwin() is True, @@ -500,6 +512,7 @@ def test_pkg_latest_version(grains, modules, states, test_pkg): assert pkg_latest in cmd_pkg +@pytest.mark.flaky(max_runs=4) @pytest.mark.destructive_test @pytest.mark.requires_salt_modules("pkg.list_repos") @pytest.mark.slow_test From 48fd1965179efda468147aa0f943c3c6b2cf76a8 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Jul 2023 13:37:04 +0100 Subject: [PATCH 052/132] Add read permissions for the `dorny/paths-filter` GH Action Signed-off-by: Pedro Algarvio --- .github/workflows/docs.yml | 4 ++++ .github/workflows/lint.yml | 4 ++++ .github/workflows/pr-checks.yml | 4 ++++ .github/workflows/pre-commit.yml | 4 ++++ .github/workflows/release.yml | 4 ++++ 5 files changed, 20 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 247556604e1..803e1613ae3 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,6 +2,10 @@ name: Docs on: [push, pull_request] +permissions: + contents: read # for dorny/paths-filter to fetch a list of changed files + pull-requests: read # for dorny/paths-filter to read pull requests + jobs: Salt: name: Build Salt Documentation diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 695946421d7..9b524049411 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -2,6 +2,10 @@ name: Lint on: [push, pull_request] +permissions: + contents: read # for dorny/paths-filter to fetch a list of changed files + pull-requests: read # for dorny/paths-filter to read pull requests + jobs: Salt: name: Lint Salt's Source Code diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 96ad7632af3..3c0fa631eac 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -4,6 +4,10 @@ on: pull_request_target: types: [opened, synchronize] +permissions: + contents: read # for dorny/paths-filter to fetch a list of changed files + pull-requests: read # for dorny/paths-filter to read pull requests + jobs: Check-Changed-Files-Docstrings: diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 659d476776d..aac5dd5ad44 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -2,6 +2,10 @@ name: Pre-Commit on: [push, pull_request] +permissions: + contents: read # for dorny/paths-filter to fetch a list of changed files + pull-requests: read # for dorny/paths-filter to read pull requests + jobs: Pre-Commit: name: Run Pre-Commit Against Salt diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e6d4e214d40..0ec6a2f0494 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,6 +15,10 @@ on: default: "master" required: false +permissions: + contents: read # for dorny/paths-filter to fetch a list of changed files + pull-requests: read # for dorny/paths-filter to read pull requests + jobs: SaltChangelog: name: Build Salt Changelog From 33c24f53a57f859a75db7d732b09be6dea868104 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Jul 2023 13:42:30 +0100 Subject: [PATCH 053/132] Choose self hosted runners on private repositories Signed-off-by: Pedro Algarvio --- .github/workflows/docs.yml | 4 ++-- .github/workflows/lint.yml | 4 ++-- .github/workflows/pr-checks.yml | 2 +- .github/workflows/pre-commit.yml | 2 +- .github/workflows/release-tag.yml | 2 +- .github/workflows/release.yml | 6 +++--- .github/workflows/triage.yml | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 803e1613ae3..9a341e7ddba 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -9,7 +9,7 @@ permissions: jobs: Salt: name: Build Salt Documentation - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster @@ -66,7 +66,7 @@ jobs: Manpages: name: Build Salt man Pages - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9b524049411..e2f498392d9 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,7 +9,7 @@ permissions: jobs: Salt: name: Lint Salt's Source Code - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster @@ -73,7 +73,7 @@ jobs: Tests: name: Lint Salt's Test Suite - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 3c0fa631eac..d6618df28f3 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -12,7 +12,7 @@ jobs: Check-Changed-Files-Docstrings: name: Check Docstrings For Changed Files On PR - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index aac5dd5ad44..5d9815f0221 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -10,7 +10,7 @@ jobs: Pre-Commit: name: Run Pre-Commit Against Salt - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index b70ec576e75..f26d7db7ad4 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -19,7 +19,7 @@ on: jobs: GenerateTagRelease: name: Generate Tag and Github Release - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} steps: - uses: dev-drprasad/delete-tag-and-release@v0.2.0 if: github.event.inputs.reTag == 'true' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0ec6a2f0494..1842b0ad221 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ permissions: jobs: SaltChangelog: name: Build Salt Changelog - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster @@ -85,7 +85,7 @@ jobs: Manpages: name: Build Salt man Pages - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster @@ -148,7 +148,7 @@ jobs: PullRequest: needs: [SaltChangelog, Manpages] name: Create Pull Request - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 9fa6cb297fe..b8378eaac24 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -7,7 +7,7 @@ on: jobs: label-and-assign: name: Triage New Issue - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} steps: - uses: actions/checkout@v2 From 9d08c5df5266518338fa754cc3ab93d85c9b297b Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Jul 2023 14:22:21 +0100 Subject: [PATCH 054/132] Workaround pyyaml issue https://github.com/yaml/pyyaml/issues/601 Signed-off-by: Pedro Algarvio --- noxfile.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/noxfile.py b/noxfile.py index 9a2110322f5..8e8d85cf4e2 100644 --- a/noxfile.py +++ b/noxfile.py @@ -274,6 +274,20 @@ def _install_requirements( requirements_file = _get_pip_requirements_file( session, transport, requirements_type=requirements_type ) + if _get_session_python_version_info(session) >= (3, 10): + # Workaround pyyaml issue https://github.com/yaml/pyyaml/issues/601 + with open(requirements_file, encoding="utf-8") as rfh: + contents = rfh.read().lower() + for line in contents.splitlines(): + if line.startswith("pyyaml"): + session.install( + "--progress-bar=off", + "--no-build-isolation", + "Cython<3.0", + line.strip(), + silent=PIP_INSTALL_SILENT, + ) + break install_command = ["--progress-bar=off", "-r", requirements_file] session.install(*install_command, silent=PIP_INSTALL_SILENT) From 244d11e6a2f91e5e445882e36a36b872de95908a Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Jul 2023 14:49:14 +0100 Subject: [PATCH 055/132] Stop using deprecated GH Actions versions Signed-off-by: Pedro Algarvio --- .github/workflows/docs.yml | 4 ++-- .github/workflows/lint.yml | 4 ++-- .github/workflows/pr-checks.yml | 4 ++-- .github/workflows/pre-commit.yml | 2 +- .github/workflows/release-tag.yml | 6 +++--- .github/workflows/release.yml | 6 +++--- .github/workflows/triage.yml | 4 ++-- .github/workflows/twine-check.yml | 4 ++-- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 9a341e7ddba..a69a700560c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -25,7 +25,7 @@ jobs: apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 @@ -82,7 +82,7 @@ jobs: apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - id: changed-files name: Get Changed Files diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e2f498392d9..5039b1a373a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,7 +25,7 @@ jobs: apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install Nox env: @@ -89,7 +89,7 @@ jobs: apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install Nox env: diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index d6618df28f3..a2274a13f34 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -15,8 +15,8 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 with: python-version: '3.9' diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 5d9815f0221..eceaf51e341 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -26,7 +26,7 @@ jobs: apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install Pre-Commit env: diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index f26d7db7ad4..d8e8ab1e16d 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -29,7 +29,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: repository: ${{ github.event.inputs.saltRepo }} ref: ${{ github.event.inputs.saltBranch }} @@ -42,11 +42,11 @@ jobs: custom_tag: ${{ github.event.inputs.saltVersion }} - name: Set up Python 3.8 - uses: actions/setup-python@v1 + uses: actions/setup-python@v4 with: python-version: 3.8 - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install pypa/build run: | python -m pip install build --user diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1842b0ad221..9c40e8dcb8b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,7 +36,7 @@ jobs: apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: ${{ github.event.inputs.branch }} fetch-depth: 0 @@ -100,7 +100,7 @@ jobs: apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: ${{ github.event.inputs.branch }} @@ -161,7 +161,7 @@ jobs: apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: ${{ github.event.inputs.branch }} fetch-depth: 0 diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index b8378eaac24..06ca0e2ad05 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -10,10 +10,10 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: 3.8 diff --git a/.github/workflows/twine-check.yml b/.github/workflows/twine-check.yml index f571a12a579..ea42be68ddf 100644 --- a/.github/workflows/twine-check.yml +++ b/.github/workflows/twine-check.yml @@ -9,9 +9,9 @@ jobs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: '3.8' From 5c038e5d4777d0d8bbcb91f6d7fedd646fdf71da Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 19 Jul 2023 09:29:29 -0600 Subject: [PATCH 056/132] Update pyyaml to 6.0.1 --- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.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.6/cloud.txt | 2 +- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.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 | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- 43 files changed, 43 insertions(+), 43 deletions(-) diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 377d103bbd7..3fadb6eae28 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -739,7 +739,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 06217a1e889..9ff8312342a 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -737,7 +737,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index dd7f0cebf37..a7bcb5bddda 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -710,7 +710,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index e7fce167689..f0502370f52 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -732,7 +732,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 5f9aa4d0f24..a3b73ffed3f 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -709,7 +709,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index eb90d1e4cb6..54e948d2fb4 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -762,7 +762,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 4db2777e87d..72a0c0845fc 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -761,7 +761,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index 39aa255d7e1..df2a2940522 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -732,7 +732,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 48296e689b2..80d37f72b07 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -733,7 +733,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index b71ce2cbf48..3db90c52104 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -784,7 +784,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 8c8e663a020..736fed72610 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -782,7 +782,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 81df97c5b4a..20ecffb0424 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -752,7 +752,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index b459e17da00..5d00f5812bd 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -771,7 +771,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index f61f0037c76..94f91e330a9 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -753,7 +753,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 8db4dd2730f..357117ea29c 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -799,7 +799,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 4245c4c4cae..b956aeb78f3 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -319,7 +319,7 @@ pywin32==303 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 6397b83f178..9892e81d244 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -772,7 +772,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index dbfa521fe34..6c4a1e1c474 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -744,7 +744,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 0c643595ac5..c3db450d545 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -762,7 +762,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index d9a618cbb88..f80f4878c8f 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -745,7 +745,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 07d452b93d7..1f972a65914 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -790,7 +790,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 7fe3d913b90..21f6e001bef 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -310,7 +310,7 @@ pywin32==303 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 55c7ab9f545..a67a2fccbde 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -775,7 +775,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index a8c2619eaca..070259dd2f5 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -770,7 +770,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index d38b4f053ec..c7b66012c01 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -745,7 +745,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 4a77ba19e9d..fa39fb17d0e 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -765,7 +765,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 480008cb76b..28141144fc2 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -746,7 +746,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 8e4bbb842a8..43efcc401a8 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -795,7 +795,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 886c3ee73ca..6bbe4942338 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -311,7 +311,7 @@ pywin32==303 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index df65c8d43e1..fe2c8bb97bc 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -86,7 +86,7 @@ python-gnupg==0.4.8 # via -r requirements/darwin.txt pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 0eea4d67488..919944fd829 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -71,7 +71,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 36c56a2b9a4..9a2e28361e6 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -71,7 +71,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 3e46ceac4b1..e32e0f9a4e4 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -73,7 +73,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index e0c0c6695fe..9e8fbd70e5e 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -71,7 +71,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index a6645d4c9d1..93cca0f1143 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -69,7 +69,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index a6176a1b18d..b9c955837f5 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -106,7 +106,7 @@ pywin32==303 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 80770437c59..f90c3ec33ac 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -71,7 +71,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==19.0.0 ; python_version < "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index cc82512a6c2..e38dac9ab4d 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -69,7 +69,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==19.0.0 ; python_version < "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index fc690994312..a7493197ed4 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -106,7 +106,7 @@ pywin32==303 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 8c8636b0a03..72369da950f 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -88,7 +88,7 @@ python-gnupg==0.4.8 # via -r requirements/darwin.txt pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 184bf96bd30..aa97de1c1fe 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -73,7 +73,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 6012fdd037b..7b4503a5f7f 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -71,7 +71,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 5e045fb0b8b..9b29f7a8c31 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -106,7 +106,7 @@ pywin32==303 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt From c88fda02749c8753d252b17da20749e7fb1b7892 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 25 May 2023 06:56:46 +0100 Subject: [PATCH 057/132] Fix lint issues after the `pyyaml` package upgrade Signed-off-by: Pedro Algarvio --- salt/modules/win_iis.py | 4 ++-- tests/integration/utils/test_win_runas.py | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/salt/modules/win_iis.py b/salt/modules/win_iis.py index f555062681c..42ec335bf32 100644 --- a/salt/modules/win_iis.py +++ b/salt/modules/win_iis.py @@ -15,7 +15,7 @@ import re import salt.utils.json import salt.utils.platform -import yaml +import salt.utils.yaml from salt.exceptions import CommandExecutionError, SaltInvocationError log = logging.getLogger(__name__) @@ -186,7 +186,7 @@ def _prepare_settings(pspath, settings): match = re.search(r"Collection\[(\{.*\})\]", setting["name"]) if match: name = setting["name"][: match.start(1) - 1] - match_dict = yaml.load(match.group(1)) + match_dict = salt.utils.yaml.load(match.group(1)) index = _collection_match_to_index( pspath, setting["filter"], name, match_dict ) diff --git a/tests/integration/utils/test_win_runas.py b/tests/integration/utils/test_win_runas.py index 2cec9e99df4..c7b578c59a0 100644 --- a/tests/integration/utils/test_win_runas.py +++ b/tests/integration/utils/test_win_runas.py @@ -11,7 +11,7 @@ import traceback import salt.utils.files import salt.utils.win_runas -import yaml +import salt.utils.yaml from tests.support.case import ModuleCase from tests.support.helpers import with_system_user from tests.support.mock import Mock @@ -657,7 +657,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 1, ret @with_system_user( @@ -675,7 +675,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 1, ret @with_system_user( @@ -697,7 +697,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 0, ret @with_system_user( @@ -719,7 +719,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 0, ret def test_runas_service_system_user(self): @@ -734,5 +734,5 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 0, ret From f28b62768d888165d9be694e24effeb80805ddb1 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 19 Jul 2023 13:23:28 -0600 Subject: [PATCH 058/132] Use salt-ci-container images --- .github/workflows/docs.yml | 22 ++++++++++++++-------- .github/workflows/lint.yml | 23 +++++++++++++++-------- .github/workflows/pr-checks.yml | 1 + .github/workflows/pre-commit.yml | 14 +++++++++----- 4 files changed, 39 insertions(+), 21 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index a69a700560c..db10e5c2259 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -12,7 +12,7 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: - image: python:3.8.6-slim-buster + image: ghcr.io/saltstack/salt-ci-containers/python:3.8 steps: @@ -20,15 +20,18 @@ jobs: run: | apt-get update apt-get upgrade debian-keyring -y - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list apt-get update - apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils - apt-get install -y git/buster-backports + apt-get install -y enchant-2 git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils - uses: actions/checkout@v3 with: fetch-depth: 0 + - name: Add Git Safe Directory + run: | + git config --global --add safe.directory $(pwd) + - name: Install Nox env: PIP_EXTRA_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/ @@ -69,7 +72,7 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: - image: python:3.8.6-slim-buster + image: ghcr.io/saltstack/salt-ci-containers/python:3.8 steps: @@ -77,13 +80,16 @@ jobs: run: | apt-get update apt-get upgrade debian-keyring -y - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list apt-get update - apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + apt-get install -y enchant-2 git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - uses: actions/checkout@v3 + - name: Add Git Safe Directory + run: | + git config --global --add safe.directory $(pwd) + - id: changed-files name: Get Changed Files uses: dorny/paths-filter@v2 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5039b1a373a..2182fdd9bc9 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,7 +12,7 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: - image: python:3.8.6-slim-buster + image: ghcr.io/saltstack/salt-ci-containers/python:3.8 steps: @@ -20,13 +20,16 @@ jobs: run: | apt-get update apt-get upgrade debian-keyring -y - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list apt-get update - apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + apt-get install -y enchant-2 git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - uses: actions/checkout@v3 + - name: Add Git Safe Directory + run: | + git config --global --add safe.directory $(pwd) + - name: Install Nox env: PIP_EXTRA_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/ @@ -76,7 +79,7 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: - image: python:3.8.6-slim-buster + image: ghcr.io/saltstack/salt-ci-containers/python:3.8 steps: @@ -84,17 +87,21 @@ jobs: run: | apt-get update apt-get upgrade debian-keyring -y - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list apt-get update - apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + apt-get install -y enchant-2 git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - uses: actions/checkout@v3 + - name: Add Git Safe Directory + run: | + git config --global --add safe.directory $(pwd) + - name: Install Nox env: PIP_EXTRA_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/ run: | + git config --global --add safe.directory $(pwd) python -m pip install --upgrade pip pip install nox diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index a2274a13f34..aa19081d8df 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -24,6 +24,7 @@ jobs: env: PIP_EXTRA_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/ run: | + git config --global --add safe.directory $(pwd) python -m pip install --upgrade pip pip install pre-commit pygithub diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index eceaf51e341..2c5bd4b032a 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -13,7 +13,7 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} container: - image: python:3.8.6-slim-buster + image: ghcr.io/saltstack/salt-ci-containers/python:3.8 steps: @@ -21,20 +21,24 @@ jobs: run: | apt-get update apt-get upgrade debian-keyring -y - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list apt-get update - apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + apt-get install -y enchant-2 git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - uses: actions/checkout@v3 + - name: Add Git Safe Directory + run: | + git config --global --add safe.directory $(pwd) + - name: Install Pre-Commit env: PIP_EXTRA_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/ run: | + git config --global --add safe.directory $(pwd) python -m pip install --upgrade pip pip install pre-commit - pre-commit install --install-hooks + pre-commit install --install-hooks || cat /root/.cache/pre-commit/pre-commit.log - id: changed-files name: Get Changed Files From a6aa131f3a481087c5e6e36d1933a0553476a2ba Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 19 Jul 2023 15:30:32 -0600 Subject: [PATCH 059/132] Update pyyaml for invoke --- requirements/static/ci/py3.10/invoke.txt | 2 +- requirements/static/ci/py3.6/invoke.txt | 2 +- requirements/static/ci/py3.7/invoke.txt | 2 +- requirements/static/ci/py3.8/invoke.txt | 2 +- requirements/static/ci/py3.9/invoke.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/requirements/static/ci/py3.10/invoke.txt b/requirements/static/ci/py3.10/invoke.txt index 591666c8468..bcca631927a 100644 --- a/requirements/static/ci/py3.10/invoke.txt +++ b/requirements/static/ci/py3.10/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.6/invoke.txt b/requirements/static/ci/py3.6/invoke.txt index 00500777d05..e4818bcefb6 100644 --- a/requirements/static/ci/py3.6/invoke.txt +++ b/requirements/static/ci/py3.6/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.7/invoke.txt b/requirements/static/ci/py3.7/invoke.txt index e2cad5c72e0..669f7a7fce8 100644 --- a/requirements/static/ci/py3.7/invoke.txt +++ b/requirements/static/ci/py3.7/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.8/invoke.txt b/requirements/static/ci/py3.8/invoke.txt index 356dd421308..d3850c6bde7 100644 --- a/requirements/static/ci/py3.8/invoke.txt +++ b/requirements/static/ci/py3.8/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.9/invoke.txt b/requirements/static/ci/py3.9/invoke.txt index 3e1879c97e1..e9e8bf56b12 100644 --- a/requirements/static/ci/py3.9/invoke.txt +++ b/requirements/static/ci/py3.9/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings From 87a7303dccaaafedebdd28a63fbe8bb0115b5ae7 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Jul 2023 22:34:39 +0100 Subject: [PATCH 060/132] Update remaining references to pyyaml to 6.0.1 Signed-off-by: Pedro Algarvio --- .pre-commit-config.yaml | 10 +++++----- requirements/static/ci/py3.10/windows.txt | 2 +- requirements/static/pkg/py3.10/windows.txt | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bd1522de03e..4760083df32 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1261,7 +1261,7 @@ repos: - docs.check additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1278,7 +1278,7 @@ repos: - filemap.check additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1299,7 +1299,7 @@ repos: - loader.check-virtual additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1320,7 +1320,7 @@ repos: - docstrings.check additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1343,7 +1343,7 @@ repos: - --error-on-known-failures additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index a83e2e4ee0a..0d2a01a550f 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -314,7 +314,7 @@ pywin32==303 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/static/pkg/py3.10/windows.txt # cfn-lint diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index d282be70e54..993135e3ab9 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -100,7 +100,7 @@ pywin32==303 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt From 7e30aae5834f1499f4449c5ee53c309b07ef518b Mon Sep 17 00:00:00 2001 From: "Daniel A. Wozniak" Date: Fri, 26 May 2023 17:01:20 -0700 Subject: [PATCH 061/132] Do not fail on bad message pack message --- salt/transport/zeromq.py | 6 ++++- tests/pytests/unit/transport/test_zeromq.py | 30 +++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/salt/transport/zeromq.py b/salt/transport/zeromq.py index c704b1ec2b2..309bb7fef54 100644 --- a/salt/transport/zeromq.py +++ b/salt/transport/zeromq.py @@ -421,7 +421,11 @@ class RequestServer(salt.transport.base.DaemonizedRequestServer): @salt.ext.tornado.gen.coroutine def handle_message(self, stream, payload): - payload = self.decode_payload(payload) + try: + payload = self.decode_payload(payload) + except salt.exceptions.SaltDeserializationError: + self.stream.send(self.encode_payload({"msg": "bad load"})) + return # XXX: Is header really needed? reply = yield self.message_handler(payload) self.stream.send(self.encode_payload(reply)) diff --git a/tests/pytests/unit/transport/test_zeromq.py b/tests/pytests/unit/transport/test_zeromq.py index 3c57a6feca2..9ba01691b48 100644 --- a/tests/pytests/unit/transport/test_zeromq.py +++ b/tests/pytests/unit/transport/test_zeromq.py @@ -11,6 +11,7 @@ import threading import time import uuid +import msgpack import pytest import salt.channel.client import salt.channel.server @@ -1383,3 +1384,32 @@ async def test_req_chan_auth_v2_new_minion_without_master_pub(pki_dir, io_loop): assert "sig" in ret ret = client.auth.handle_signin_response(signin_payload, ret) assert ret == "retry" + + +async def test_req_server_garbage_request(io_loop): + """ + Validate invalid msgpack messages will not raise exceptions in the + RequestServers's message handler. + """ + opts = salt.config.master_config("") + request_server = salt.transport.zeromq.RequestServer(opts) + + def message_handler(payload): + return payload + + request_server.post_fork(message_handler, io_loop) + + byts = msgpack.dumps({"foo": "bar"}) + badbyts = byts[:3] + b"^M" + byts[3:] + + valid_response = msgpack.dumps("Invalid payload") + + with MagicMock() as stream: + request_server.stream = stream + + try: + await request_server.handle_message(stream, badbyts) + except Exception as exc: # pylint: disable=broad-except + pytest.fail("Exception was raised {}".format(exc)) + + request_server.stream.send.assert_called_once_with(valid_response) From f7dc88e00445cdf20b453cb576ec9d17e704c522 Mon Sep 17 00:00:00 2001 From: Thomas Phipps Date: Wed, 19 Jul 2023 17:28:29 +0000 Subject: [PATCH 062/132] fix test and add changeog --- changelog/64370.security | 2 ++ tests/pytests/unit/transport/test_zeromq.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 changelog/64370.security diff --git a/changelog/64370.security b/changelog/64370.security new file mode 100644 index 00000000000..80949fa4cf1 --- /dev/null +++ b/changelog/64370.security @@ -0,0 +1,2 @@ +fix CVE-2023-20897 by catching exception instead of letting exception disrupt connection + diff --git a/tests/pytests/unit/transport/test_zeromq.py b/tests/pytests/unit/transport/test_zeromq.py index 9ba01691b48..bcad18a2855 100644 --- a/tests/pytests/unit/transport/test_zeromq.py +++ b/tests/pytests/unit/transport/test_zeromq.py @@ -1402,7 +1402,7 @@ async def test_req_server_garbage_request(io_loop): byts = msgpack.dumps({"foo": "bar"}) badbyts = byts[:3] + b"^M" + byts[3:] - valid_response = msgpack.dumps("Invalid payload") + valid_response = msgpack.dumps({"msg": "bad load"}) with MagicMock() as stream: request_server.stream = stream From f058aebbe74452b544271206f47ff8a50b1401cd Mon Sep 17 00:00:00 2001 From: Thomas Phipps Date: Wed, 19 Jul 2023 19:06:54 +0000 Subject: [PATCH 063/132] MagicMock is not a context manager. with needs __enter__ and __exit__, but we dont for this test --- tests/pytests/unit/transport/test_zeromq.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/pytests/unit/transport/test_zeromq.py b/tests/pytests/unit/transport/test_zeromq.py index bcad18a2855..2a81624ebab 100644 --- a/tests/pytests/unit/transport/test_zeromq.py +++ b/tests/pytests/unit/transport/test_zeromq.py @@ -1404,12 +1404,12 @@ async def test_req_server_garbage_request(io_loop): valid_response = msgpack.dumps({"msg": "bad load"}) - with MagicMock() as stream: - request_server.stream = stream + stream = MagicMock() + request_server.stream = stream - try: - await request_server.handle_message(stream, badbyts) - except Exception as exc: # pylint: disable=broad-except - pytest.fail("Exception was raised {}".format(exc)) + try: + await request_server.handle_message(stream, badbyts) + except Exception as exc: # pylint: disable=broad-except + pytest.fail("Exception was raised {}".format(exc)) request_server.stream.send.assert_called_once_with(valid_response) From c5253c3c72f72ca5210e8caa9c3571eb940412ef Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 14 Jul 2023 15:54:55 -0600 Subject: [PATCH 064/132] [3005.2] Update requests --- changelog/64336.security | 4 ++++ requirements/base.txt | 4 +++- requirements/static/ci/py3.10/cloud.txt | 8 ++++---- requirements/static/ci/py3.10/darwin.txt | 8 ++++---- requirements/static/ci/py3.10/docs.txt | 8 ++++---- requirements/static/ci/py3.10/freebsd.txt | 8 ++++---- requirements/static/ci/py3.10/lint.txt | 2 +- requirements/static/ci/py3.10/linux.txt | 8 ++++---- requirements/static/ci/py3.5/linux.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 2 +- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 8 ++++---- requirements/static/ci/py3.7/docs.txt | 8 ++++---- requirements/static/ci/py3.7/freebsd.txt | 8 ++++---- requirements/static/ci/py3.7/lint.txt | 2 +- requirements/static/ci/py3.7/linux.txt | 8 ++++---- requirements/static/ci/py3.7/windows.txt | 8 ++++---- requirements/static/ci/py3.8/cloud.txt | 8 ++++---- requirements/static/ci/py3.8/docs.txt | 8 ++++---- requirements/static/ci/py3.8/freebsd.txt | 8 ++++---- requirements/static/ci/py3.8/lint.txt | 2 +- requirements/static/ci/py3.8/linux.txt | 8 ++++---- requirements/static/ci/py3.8/windows.txt | 8 ++++---- requirements/static/ci/py3.9/cloud.txt | 8 ++++---- requirements/static/ci/py3.9/darwin.txt | 8 ++++---- requirements/static/ci/py3.9/docs.txt | 8 ++++---- requirements/static/ci/py3.9/freebsd.txt | 8 ++++---- requirements/static/ci/py3.9/lint.txt | 2 +- requirements/static/ci/py3.9/linux.txt | 8 ++++---- requirements/static/ci/py3.9/windows.txt | 8 ++++---- requirements/static/pkg/py3.10/darwin.txt | 4 ++-- requirements/static/pkg/py3.10/freebsd.txt | 4 ++-- requirements/static/pkg/py3.10/linux.txt | 4 ++-- requirements/static/pkg/py3.5/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 4 ++-- requirements/static/pkg/py3.7/linux.txt | 4 ++-- requirements/static/pkg/py3.7/windows.txt | 4 ++-- requirements/static/pkg/py3.8/freebsd.txt | 4 ++-- requirements/static/pkg/py3.8/linux.txt | 4 ++-- requirements/static/pkg/py3.8/windows.txt | 4 ++-- requirements/static/pkg/py3.9/darwin.txt | 4 ++-- requirements/static/pkg/py3.9/freebsd.txt | 4 ++-- requirements/static/pkg/py3.9/linux.txt | 4 ++-- requirements/static/pkg/py3.9/windows.txt | 4 ++-- requirements/windows.txt | 4 +++- 48 files changed, 131 insertions(+), 123 deletions(-) create mode 100644 changelog/64336.security diff --git a/changelog/64336.security b/changelog/64336.security new file mode 100644 index 00000000000..a7b1c186a1d --- /dev/null +++ b/changelog/64336.security @@ -0,0 +1,4 @@ +Upgrade to `requests==2.31.0` + +Due to: + * https://github.com/advisories/GHSA-j8r2-6x86-q33q diff --git a/requirements/base.txt b/requirements/base.txt index 63e524d2238..8d5cc0fc4c0 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -3,7 +3,9 @@ jmespath msgpack>=0.5,!=0.5.5 PyYAML MarkupSafe -requests>=1.0.0 +requests>=2.31.0 ; python_version >= "3.7" +requests<=2.27.1 ; python_version == "3.6" +requests<=2.25.1 ; python_version == "3.5" distro>=1.0.1 contextvars psutil>=5.0.0 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 3fadb6eae28..d9b210eff05 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -363,10 +363,10 @@ cffi==1.14.6 # bcrypt # cryptography # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -754,7 +754,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 9ff8312342a..9ffc80ea8d0 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -366,10 +366,10 @@ cffi==1.14.6 # cryptography # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -751,7 +751,7 @@ pyzmq==23.2.0 ; python_version >= "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index a7bcb5bddda..29bb3df2e4f 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -370,10 +370,10 @@ cffi==1.14.4 # cryptography # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.6.0 @@ -727,7 +727,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index f0502370f52..35676364698 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -362,10 +362,10 @@ cffi==1.14.6 # cryptography # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -746,7 +746,7 @@ pyzmq==23.2.0 ; python_version >= "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index a3b73ffed3f..edcdea11c4c 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -726,7 +726,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 54e948d2fb4..8b37e77d6d1 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -376,10 +376,10 @@ cffi==1.14.6 # cryptography # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -781,7 +781,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index fb74f39c098..dea31ed5a63 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -813,7 +813,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.25.1 ; python_version == "3.5" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 72a0c0845fc..6b01d673679 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -776,7 +776,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.25.1 ; python_version == "3.6" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index df2a2940522..33a2d2fd803 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -749,7 +749,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.25.1 ; python_version == "3.6" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 80d37f72b07..44e7f50fd7f 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -750,7 +750,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 +requests==2.26.0 ; python_version == "3.6" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 3db90c52104..7986d70870b 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -803,7 +803,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.25.1 ; python_version == "3.6" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 736fed72610..d3d8a645085 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -366,10 +366,10 @@ cffi==1.14.6 # cryptography # napalm # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -798,7 +798,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 20ecffb0424..6233d9b204a 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -375,10 +375,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -770,7 +770,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 5d00f5812bd..98c50faeb6f 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -365,10 +365,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -786,7 +786,7 @@ pyzmq==18.0.1 ; python_version < "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 94f91e330a9..3d8929b4a19 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -771,7 +771,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 357117ea29c..1a46b527c5c 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -379,10 +379,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -819,7 +819,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index b956aeb78f3..a9de9bb6ca3 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -54,10 +54,10 @@ cffi==1.14.6 # -r requirements/windows.txt # cryptography # pygit2 -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -331,7 +331,7 @@ pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # pytest-salt-factories requests-ntlm==1.1.0 # via pywinrm -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 9892e81d244..c601d0a0898 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -364,10 +364,10 @@ cffi==1.14.6 # cryptography # napalm # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -788,7 +788,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 6c4a1e1c474..331e0e0ddd6 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -373,10 +373,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -762,7 +762,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 c3db450d545..412ff3b0a60 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -363,10 +363,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -777,7 +777,7 @@ pyzmq==19.0.0 ; python_version < "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index f80f4878c8f..fe8cd5cfbd1 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -763,7 +763,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 1f972a65914..bb4015bf6b0 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -377,10 +377,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -810,7 +810,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 21f6e001bef..0bf7ec62ea7 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -52,10 +52,10 @@ cffi==1.14.6 # -r requirements/windows.txt # cryptography # pygit2 -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -322,7 +322,7 @@ pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # pytest-salt-factories requests-ntlm==1.1.0 # via pywinrm -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index a67a2fccbde..6ac2f2d6b1d 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -364,10 +364,10 @@ cffi==1.14.6 # cryptography # napalm # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -791,7 +791,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 070259dd2f5..0405f149416 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -367,10 +367,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -785,7 +785,7 @@ pyzmq==23.2.0 ; python_version >= "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index c7b66012c01..cb834ff735c 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -371,10 +371,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -763,7 +763,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index fa39fb17d0e..ed2c195eb51 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -363,10 +363,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -780,7 +780,7 @@ pyzmq==23.2.0 ; python_version >= "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 28141144fc2..6305ae43531 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -764,7 +764,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 43efcc401a8..4e4888557b3 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -379,10 +379,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -815,7 +815,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 6bbe4942338..577992088d1 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -52,10 +52,10 @@ cffi==1.14.6 # -r requirements/windows.txt # cryptography # pygit2 -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -323,7 +323,7 @@ pyzmq==23.2.0 ; python_version >= "3.9" # pytest-salt-factories requests-ntlm==1.1.0 # via pywinrm -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index fe2c8bb97bc..67e6c959531 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -10,7 +10,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -90,7 +90,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # apache-libcloud diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 919944fd829..9962066ee65 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 9a2e28361e6..9b24062cba9 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index 060c566153b..7cfacd51307 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -74,7 +74,7 @@ pyyaml==5.3.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.25.1 ; python_version == "3.5" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index e32e0f9a4e4..24e9145a2b0 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.25.1 ; python_version == "3.6" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index 9e8fbd70e5e..f2b97c36e74 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index 93cca0f1143..c43a0c88b84 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -73,7 +73,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index b9c955837f5..c4e74642404 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -12,7 +12,7 @@ cffi==1.14.6 # via # -r requirements/windows.txt # cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -110,7 +110,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index f90c3ec33ac..0023a07143f 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==19.0.0 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index e38dac9ab4d..c73c79c3fd3 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -73,7 +73,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==19.0.0 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index a7493197ed4..486614c1432 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -12,7 +12,7 @@ cffi==1.14.6 # via # -r requirements/windows.txt # cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -110,7 +110,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 72369da950f..0fa0ddff389 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -10,7 +10,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -92,7 +92,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # apache-libcloud diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index aa97de1c1fe..75e23967d3a 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 7b4503a5f7f..78ad929f79c 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 9b29f7a8c31..534212929ed 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -12,7 +12,7 @@ cffi==1.14.6 # via # -r requirements/windows.txt # cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -110,7 +110,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/windows.txt diff --git a/requirements/windows.txt b/requirements/windows.txt index 525cb68a5ec..2d05784500f 100644 --- a/requirements/windows.txt +++ b/requirements/windows.txt @@ -26,7 +26,9 @@ pymysql>=1.0.2 pyopenssl>=20.0.1 python-dateutil>=2.8.1 python-gnupg>=0.4.7 -requests>=2.25.1 +requests>=2.31.0 ; python_version >= "3.7" +requests<=2.27.1 ; python_version == "3.6" +requests<=2.25.1 ; python_version == "3.5" setproctitle timelib>=0.2.5 urllib3>=1.26.5 From 040325b2487063dd1e7e2fbfdb10e385813d1938 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 20 Jul 2023 15:12:42 +0100 Subject: [PATCH 065/132] Skip tests when `USE_STATIC_REQUIREMENTS=0` It's not worth the work for 3005.2 Signed-off-by: Pedro Algarvio --- tests/pytests/scenarios/setup/test_install.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/pytests/scenarios/setup/test_install.py b/tests/pytests/scenarios/setup/test_install.py index 836a1d50dc6..ae0f09f5562 100644 --- a/tests/pytests/scenarios/setup/test_install.py +++ b/tests/pytests/scenarios/setup/test_install.py @@ -35,6 +35,8 @@ def use_static_requirements(request): @pytest.fixture def virtualenv(virtualenv, use_static_requirements): + if use_static_requirements is False: + pytest.skip("Skipping tests when USE_STATIC_REQUIREMENTS=0") virtualenv.environ["USE_STATIC_REQUIREMENTS"] = ( "1" if use_static_requirements else "0" ) From 5245bde8044eebefe68eb937c0f14e0fe0960ee5 Mon Sep 17 00:00:00 2001 From: Thomas Phipps Date: Thu, 20 Jul 2023 20:33:18 +0000 Subject: [PATCH 066/132] correct changelog --- changelog/{64370.security => cve-2023-20897.security} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog/{64370.security => cve-2023-20897.security} (100%) diff --git a/changelog/64370.security b/changelog/cve-2023-20897.security similarity index 100% rename from changelog/64370.security rename to changelog/cve-2023-20897.security From 51900c275e368b434133c7633c49474557f1671b Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Mon, 20 Feb 2023 08:56:56 +0000 Subject: [PATCH 067/132] Upgrade to `cryptography==39.0.1` Due to: * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r There is no security upgrade available for Py3.5 Signed-off-by: Pedro Algarvio --- changelog/63757.security | 7 +++++++ requirements/static/ci/py3.10/cloud.txt | 3 +-- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.txt | 3 +-- 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 | 4 ++-- requirements/static/ci/py3.5/linux.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 3 +-- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 3 +-- requirements/static/ci/py3.7/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 3 +-- requirements/static/ci/py3.8/docs.txt | 3 +-- 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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 3 +-- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.txt | 3 +-- 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 | 2 +- requirements/static/pkg/py3.10/darwin.txt | 3 +-- requirements/static/pkg/py3.10/freebsd.txt | 3 +-- requirements/static/pkg/py3.10/linux.txt | 3 +-- requirements/static/pkg/py3.10/windows.txt | 2 +- requirements/static/pkg/py3.5/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 3 +-- requirements/static/pkg/py3.7/freebsd.txt | 3 +-- requirements/static/pkg/py3.7/linux.txt | 3 +-- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 3 +-- requirements/static/pkg/py3.8/linux.txt | 3 +-- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 3 +-- requirements/static/pkg/py3.9/freebsd.txt | 3 +-- requirements/static/pkg/py3.9/linux.txt | 3 +-- requirements/static/pkg/py3.9/windows.txt | 2 +- 48 files changed, 55 insertions(+), 67 deletions(-) create mode 100644 changelog/63757.security diff --git a/changelog/63757.security b/changelog/63757.security new file mode 100644 index 00000000000..e9817a20013 --- /dev/null +++ b/changelog/63757.security @@ -0,0 +1,7 @@ +Upgrade to `cryptography==39.0.1` + +Due to: + * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 + * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r + +There is no security upgrade available for Py3.5 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index d9b210eff05..7fd45bee830 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -383,7 +383,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table @@ -799,7 +799,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 9ffc80ea8d0..17a77ec6f49 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -386,7 +386,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # -r requirements/darwin.txt # adal diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 29bb3df2e4f..6f75d180706 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core @@ -775,7 +775,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 35676364698..95a3f15445c 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -382,7 +382,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index edcdea11c4c..085c3fed1f9 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 8b37e77d6d1..2f98a9c3d29 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -396,7 +396,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index 0d2a01a550f..e69a1377e2d 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -72,8 +72,8 @@ clustershell==1.8.3 colorama==0.4.1 # via pytest contextvars==2.4 - # via -r requirements/static/pkg/py3.10/windows.txt -cryptography==3.4.7 + # via -r requirements/base.txt +cryptography==39.0.1 # via # -r requirements/static/pkg/py3.10/windows.txt # moto diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index dea31ed5a63..d12b46e5ba4 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -394,7 +394,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.0 +cryptography==3.2.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 6b01d673679..2600973b030 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -387,7 +387,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table @@ -821,7 +821,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index 33a2d2fd803..ce304b51d50 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -396,7 +396,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 44e7f50fd7f..c94a68cbcb3 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -394,7 +394,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 7986d70870b..d2f0f9e1615 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -400,7 +400,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index d3d8a645085..b5826604de3 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table @@ -847,7 +847,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 6233d9b204a..0d26ffbb958 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -399,7 +399,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 98c50faeb6f..98ec7b173dc 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -389,7 +389,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 3d8929b4a19..4e6c509f4f7 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -397,7 +397,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 1a46b527c5c..31f41e46dc4 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -403,7 +403,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index a9de9bb6ca3..d637dde2509 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -74,7 +74,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index c601d0a0898..9867b88830c 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table @@ -837,7 +837,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 331e0e0ddd6..595b8f3a584 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -397,7 +397,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core @@ -814,7 +814,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 412ff3b0a60..e5aa909df59 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -387,7 +387,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index fe8cd5cfbd1..4b3d00057ad 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -395,7 +395,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index bb4015bf6b0..f134c1e0a0c 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -401,7 +401,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 0bf7ec62ea7..2bc4e77a185 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 6ac2f2d6b1d..c4c22b6ca45 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table @@ -840,7 +840,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 0405f149416..2ff8a17515b 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -391,7 +391,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # -r requirements/darwin.txt # adal diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index cb834ff735c..d9759635583 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -395,7 +395,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core @@ -815,7 +815,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index ed2c195eb51..a8184f2510b 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -387,7 +387,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 6305ae43531..524b355b691 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -393,7 +393,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 4e4888557b3..ddc5a496786 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -403,7 +403,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 577992088d1..5f738be5f41 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 67e6c959531..14ab519d189 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via # -r requirements/darwin.txt # pyopenssl @@ -100,7 +100,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # pyopenssl # python-dateutil smmap==3.0.2 diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 9962066ee65..17dfef2362b 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via @@ -82,7 +82,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 9b24062cba9..b7787a5cda6 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt @@ -84,7 +84,6 @@ setproctitle==1.2.2 ; python_version >= "3.10" six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index 993135e3ab9..d1780ff57c8 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index 7cfacd51307..edcff57fbcf 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.0 +cryptography==3.2.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 24e9145a2b0..6bc85ab1758 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt @@ -86,7 +86,6 @@ setproctitle==1.1.10 ; python_version < "3.10" six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index f2b97c36e74..ee6902b6971 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via @@ -82,7 +82,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index c43a0c88b84..7197dedca66 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt @@ -82,7 +82,6 @@ setproctitle==1.1.10 ; python_version < "3.10" six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index c4e74642404..bae657d30fc 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 0023a07143f..40c6d3091df 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via @@ -82,7 +82,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index c73c79c3fd3..6ad08eeee58 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt @@ -82,7 +82,6 @@ setproctitle==1.1.10 ; python_version < "3.10" six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 486614c1432..86e18758fb8 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 0fa0ddff389..f05f2c85c15 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via # -r requirements/darwin.txt # pyopenssl @@ -102,7 +102,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # pyopenssl # python-dateutil smmap==3.0.2 diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 75e23967d3a..bd1c4765515 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via @@ -84,7 +84,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 78ad929f79c..5cc64a1f7c0 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt @@ -84,7 +84,6 @@ setproctitle==1.1.10 ; python_version < "3.10" six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 534212929ed..df7dcbddf86 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # pyopenssl From eeaaf522e99e879282af75f9d088f73e603b92c0 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 8 Feb 2023 15:37:42 +0000 Subject: [PATCH 068/132] Fix pre-commit by changing the pyzmq requirements. It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. Signed-off-by: Pedro Algarvio --- changelog/63757.changed | 3 +++ requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.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.5/linux.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 2 +- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.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 | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.5/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- requirements/zeromq.txt | 8 +++----- salt/utils/cache.py | 4 ++-- salt/utils/master.py | 4 ++-- tests/pytests/functional/test_payload.py | 2 +- 50 files changed, 56 insertions(+), 55 deletions(-) create mode 100644 changelog/63757.changed diff --git a/changelog/63757.changed b/changelog/63757.changed new file mode 100644 index 00000000000..54d9eea7b84 --- /dev/null +++ b/changelog/63757.changed @@ -0,0 +1,3 @@ +Fix pre-commit by changing the pyzmq requirements: + +* It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 7fd45bee830..1cf83c280c7 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -746,7 +746,7 @@ pyyaml==6.0.1 # junos-eznc # kubernetes # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 17a77ec6f49..9e711c23af2 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -745,7 +745,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 6f75d180706..05ddd55b11c 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -719,7 +719,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 95a3f15445c..c488fa30a58 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -740,7 +740,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 085c3fed1f9..532dffeeba6 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -718,7 +718,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 2f98a9c3d29..ab849b8353f 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -771,7 +771,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index d12b46e5ba4..e783ec08026 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -803,7 +803,7 @@ pyyaml==5.3.1 # moto # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==19.0.2 ; python_version < "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 2600973b030..fd2bed42951 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -768,7 +768,7 @@ pyyaml==6.0.1 # junos-eznc # kubernetes # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index ce304b51d50..7506832c029 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -741,7 +741,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index c94a68cbcb3..2f5f7e59ada 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -742,7 +742,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index d2f0f9e1615..048f7eac3cd 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -793,7 +793,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index b5826604de3..1c3fd4f6459 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -790,7 +790,7 @@ pyyaml==6.0.1 # kubernetes # napalm # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 0d26ffbb958..dce6176a0b1 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -762,7 +762,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 98ec7b173dc..82a9ada02cb 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -780,7 +780,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 4e6c509f4f7..0e0bac30252 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -763,7 +763,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 31f41e46dc4..28f29631269 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -809,7 +809,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index d637dde2509..dea6d30226a 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -325,7 +325,7 @@ pyyaml==6.0.1 # clustershell # kubernetes # yamllint -pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" +pyzmq==22.0.3 ; sys_platform == "win32" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 9867b88830c..79c34d4a28b 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -780,7 +780,7 @@ pyyaml==6.0.1 # kubernetes # napalm # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 595b8f3a584..774fba3b878 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -754,7 +754,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index e5aa909df59..fd8beed5f10 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -771,7 +771,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 4b3d00057ad..ac1cadad985 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -755,7 +755,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index f134c1e0a0c..580714f2f2d 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -800,7 +800,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 2bc4e77a185..04847dbbb2a 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -316,7 +316,7 @@ pyyaml==6.0.1 # clustershell # kubernetes # yamllint -pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" +pyzmq==22.0.3 ; sys_platform == "win32" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index c4c22b6ca45..e90d7f4675a 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -783,7 +783,7 @@ pyyaml==6.0.1 # kubernetes # napalm # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 2ff8a17515b..af0c191cfb1 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -779,7 +779,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index d9759635583..dfe8f69a790 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -755,7 +755,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index a8184f2510b..662278a0e46 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -774,7 +774,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 524b355b691..0bbc5fd5083 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -756,7 +756,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index ddc5a496786..9f1500d6b98 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -805,7 +805,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 5f738be5f41..b1d7ef9e95c 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -317,7 +317,7 @@ pyyaml==6.0.1 # clustershell # kubernetes # yamllint -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==22.0.3 ; sys_platform == "win32" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 14ab519d189..5288b1d5812 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -88,7 +88,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 17dfef2362b..9f1a18dc918 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -73,7 +73,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index b7787a5cda6..ac20c8bcec4 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -73,7 +73,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index edcff57fbcf..99fae156ae1 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -72,7 +72,7 @@ pytz==2022.1 # via tempora pyyaml==5.3.1 # via -r requirements/base.txt -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==19.0.2 ; python_version < "3.6" # via -r requirements/zeromq.txt requests==2.25.1 ; python_version == "3.5" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 6bc85ab1758..d74707851b6 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -75,7 +75,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.25.1 ; python_version == "3.6" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index ee6902b6971..72d9d6bf22f 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -73,7 +73,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index 7197dedca66..e912937f40e 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -71,7 +71,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index bae657d30fc..00e5c7f4e45 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -108,7 +108,7 @@ pywin32==303 # wmi pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" +pyzmq==22.0.3 ; sys_platform == "win32" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 40c6d3091df..5927344fc5a 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -73,7 +73,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index 6ad08eeee58..f0b348bb9d9 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -71,7 +71,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 86e18758fb8..cfd2cf72b7e 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -108,7 +108,7 @@ pywin32==303 # wmi pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" +pyzmq==22.0.3 ; sys_platform == "win32" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index f05f2c85c15..983ddec13a9 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -90,7 +90,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index bd1c4765515..4ca9d98a824 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -75,7 +75,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 5cc64a1f7c0..d356aaafb22 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -73,7 +73,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index df7dcbddf86..a14faf711e5 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -108,7 +108,7 @@ pywin32==303 # wmi pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==22.0.3 ; sys_platform == "win32" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt index ce3dde07826..e6ea79b525d 100644 --- a/requirements/zeromq.txt +++ b/requirements/zeromq.txt @@ -1,10 +1,8 @@ -r base.txt -r crypto.txt -pyzmq<=20.0.0 ; python_version < "3.6" -pyzmq>=17.0.0 ; python_version < "3.9" -pyzmq>19.0.2 ; python_version >= "3.9" - +pyzmq<20.0.0; python_version < "3.6" +pyzmq>=20.0.0; python_version >= "3.6" # We can't use 23+ on Windows until they fix this: # https://github.com/zeromq/pyzmq/issues/1472 -pyzmq>=20.0.0, <=22.0.3 ; python_version < "3.9" and sys_platform == 'win32' +pyzmq>=20.0.0,<=22.0.3 ; sys_platform == "win32" diff --git a/salt/utils/cache.py b/salt/utils/cache.py index 6a9e003a862..9868cc65df5 100644 --- a/salt/utils/cache.py +++ b/salt/utils/cache.py @@ -203,14 +203,14 @@ class CacheCli: """ published the given minions to the ConCache """ - self.cupd_out.send(salt.payload.dumps(minions)) + self.cupd_out.send(salt.payload.dumps(minions)) # pylint: disable=missing-kwoa def get_cached(self): """ queries the ConCache for a list of currently connected minions """ msg = salt.payload.dumps("minions") - self.creq_out.send(msg) + self.creq_out.send(msg) # pylint: disable=missing-kwoa min_list = salt.payload.loads(self.creq_out.recv()) return min_list diff --git a/salt/utils/master.py b/salt/utils/master.py index 2fedea6a558..031b151caef 100644 --- a/salt/utils/master.py +++ b/salt/utils/master.py @@ -568,7 +568,7 @@ class CacheTimer(Thread): count = 0 log.debug("ConCache-Timer started") while not self.stopped.wait(1): - socket.send(salt.payload.dumps(count)) + socket.send(salt.payload.dumps(count)) # pylint: disable=missing-kwoa count += 1 if count >= 60: @@ -733,7 +733,7 @@ class ConnectedCache(Process): if msg == "minions": # Send reply back to client reply = salt.payload.dumps(self.minions) - creq_in.send(reply) + creq_in.send(reply) # pylint: disable=missing-kwoa # check for next cache-update from workers if socks.get(cupd_in) == zmq.POLLIN: diff --git a/tests/pytests/functional/test_payload.py b/tests/pytests/functional/test_payload.py index ec5f66bdf67..67c6b423678 100644 --- a/tests/pytests/functional/test_payload.py +++ b/tests/pytests/functional/test_payload.py @@ -57,7 +57,7 @@ class EchoServer: msg_deserialized["load"]["sleep"], ) time.sleep(msg_deserialized["load"]["sleep"]) - socket.send(message) + socket.send(message) # pylint: disable=missing-kwoa except zmq.ZMQError as exc: if exc.errno == errno.EAGAIN: continue From 8ccc57890b46341f64e5e09128a26b4ee3717086 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 23 Feb 2023 12:08:29 +0000 Subject: [PATCH 069/132] Upgrade to `pyopenssl==23.0.0` due to the cryptography upgrade. Signed-off-by: Pedro Algarvio --- changelog/63757.changed | 3 ++- requirements/static/ci/py3.10/cloud.txt | 3 +-- requirements/static/ci/py3.10/darwin.txt | 4 +--- requirements/static/ci/py3.10/docs.txt | 3 +-- 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 | 2 +- requirements/static/ci/py3.5/linux.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 3 +-- requirements/static/ci/py3.6/docs.txt | 3 +-- requirements/static/ci/py3.6/lint.txt | 3 +-- requirements/static/ci/py3.6/linux.txt | 4 +--- requirements/static/ci/py3.7/cloud.txt | 3 +-- requirements/static/ci/py3.7/docs.txt | 3 +-- requirements/static/ci/py3.7/freebsd.txt | 4 +--- requirements/static/ci/py3.7/lint.txt | 3 +-- requirements/static/ci/py3.7/linux.txt | 4 +--- requirements/static/ci/py3.7/windows.txt | 3 +-- requirements/static/ci/py3.8/cloud.txt | 3 +-- requirements/static/ci/py3.8/docs.txt | 3 +-- requirements/static/ci/py3.8/freebsd.txt | 4 +--- requirements/static/ci/py3.8/lint.txt | 3 +-- requirements/static/ci/py3.8/linux.txt | 4 +--- requirements/static/ci/py3.8/windows.txt | 3 +-- requirements/static/ci/py3.9/cloud.txt | 3 +-- requirements/static/ci/py3.9/darwin.txt | 4 +--- requirements/static/ci/py3.9/docs.txt | 3 +-- requirements/static/ci/py3.9/freebsd.txt | 4 +--- requirements/static/ci/py3.9/lint.txt | 3 +-- requirements/static/ci/py3.9/linux.txt | 4 +--- requirements/static/ci/py3.9/windows.txt | 3 +-- requirements/static/pkg/py3.10/darwin.txt | 3 +-- requirements/static/pkg/py3.10/freebsd.txt | 3 +-- requirements/static/pkg/py3.10/linux.txt | 3 +-- requirements/static/pkg/py3.10/windows.txt | 2 +- requirements/static/pkg/py3.5/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 3 +-- requirements/static/pkg/py3.7/freebsd.txt | 3 +-- requirements/static/pkg/py3.7/linux.txt | 3 +-- requirements/static/pkg/py3.7/windows.txt | 3 +-- requirements/static/pkg/py3.8/freebsd.txt | 3 +-- requirements/static/pkg/py3.8/linux.txt | 3 +-- requirements/static/pkg/py3.8/windows.txt | 3 +-- requirements/static/pkg/py3.9/darwin.txt | 3 +-- requirements/static/pkg/py3.9/freebsd.txt | 3 +-- requirements/static/pkg/py3.9/linux.txt | 3 +-- requirements/static/pkg/py3.9/windows.txt | 3 +-- 48 files changed, 49 insertions(+), 102 deletions(-) diff --git a/changelog/63757.changed b/changelog/63757.changed index 54d9eea7b84..99023c4391e 100644 --- a/changelog/63757.changed +++ b/changelog/63757.changed @@ -1,3 +1,4 @@ -Fix pre-commit by changing the pyzmq requirements: +Additional required package upgrades * It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. +* Upgrade to `pyopenssl==23.0.0` due to the cryptography upgrade. diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 1cf83c280c7..daa0302f744 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -665,7 +665,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -812,7 +812,6 @@ six==1.16.0 # paramiko # profitbricks # pynacl - # pyopenssl # pypsexec # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 9e711c23af2..38c68267a65 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -667,7 +667,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.0.0 +pyopenssl==23.0.0 # via # -r requirements/darwin.txt # etcd3-py @@ -792,7 +792,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -807,7 +806,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 05ddd55b11c..5e86fd2448e 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -669,7 +669,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -788,7 +788,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index c488fa30a58..53768cf689d 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -662,7 +662,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py @@ -786,7 +786,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -803,7 +802,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 532dffeeba6..70ebc3527c9 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -669,7 +669,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -788,7 +788,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index ab849b8353f..a4d159bbd3e 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -684,7 +684,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -828,7 +828,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -844,7 +843,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index e69a1377e2d..c2d7479e171 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -263,7 +263,7 @@ pygit2==1.5.0 ; python_version >= "3.7" # via -r requirements/static/ci/windows.in pymysql==1.0.2 # via -r requirements/static/pkg/py3.10/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via -r requirements/static/pkg/py3.10/windows.txt pyparsing==2.4.5 # via packaging diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index e783ec08026..1e0a701bc01 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -717,7 +717,7 @@ pymysql==0.9.3 ; python_version <= "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==20.0.0 # via -r requirements/static/pkg/linux.in pyparsing==2.4.5 # via diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index fd2bed42951..7e4828deaba 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -687,7 +687,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -834,7 +834,6 @@ six==1.16.0 # paramiko # profitbricks # pynacl - # pyopenssl # pypsexec # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index 7506832c029..72c9be30d9c 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -691,7 +691,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -810,7 +810,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 2f5f7e59ada..47d57ed6e17 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -693,7 +693,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -812,7 +812,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 048f7eac3cd..824d6280688 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -706,7 +706,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -850,7 +850,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -866,7 +865,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 1c3fd4f6459..1fef99d6a88 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -706,7 +706,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -860,7 +860,6 @@ six==1.16.0 # paramiko # profitbricks # pynacl - # pyopenssl # pypsexec # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index dce6176a0b1..6b0ffe63197 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -709,7 +709,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -835,7 +835,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 82a9ada02cb..444390b0cff 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -699,7 +699,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py @@ -830,7 +830,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -847,7 +846,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 0e0bac30252..eb1de622993 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -711,7 +711,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -837,7 +837,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 28f29631269..1f55c32ab3b 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -719,7 +719,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -870,7 +870,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -886,7 +885,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index dea6d30226a..69abac8022b 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -248,7 +248,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/windows.txt # etcd3-py @@ -372,7 +372,6 @@ six==1.16.0 # kubernetes # mock # packaging - # pyopenssl # python-dateutil # pyvmomi # pywinrm diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 79c34d4a28b..1d3b08c9a83 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -696,7 +696,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -850,7 +850,6 @@ six==1.16.0 # paramiko # profitbricks # pynacl - # pyopenssl # pypsexec # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 774fba3b878..02980e271c8 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -701,7 +701,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -827,7 +827,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index fd8beed5f10..85abaf51606 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -690,7 +690,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py @@ -821,7 +821,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -838,7 +837,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index ac1cadad985..7ee44f9afea 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -703,7 +703,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -829,7 +829,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 580714f2f2d..7a74278bedb 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -710,7 +710,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -861,7 +861,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -877,7 +876,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 04847dbbb2a..0276117fd2b 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -239,7 +239,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/windows.txt # etcd3-py @@ -363,7 +363,6 @@ six==1.15.0 # kubernetes # mock # packaging - # pyopenssl # python-dateutil # pyvmomi # pywinrm diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index e90d7f4675a..65e40191a24 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -699,7 +699,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -853,7 +853,6 @@ six==1.16.0 # paramiko # profitbricks # pynacl - # pyopenssl # pypsexec # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index af0c191cfb1..027e54df9f8 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -698,7 +698,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.0.0 +pyopenssl==23.0.0 # via # -r requirements/darwin.txt # etcd3-py @@ -830,7 +830,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -845,7 +844,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index dfe8f69a790..25a76d03311 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -702,7 +702,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -828,7 +828,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 662278a0e46..0bdd1ce61e0 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -693,7 +693,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py @@ -824,7 +824,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -841,7 +840,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 0bbc5fd5083..628aab6c2e1 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -704,7 +704,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -830,7 +830,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 9f1500d6b98..b26ec4caf74 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -715,7 +715,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -866,7 +866,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -882,7 +881,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index b1d7ef9e95c..f0c56a60bc7 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -240,7 +240,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/windows.txt # etcd3-py @@ -364,7 +364,6 @@ six==1.15.0 # kubernetes # mock # packaging - # pyopenssl # python-dateutil # pyvmomi # pywinrm diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 5288b1d5812..f198a2a12b9 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -78,7 +78,7 @@ pycparser==2.21 # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.0.0 +pyopenssl==23.0.0 # via -r requirements/darwin.txt python-dateutil==2.8.0 # via -r requirements/darwin.txt @@ -100,7 +100,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # pyopenssl # python-dateutil smmap==3.0.2 # via gitdb diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 9f1a18dc918..11e9bd793c1 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -63,7 +63,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in @@ -83,7 +83,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index ac20c8bcec4..9e581268a69 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -63,7 +63,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in @@ -85,7 +85,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index d1780ff57c8..72fa81eaf7d 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -85,7 +85,7 @@ pycurl==7.43.0.5 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index 99fae156ae1..a20653647cb 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -62,7 +62,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==20.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index d74707851b6..56155c21fa5 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -65,7 +65,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in @@ -87,7 +87,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index 72d9d6bf22f..a4114d8c791 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -63,7 +63,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in @@ -83,7 +83,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index e912937f40e..06719f36e59 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -61,7 +61,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in @@ -83,7 +83,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 00e5c7f4e45..4a92ba25f5a 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt @@ -119,7 +119,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # pyopenssl # python-dateutil smmap==3.0.4 # via gitdb diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 5927344fc5a..bc96d1498d0 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -63,7 +63,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in @@ -83,7 +83,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index f0b348bb9d9..3ddd9ea98b5 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -61,7 +61,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in @@ -83,7 +83,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index cfd2cf72b7e..94a1c1a0c98 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt @@ -119,7 +119,6 @@ setproctitle==1.1.10 six==1.15.0 # via # cheroot - # pyopenssl # python-dateutil smmap==4.0.0 # via gitdb diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 983ddec13a9..b32e5dd4393 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -80,7 +80,7 @@ pycparser==2.21 # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.0.0 +pyopenssl==23.0.0 # via -r requirements/darwin.txt python-dateutil==2.8.0 # via -r requirements/darwin.txt @@ -102,7 +102,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # pyopenssl # python-dateutil smmap==3.0.2 # via gitdb diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 4ca9d98a824..26e611cc1f8 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -65,7 +65,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in @@ -85,7 +85,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index d356aaafb22..3c84b88ca5c 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -63,7 +63,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in @@ -85,7 +85,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index a14faf711e5..315766f5c78 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt @@ -119,7 +119,6 @@ setproctitle==1.1.10 six==1.15.0 # via # cheroot - # pyopenssl # python-dateutil smmap==4.0.0 # via gitdb From 14de2174cbeaf1e85f21b14fde987a20f8d3997d Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 14 Jul 2023 13:56:40 -0600 Subject: [PATCH 070/132] [3005.2] Update cryptography --- changelog/63757.security | 7 ------- changelog/64595.security | 11 +++++++++++ requirements/darwin.txt | 7 +++++-- requirements/static/ci/py3.10/cloud.txt | 5 +++-- requirements/static/ci/py3.10/darwin.txt | 4 ++-- requirements/static/ci/py3.10/docs.txt | 5 +++-- requirements/static/ci/py3.10/freebsd.txt | 5 +++-- requirements/static/ci/py3.10/lint.txt | 5 +++-- requirements/static/ci/py3.10/linux.txt | 5 +++-- requirements/static/ci/py3.5/linux.txt | 5 +++-- requirements/static/ci/py3.6/cloud.txt | 5 +++-- requirements/static/ci/py3.6/docs.txt | 5 +++-- requirements/static/ci/py3.6/lint.txt | 5 +++-- requirements/static/ci/py3.6/linux.txt | 5 +++-- requirements/static/ci/py3.7/cloud.txt | 5 +++-- requirements/static/ci/py3.7/docs.txt | 5 +++-- requirements/static/ci/py3.7/freebsd.txt | 5 +++-- requirements/static/ci/py3.7/lint.txt | 5 +++-- requirements/static/ci/py3.7/linux.txt | 5 +++-- requirements/static/ci/py3.7/windows.txt | 4 ++-- requirements/static/ci/py3.8/cloud.txt | 5 +++-- requirements/static/ci/py3.8/docs.txt | 5 +++-- requirements/static/ci/py3.8/freebsd.txt | 5 +++-- requirements/static/ci/py3.8/lint.txt | 5 +++-- requirements/static/ci/py3.8/linux.txt | 5 +++-- requirements/static/ci/py3.8/windows.txt | 4 ++-- requirements/static/ci/py3.9/cloud.txt | 5 +++-- requirements/static/ci/py3.9/darwin.txt | 4 ++-- requirements/static/ci/py3.9/docs.txt | 5 +++-- requirements/static/ci/py3.9/freebsd.txt | 5 +++-- requirements/static/ci/py3.9/lint.txt | 5 +++-- requirements/static/ci/py3.9/linux.txt | 5 +++-- requirements/static/ci/py3.9/windows.txt | 4 ++-- requirements/static/pkg/freebsd.in | 6 +++++- requirements/static/pkg/linux.in | 6 +++++- requirements/static/pkg/py3.10/darwin.txt | 4 ++-- requirements/static/pkg/py3.10/freebsd.txt | 8 +++++--- requirements/static/pkg/py3.10/linux.txt | 8 +++++--- requirements/static/pkg/py3.5/linux.txt | 8 +++++--- requirements/static/pkg/py3.6/linux.txt | 8 +++++--- requirements/static/pkg/py3.7/freebsd.txt | 8 +++++--- requirements/static/pkg/py3.7/linux.txt | 8 +++++--- requirements/static/pkg/py3.7/windows.txt | 4 ++-- requirements/static/pkg/py3.8/freebsd.txt | 8 +++++--- requirements/static/pkg/py3.8/linux.txt | 8 +++++--- requirements/static/pkg/py3.8/windows.txt | 4 ++-- requirements/static/pkg/py3.9/darwin.txt | 4 ++-- requirements/static/pkg/py3.9/freebsd.txt | 8 +++++--- requirements/static/pkg/py3.9/linux.txt | 8 +++++--- requirements/static/pkg/py3.9/windows.txt | 4 ++-- requirements/windows.txt | 7 +++++-- 51 files changed, 176 insertions(+), 113 deletions(-) delete mode 100644 changelog/63757.security create mode 100644 changelog/64595.security diff --git a/changelog/63757.security b/changelog/63757.security deleted file mode 100644 index e9817a20013..00000000000 --- a/changelog/63757.security +++ /dev/null @@ -1,7 +0,0 @@ -Upgrade to `cryptography==39.0.1` - -Due to: - * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 - * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r - -There is no security upgrade available for Py3.5 diff --git a/changelog/64595.security b/changelog/64595.security new file mode 100644 index 00000000000..737603b7704 --- /dev/null +++ b/changelog/64595.security @@ -0,0 +1,11 @@ +Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) + +This only really impacts pip installs of Salt and the windows onedir since the linux and macos onedir build every package dependency from source, not from pre-existing wheels. + +Also resolves the following cryptography advisories: + +Due to: + * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 + * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r + +There is no security upgrade available for Py3.5 diff --git a/requirements/darwin.txt b/requirements/darwin.txt index 2966baa9168..06ef5dc9daf 100644 --- a/requirements/darwin.txt +++ b/requirements/darwin.txt @@ -5,7 +5,9 @@ apache-libcloud>=2.4.0 backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' cherrypy>=17.4.1 -cryptography>=2.6.1 +cryptography>=41.0.2 ; python_version >= "3.7" +cryptography<=40.0.2 ; python_version == "3.6" +cryptography<=3.2.1 ; python_version <= "3.5" gitpython>=2.1.15 ; python_version <= "3.6" gitpython>=3.1.30 ; python_version >= "3.7" idna>=2.8 @@ -13,7 +15,8 @@ linode-python>=1.1.1 mako>=1.0.7 pyasn1>=0.4.8 pycparser>=2.21 -pyopenssl>=19.0.0 +pyopenssl>=23.2.0 ; python_version >= "3.6" +pyopenssl<=20.0.0 ; python_version <= "3.5" python-dateutil>=2.8.0 python-gnupg>=0.4.4 setproctitle>=1.1.10 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index daa0302f744..8a2ddc103de 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -383,8 +383,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # azure-cosmosdb-table # azure-keyvault @@ -665,7 +666,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 38c68267a65..ce76a56d44e 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -386,7 +386,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/darwin.txt # adal @@ -667,7 +667,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/darwin.txt # etcd3-py diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 5e86fd2448e..3847d3deb22 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -390,8 +390,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -669,7 +670,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 53768cf689d..4b913ad0963 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -382,8 +382,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/freebsd.in # adal # azure-cosmosdb-table # azure-keyvault @@ -662,7 +663,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/freebsd.in # etcd3-py diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 70ebc3527c9..3239e198efc 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -388,8 +388,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -669,7 +670,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index a4d159bbd3e..c9e4eff4d65 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -396,8 +396,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -684,7 +685,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index 1e0a701bc01..cd224abefb8 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -394,8 +394,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.2.1 +cryptography==3.2.1 ; python_version <= "3.5" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -717,7 +718,7 @@ pymysql==0.9.3 ; python_version <= "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==20.0.0 +pyopenssl==20.0.0 ; python_version <= "3.5" # via -r requirements/static/pkg/linux.in pyparsing==2.4.5 # via diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 7e4828deaba..9f892b2ded0 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -387,8 +387,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==40.0.2 ; python_version == "3.6" # via + # -r requirements/static/pkg/linux.in # adal # azure-cosmosdb-table # azure-keyvault @@ -687,7 +688,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index 72c9be30d9c..c17be26596c 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -396,8 +396,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==40.0.2 ; python_version == "3.6" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -691,7 +692,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 47d57ed6e17..6459d089483 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -394,8 +394,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==40.0.2 ; python_version == "3.6" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -693,7 +694,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 824d6280688..e56feee544e 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -400,8 +400,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==40.0.2 ; python_version == "3.6" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -706,7 +707,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 1fef99d6a88..3bacf53a470 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -390,8 +390,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # azure-cosmosdb-table # azure-keyvault @@ -706,7 +707,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 6b0ffe63197..25258765c56 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -399,8 +399,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -709,7 +710,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 444390b0cff..d11b7d47274 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -389,8 +389,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/freebsd.in # adal # azure-cosmosdb-table # azure-keyvault @@ -699,7 +700,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/freebsd.in # etcd3-py diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index eb1de622993..e6aeb6e7e49 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -397,8 +397,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -711,7 +712,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 1f55c32ab3b..cd49f1643f8 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -403,8 +403,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -719,7 +720,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 69abac8022b..6719e418da3 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -74,7 +74,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py @@ -248,7 +248,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 1d3b08c9a83..d6321c017a7 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -388,8 +388,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # azure-cosmosdb-table # azure-keyvault @@ -696,7 +697,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 02980e271c8..31e1a0ae533 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -397,8 +397,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -701,7 +702,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 85abaf51606..f2504c8c07b 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -387,8 +387,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/freebsd.in # adal # azure-cosmosdb-table # azure-keyvault @@ -690,7 +691,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/freebsd.in # etcd3-py diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 7ee44f9afea..118387872aa 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -395,8 +395,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -703,7 +704,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 7a74278bedb..6ef117960ec 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -401,8 +401,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -710,7 +711,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 0276117fd2b..f5608623def 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py @@ -239,7 +239,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 65e40191a24..67a4af161cb 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -388,8 +388,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # azure-cosmosdb-table # azure-keyvault @@ -699,7 +700,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 027e54df9f8..8cd565e5cf2 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -391,7 +391,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/darwin.txt # adal @@ -698,7 +698,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/darwin.txt # etcd3-py diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index 25a76d03311..bc89980c0c1 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -395,8 +395,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -702,7 +703,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 0bdd1ce61e0..f328800e5cd 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -387,8 +387,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/freebsd.in # adal # azure-cosmosdb-table # azure-keyvault @@ -693,7 +694,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/freebsd.in # etcd3-py diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 628aab6c2e1..3794f8d49a8 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -393,8 +393,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -704,7 +705,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index b26ec4caf74..1f0b13d1160 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -403,8 +403,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -715,7 +716,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index f0c56a60bc7..89959b9c895 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py @@ -240,7 +240,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/pkg/freebsd.in b/requirements/static/pkg/freebsd.in index ef495e26b05..48f511e22de 100644 --- a/requirements/static/pkg/freebsd.in +++ b/requirements/static/pkg/freebsd.in @@ -1,9 +1,13 @@ # This file only exists to trigger the right static compiled requirements destination # Any non hard dependencies of Salt for FreeBSD can go here cherrypy +cryptography>=41.0.2 ; python_version >= "3.7" +cryptography<=40.0.2 ; python_version == "3.6" +cryptography<=3.2.1 ; python_version <= "3.5" backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' pycparser>=2.21; python_version >= '3.9' -pyopenssl>=19.0.0 +pyopenssl>=23.2.0 ; python_version >= "3.6" +pyopenssl<=20.0.0 ; python_version <= "3.5" python-dateutil>=2.8.0 python-gnupg>=0.4.4 setproctitle>=1.1.10 diff --git a/requirements/static/pkg/linux.in b/requirements/static/pkg/linux.in index e9681cde837..ff1595bc4a2 100644 --- a/requirements/static/pkg/linux.in +++ b/requirements/static/pkg/linux.in @@ -1,9 +1,13 @@ # This file only exists to trigger the right static compiled requirements destination. # Any non hard dependencies of Salt for linux can go here cherrypy +cryptography>=41.0.2 ; python_version >= "3.7" +cryptography<=40.0.2 ; python_version == "3.6" +cryptography<=3.2.1 ; python_version <= "3.5" backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' pycparser>=2.21; python_version >= '3.9' -pyopenssl>=19.0.0 +pyopenssl>=23.2.0 ; python_version >= "3.6" +pyopenssl<=20.0.0 ; python_version <= "3.5" python-dateutil>=2.8.0 python-gnupg>=0.4.4 rpm-vercmp diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index f198a2a12b9..dff562b6103 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/darwin.txt # pyopenssl @@ -78,7 +78,7 @@ pycparser==2.21 # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/darwin.txt python-dateutil==2.8.0 # via -r requirements/darwin.txt diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 11e9bd793c1..ac04b41cc32 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/freebsd.in + # pyopenssl distro==1.5.0 # via # -r requirements/base.txt @@ -63,7 +65,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 9e581268a69..2ee103af5a9 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -63,7 +65,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index a20653647cb..f72b043c2f1 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -18,8 +18,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.2.1 - # via pyopenssl +cryptography==3.2.1 ; python_version <= "3.5" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -62,7 +64,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==20.0.0 +pyopenssl==20.0.0 ; python_version <= "3.5" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 56155c21fa5..bd9296141d9 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -18,8 +18,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==40.0.2 ; python_version == "3.6" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -65,7 +67,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index a4114d8c791..58b198237d5 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/freebsd.in + # pyopenssl distro==1.5.0 # via # -r requirements/base.txt @@ -63,7 +65,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index 06719f36e59..e0fb24db663 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -61,7 +63,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 4a92ba25f5a..27160637dea 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index bc96d1498d0..20eaacdf1fa 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/freebsd.in + # pyopenssl distro==1.5.0 # via # -r requirements/base.txt @@ -63,7 +65,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index 3ddd9ea98b5..645793895a4 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -61,7 +63,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 94a1c1a0c98..8f92533d602 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index b32e5dd4393..df9e222db39 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/darwin.txt # pyopenssl @@ -80,7 +80,7 @@ pycparser==2.21 # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/darwin.txt python-dateutil==2.8.0 # via -r requirements/darwin.txt diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 26e611cc1f8..10018b514b8 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/freebsd.in + # pyopenssl distro==1.5.0 # via # -r requirements/base.txt @@ -65,7 +67,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 3c84b88ca5c..a855a5c57c5 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -63,7 +65,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 315766f5c78..343c6b88625 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt diff --git a/requirements/windows.txt b/requirements/windows.txt index 2d05784500f..5f9c363b507 100644 --- a/requirements/windows.txt +++ b/requirements/windows.txt @@ -11,7 +11,9 @@ certifi>=2022.12.7 ; python_version >= "3.6" certifi<=2021.10.8 ; python_version <= "3.5" cffi>=1.14.5 cherrypy>=18.6.1 -cryptography>=3.4.7 +cryptography>=41.0.2 ; python_version >= "3.7" +cryptography<=40.0.2 ; python_version == "3.6" +cryptography<=3.2.1 ; python_version <= "3.5" gitpython>=2.1.15 ; python_version <= "3.6" gitpython>=3.1.30 ; python_version >= "3.7" ioloop>=0.1a0 @@ -23,7 +25,8 @@ pycparser>=2.21 pycurl>=7.43.0.5 # PyCurl does not provide a whl file for newer versions pymssql>=2.2.1 pymysql>=1.0.2 -pyopenssl>=20.0.1 +pyopenssl>=23.2.0 ; python_version >= "3.6" +pyopenssl<=20.0.0 ; python_version <= "3.5" python-dateutil>=2.8.1 python-gnupg>=0.4.7 requests>=2.31.0 ; python_version >= "3.7" From c475708eb9e47c9934ee7cc6cb8f6b00a341ba45 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 19 Jul 2023 12:46:54 -0600 Subject: [PATCH 071/132] Skip ansible tests on py3.6 due to crypto warning --- tests/pytests/unit/roster/test_ansible.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/pytests/unit/roster/test_ansible.py b/tests/pytests/unit/roster/test_ansible.py index 2c85b705ba0..bc5009051b6 100644 --- a/tests/pytests/unit/roster/test_ansible.py +++ b/tests/pytests/unit/roster/test_ansible.py @@ -1,4 +1,5 @@ import shutil +import sys import pytest import salt.loader @@ -159,6 +160,10 @@ def test_virtual_returns_False_if_ansible_inventory_doesnt_exist(which_value): assert ansible.__virtual__() == (False, "Install `ansible` to use inventory") +@pytest.mark.skipif( + sys.version_info <= (3, 7), + reason="Older versions of Ansible do not allow you to ignore python deprecation warnings", +) def test_ini(roster_opts, roster_dir, expected_targets_return): roster_opts["roster_file"] = str(roster_dir / "roster.ini") with patch.dict(ansible.__opts__, roster_opts): @@ -166,6 +171,10 @@ def test_ini(roster_opts, roster_dir, expected_targets_return): assert ret == expected_targets_return +@pytest.mark.skipif( + sys.version_info <= (3, 7), + reason="Older versions of Ansible do not allow you to ignore python deprecation warnings", +) def test_yml(roster_opts, roster_dir, expected_targets_return): roster_opts["roster_file"] = str(roster_dir / "roster.yml") with patch.dict(ansible.__opts__, roster_opts): @@ -173,6 +182,10 @@ def test_yml(roster_opts, roster_dir, expected_targets_return): assert ret == expected_targets_return +@pytest.mark.skipif( + sys.version_info <= (3, 7), + reason="Older versions of Ansible do not allow you to ignore python deprecation warnings", +) def test_script(roster_opts, roster_dir, expected_targets_return): roster_opts["roster_file"] = str(roster_dir / "roster.py") with patch.dict(ansible.__opts__, roster_opts): From 1b1f735de1419205a234882e07bf40abf84bf9e1 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 26 Jul 2023 12:13:45 +0100 Subject: [PATCH 072/132] Bump to `certifi==2023.07.22` due to https://github.com/advisories/GHSA-xqr8-7jwr-rhp7 Signed-off-by: Pedro Algarvio --- changelog/64720.security | 3 +++ 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/docs.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 | 2 +- requirements/static/ci/py3.6/cloud.txt | 2 +- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.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 | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.10/windows.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- 47 files changed, 49 insertions(+), 46 deletions(-) create mode 100644 changelog/64720.security diff --git a/changelog/64720.security b/changelog/64720.security new file mode 100644 index 00000000000..56008704290 --- /dev/null +++ b/changelog/64720.security @@ -0,0 +1,3 @@ +Bump to `certifi==2023.07.22` due to https://github.com/advisories/GHSA-xqr8-7jwr-rhp7 + +Python 3.5 cannot get the updated requirements since certifi no longer supports this python version diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index e615439332d..0bca349a53d 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -7,7 +7,7 @@ boto3>=1.16.0,<1.17.0; python_version < '3.6' boto3>=1.17.67; python_version >= '3.6' boto>=2.46.0 cassandra-driver>=2.0 -certifi>=2022.12.7; python_version >= "3.6" +certifi>=2023.07.22; python_version >= "3.6" certifi<=2021.10.8; python_version <= "3.5" cffi>=1.12.2 cherrypy>=17.4.1 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 8a2ddc103de..92040882dc6 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -348,7 +348,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index ce76a56d44e..e64fdd42454 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -350,7 +350,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 3847d3deb22..a97516184f5 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -353,7 +353,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 4b913ad0963..7c078e12452 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -346,7 +346,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 3239e198efc..af027dfab85 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -351,7 +351,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index c9e4eff4d65..612cabbf5c8 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -359,7 +359,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index c2d7479e171..afabb8762f0 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -37,7 +37,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2023.07.22 # via # -r requirements/static/ci/common.in # -r requirements/static/pkg/py3.10/windows.txt diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 9f892b2ded0..bfe9af9325c 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -352,7 +352,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index c17be26596c..3a8e34cc3a7 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -359,7 +359,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 6459d089483..d4ef3e342d1 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -357,7 +357,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index e56feee544e..3b1e742b78a 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -363,7 +363,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 3bacf53a470..5ce026d6c4a 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -350,7 +350,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 25258765c56..6d261cf7fbe 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -357,7 +357,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index d11b7d47274..e2f95767f10 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -348,7 +348,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index e6aeb6e7e49..2b42d2212bb 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -355,7 +355,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index cd49f1643f8..fd7feba0e98 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -361,7 +361,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 6719e418da3..25c55a98eb8 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -42,7 +42,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index d6321c017a7..db5085bf72e 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -348,7 +348,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 31e1a0ae533..be0de480f07 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -355,7 +355,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index f2504c8c07b..85a5a42a51f 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -346,7 +346,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 118387872aa..9277abed520 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -353,7 +353,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 6ef117960ec..d1bd56d3238 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -359,7 +359,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index f5608623def..94f0c306ff2 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -40,7 +40,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 67a4af161cb..fb2b4c6d03c 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -348,7 +348,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 8cd565e5cf2..634d37cac14 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -350,7 +350,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index bc89980c0c1..20365b35b24 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -353,7 +353,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index f328800e5cd..cd704be1d75 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -346,7 +346,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 3794f8d49a8..0e921ad27c4 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -351,7 +351,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 1f0b13d1160..8c0db482190 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -361,7 +361,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 89959b9c895..1fb6bc9e6a1 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -40,7 +40,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index dff562b6103..4509a6f2f95 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -6,7 +6,7 @@ # apache-libcloud==2.5.0 # via -r requirements/darwin.txt -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index ac04b41cc32..340febd1dfa 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.10/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 2ee103af5a9..3363481323d 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.10/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index 72fa81eaf7d..9f8b7435fb6 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.10/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.5.18.1 +certifi==2023.07.22 # via # -r requirements/windows.txt # requests diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index bd9296141d9..89d93a2edb4 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -6,7 +6,7 @@ # backports.ssl-match-hostname==3.7.0.1 ; python_version < "3.7" # via -r requirements/static/pkg/linux.in -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index 58b198237d5..e120db506e8 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.7/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index e0fb24db663..148e303522a 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.7/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 27160637dea..6c99a1e2f50 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.7/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/windows.txt # requests diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 20eaacdf1fa..8284d972b36 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.8/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index 645793895a4..a470ba4b0a4 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.8/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 8f92533d602..ce2f8ea36f8 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.8/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/windows.txt # requests diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index df9e222db39..a780337dc71 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -6,7 +6,7 @@ # apache-libcloud==2.5.0 # via -r requirements/darwin.txt -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 10018b514b8..353035a0411 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.9/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index a855a5c57c5..bf0d8b54f95 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.9/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 343c6b88625..8212006aec5 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.9/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/windows.txt # requests From dc108031e26287dcca17adf8e97c96bd73b8f48c Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Sun, 23 Jul 2023 11:17:19 -0500 Subject: [PATCH 073/132] Fixed gitfs cachedir_basename to avoid hash collisions --- changelog/cve-2023-20898.security | 1 + salt/utils/gitfs.py | 55 ++++- tests/pytests/unit/utils/test_gitfs.py | 253 ++++++++++++++++++++++ tests/unit/utils/test_gitfs.py | 287 ++++++------------------- 4 files changed, 372 insertions(+), 224 deletions(-) create mode 100644 changelog/cve-2023-20898.security create mode 100644 tests/pytests/unit/utils/test_gitfs.py diff --git a/changelog/cve-2023-20898.security b/changelog/cve-2023-20898.security new file mode 100644 index 00000000000..295e9d27bf9 --- /dev/null +++ b/changelog/cve-2023-20898.security @@ -0,0 +1 @@ +Fixed gtfs cachedir_basename to avoid hash collisions. Added MP Lock to gtfs. These changes should stop race conditions. diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index 01306b4ee6b..79b6484b101 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -11,6 +11,7 @@ import glob import hashlib import io import logging +import multiprocessing import os import shlex import shutil @@ -225,6 +226,10 @@ class GitProvider: invoking the parent class' __init__. """ + # master lock should only be locked for very short periods of times "seconds" + # the master lock should be used when ever git provider reads or writes to one if it locks + _master_lock = multiprocessing.Lock() + def __init__( self, opts, @@ -451,10 +456,19 @@ class GitProvider: failhard(self.role) hash_type = getattr(hashlib, self.opts.get("hash_type", "md5")) + # Generate full id. The full id is made from these parts name-id-env-_root. + # Full id stops collections in the gtfs cache. + self._full_id = "-".join( + [ + getattr(self, "name", ""), + self.id.replace(" ", "-"), + getattr(self, "env", ""), + getattr(self, "_root", ""), + ] + ) # We loaded this data from yaml configuration files, so, its safe # to use UTF-8 - self.hash = hash_type(self.id.encode("utf-8")).hexdigest() - self.cachedir_basename = getattr(self, "name", self.hash) + self.cachedir_basename = f"{getattr(self, 'name', '')}-{hash_type(self._full_id.encode('utf-8')).hexdigest()}" self.cachedir = salt.utils.path.join(cache_root, self.cachedir_basename) self.linkdir = salt.utils.path.join(cache_root, "links", self.cachedir_basename) @@ -472,6 +486,12 @@ class GitProvider: log.critical(msg, exc_info=True) failhard(self.role) + def full_id(self): + return self._full_id + + def get_cachedir_basename(self): + return self.cachedir_basename + def _get_envs_from_ref_paths(self, refs): """ Return the names of remote refs (stripped of the remote name) and tags @@ -662,6 +682,19 @@ class GitProvider: """ Clear update.lk """ + if self.__class__._master_lock.acquire(timeout=60) is False: + # if gtfs works right we should never see this timeout error. + log.error("gtfs master lock timeout!") + raise TimeoutError("gtfs master lock timeout!") + try: + return self._clear_lock(lock_type) + finally: + self.__class__._master_lock.release() + + def _clear_lock(self, lock_type="update"): + """ + Clear update.lk without MultiProcessing locks + """ lock_file = self._get_lock_file(lock_type=lock_type) def _add_error(errlist, exc): @@ -837,6 +870,20 @@ class GitProvider: """ Place a lock file if (and only if) it does not already exist. """ + if self.__class__._master_lock.acquire(timeout=60) is False: + # if gtfs works right we should never see this timeout error. + log.error("gtfs master lock timeout!") + raise TimeoutError("gtfs master lock timeout!") + try: + return self.__lock(lock_type, failhard) + finally: + self.__class__._master_lock.release() + + def __lock(self, lock_type="update", failhard=False): + """ + Place a lock file if (and only if) it does not already exist. + Without MultiProcessing locks. + """ try: fh_ = os.open( self._get_lock_file(lock_type), os.O_CREAT | os.O_EXCL | os.O_WRONLY @@ -903,9 +950,9 @@ class GitProvider: lock_type, lock_file, ) - success, fail = self.clear_lock() + success, fail = self._clear_lock() if success: - return self._lock(lock_type="update", failhard=failhard) + return self.__lock(lock_type="update", failhard=failhard) elif failhard: raise return diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py new file mode 100644 index 00000000000..5395810d5ed --- /dev/null +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -0,0 +1,253 @@ +import os +import shutil +from time import time + +import pytest + +import salt.fileserver.gitfs +import salt.utils.gitfs +import tests.support.paths +from salt.exceptions import FileserverConfigError +from tests.support.mock import MagicMock, patch + +try: + HAS_PYGIT2 = ( + salt.utils.gitfs.PYGIT2_VERSION + and salt.utils.gitfs.PYGIT2_VERSION >= salt.utils.gitfs.PYGIT2_MINVER + and salt.utils.gitfs.LIBGIT2_VERSION + and salt.utils.gitfs.LIBGIT2_VERSION >= salt.utils.gitfs.LIBGIT2_MINVER + ) +except AttributeError: + HAS_PYGIT2 = False + + +if HAS_PYGIT2: + import pygit2 + + +def test_provider_case_insensitive_gtfs_provider(): + """ + Ensure that both lowercase and non-lowercase values are supported + """ + opts = {"cachedir": "/tmp/gitfs-test-cache"} + provider = "GitPython" + for role_name, role_class in ( + ("gitfs", salt.utils.gitfs.GitFS), + ("git_pillar", salt.utils.gitfs.GitPillar), + ("winrepo", salt.utils.gitfs.WinRepo), + ): + + key = "{}_provider".format(role_name) + with patch.object(role_class, "verify_gitpython", MagicMock(return_value=True)): + with patch.object( + role_class, "verify_pygit2", MagicMock(return_value=False) + ): + args = [opts, {}] + kwargs = {"init_remotes": False} + if role_name == "winrepo": + kwargs["cache_root"] = "/tmp/winrepo-dir" + with patch.dict(opts, {key: provider}): + # Try to create an instance with uppercase letters in + # provider name. If it fails then a + # FileserverConfigError will be raised, so no assert is + # necessary. + role_class(*args, **kwargs) + # Now try to instantiate an instance with all lowercase + # letters. Again, no need for an assert here. + role_class(*args, **kwargs) + + +def test_valid_provider_gtfs_provider(): + """ + Ensure that an invalid provider is not accepted, raising a + FileserverConfigError. + """ + opts = {"cachedir": "/tmp/gitfs-test-cache"} + + def _get_mock(verify, provider): + """ + Return a MagicMock with the desired return value + """ + return MagicMock(return_value=verify.endswith(provider)) + + for role_name, role_class in ( + ("gitfs", salt.utils.gitfs.GitFS), + ("git_pillar", salt.utils.gitfs.GitPillar), + ("winrepo", salt.utils.gitfs.WinRepo), + ): + key = "{}_provider".format(role_name) + for provider in salt.utils.gitfs.GIT_PROVIDERS: + verify = "verify_gitpython" + mock1 = _get_mock(verify, provider) + with patch.object(role_class, verify, mock1): + verify = "verify_pygit2" + mock2 = _get_mock(verify, provider) + with patch.object(role_class, verify, mock2): + args = [opts, {}] + kwargs = {"init_remotes": False} + if role_name == "winrepo": + kwargs["cache_root"] = "/tmp/winrepo-dir" + + with patch.dict(opts, {key: provider}): + role_class(*args, **kwargs) + + with patch.dict(opts, {key: "foo"}): + # Set the provider name to a known invalid provider + # and make sure it raises an exception. + with pytest.raises(FileserverConfigError): + role_class(*args, **kwargs) + + +def _prepare_remote_repository_pygit2(path): + shutil.rmtree(path, ignore_errors=True) + + filecontent = "This is an empty README file" + filename = "README" + + signature = pygit2.Signature("Dummy Commiter", "dummy@dummy.com", int(time()), 0) + + repository = pygit2.init_repository(path, False) + builder = repository.TreeBuilder() + tree = builder.write() + commit = repository.create_commit( + "HEAD", signature, signature, "Create master branch", tree, [] + ) + repository.create_reference("refs/tags/simple_tag", commit) + + with salt.utils.files.fopen( + os.path.join(repository.workdir, filename), "w" + ) as file: + file.write(filecontent) + + blob = repository.create_blob_fromworkdir(filename) + builder = repository.TreeBuilder() + builder.insert(filename, blob, pygit2.GIT_FILEMODE_BLOB) + tree = builder.write() + + repository.index.read() + repository.index.add(filename) + repository.index.write() + + commit = repository.create_commit( + "HEAD", + signature, + signature, + "Added a README", + tree, + [repository.head.target], + ) + repository.create_tag( + "annotated_tag", commit, pygit2.GIT_OBJ_COMMIT, signature, "some message" + ) + + +def _prepare_cache_repository_pygit2(remote, cache): + opts = { + "cachedir": cache, + "__role": "minion", + "gitfs_disable_saltenv_mapping": False, + "gitfs_base": "master", + "gitfs_insecure_auth": False, + "gitfs_mountpoint": "", + "gitfs_passphrase": "", + "gitfs_password": "", + "gitfs_privkey": "", + "gitfs_provider": "pygit2", + "gitfs_pubkey": "", + "gitfs_ref_types": ["branch", "tag", "sha"], + "gitfs_refspecs": [ + "+refs/heads/*:refs/remotes/origin/*", + "+refs/tags/*:refs/tags/*", + ], + "gitfs_root": "", + "gitfs_saltenv_blacklist": [], + "gitfs_saltenv_whitelist": [], + "gitfs_ssl_verify": True, + "gitfs_update_interval": 3, + "gitfs_user": "", + "verified_gitfs_provider": "pygit2", + } + per_remote_defaults = { + "base": "master", + "disable_saltenv_mapping": False, + "insecure_auth": False, + "ref_types": ["branch", "tag", "sha"], + "passphrase": "", + "mountpoint": "", + "password": "", + "privkey": "", + "pubkey": "", + "refspecs": [ + "+refs/heads/*:refs/remotes/origin/*", + "+refs/tags/*:refs/tags/*", + ], + "root": "", + "saltenv_blacklist": [], + "saltenv_whitelist": [], + "ssl_verify": True, + "update_interval": 60, + "user": "", + } + per_remote_only = ("all_saltenvs", "name", "saltenv") + override_params = tuple(per_remote_defaults.keys()) + cache_root = os.path.join(cache, "gitfs") + role = "gitfs" + shutil.rmtree(cache_root, ignore_errors=True) + provider = salt.utils.gitfs.Pygit2( + opts, + remote, + per_remote_defaults, + per_remote_only, + override_params, + cache_root, + role, + ) + return provider + + +@pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") +@pytest.mark.skip_on_windows( + reason="Skip Pygit2 on windows, due to pygit2 access error on windows" +) +def test_checkout_pygit2(): + remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") + cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") + _prepare_remote_repository_pygit2(remote) + provider = _prepare_cache_repository_pygit2(remote, cache) + provider.remotecallbacks = None + provider.credentials = None + provider.init_remote() + provider.fetch() + provider.branch = "master" + assert provider.cachedir in provider.checkout() + provider.branch = "simple_tag" + assert provider.cachedir in provider.checkout() + provider.branch = "annotated_tag" + assert provider.cachedir in provider.checkout() + provider.branch = "does_not_exist" + assert provider.checkout() is None + + +@pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") +@pytest.mark.skip_on_windows( + reason="Skip Pygit2 on windows, due to pygit2 access error on windows" +) +def test_full_id_pygit2(): + remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") + cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") + _prepare_remote_repository_pygit2(remote) + provider = _prepare_cache_repository_pygit2(remote, cache) + assert provider.full_id() == "-/tmp/salt-tests-tmpdir/pygit2-repo--" + + +@pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") +@pytest.mark.skip_on_windows( + reason="Skip Pygit2 on windows, due to pygit2 access error on windows" +) +def test_get_cachedir_basename_pygit2(): + remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") + cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") + _prepare_remote_repository_pygit2(remote) + provider = _prepare_cache_repository_pygit2(remote, cache) + # Note: changing full id or the hash type will change this output + assert provider.get_cachedir_basename() == "-f2921dbe1e0a05111ef51c6dea256a47" diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index f4ce05ea928..050686f38d6 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -3,32 +3,18 @@ These only test the provider selection and verification logic, they do not init any remotes. """ +import tempfile -import os -import shutil -from time import time +import pytest +import salt.ext.tornado.ioloop import salt.fileserver.gitfs import salt.utils.files import salt.utils.gitfs +import salt.utils.path import salt.utils.platform -import tests.support.paths -from salt.exceptions import FileserverConfigError from tests.support.mixins import AdaptedConfigurationTestCaseMixin -from tests.support.mock import MagicMock, patch -from tests.support.unit import TestCase, skipIf - -try: - HAS_PYGIT2 = ( - salt.utils.gitfs.PYGIT2_VERSION >= salt.utils.gitfs.PYGIT2_MINVER - and salt.utils.gitfs.LIBGIT2_VERSION >= salt.utils.gitfs.LIBGIT2_MINVER - ) -except AttributeError: - HAS_PYGIT2 = False - - -if HAS_PYGIT2: - import pygit2 +from tests.support.unit import TestCase def _clear_instance_map(): @@ -42,6 +28,9 @@ def _clear_instance_map(): class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): def setUp(self): + self._tmp_dir = tempfile.TemporaryDirectory() + tmp_name = self._tmp_dir.name + class MockedProvider( salt.utils.gitfs.GitProvider ): # pylint: disable=abstract-method @@ -68,6 +57,7 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): ) def init_remote(self): + self.gitdir = salt.utils.path.join(tmp_name, ".git") self.repo = True new = False return new @@ -104,6 +94,7 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): for remote in self.main_class.remotes: remote.fetched = False del self.main_class + self._tmp_dir.cleanup() def test_update_all(self): self.main_class.update() @@ -123,214 +114,70 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): self.assertTrue(self.main_class.remotes[0].fetched) self.assertFalse(self.main_class.remotes[1].fetched) + def test_full_id(self): + self.assertEqual(self.main_class.remotes[0].full_id(), "-file://repo1.git--") -class TestGitFSProvider(TestCase): - def setUp(self): - self.opts = {"cachedir": "/tmp/gitfs-test-cache"} + def test_full_id_with_name(self): + self.assertEqual( + self.main_class.remotes[1].full_id(), "repo2-file://repo2.git--" + ) - def tearDown(self): - self.opts = None + def test_get_cachedir_basename(self): + self.assertEqual( + self.main_class.remotes[0].get_cachedir_basename(), + "-b4dcbd51b08742ec23eaf96d192d29b417ec137ea7ca0c0de2515cfaf6e26860", + ) - def test_provider_case_insensitive(self): + def test_get_cachedir_base_with_name(self): + self.assertEqual( + self.main_class.remotes[1].get_cachedir_basename(), + "repo2-4218c2f8e303c6ea24cc541d8748e523d5b443c3050170a43a1a00be253b56aa", + ) + + def test_git_provider_mp_lock(self): """ - Ensure that both lowercase and non-lowercase values are supported + Check that lock is released after provider.lock() """ - provider = "GitPython" - for role_name, role_class in ( - ("gitfs", salt.utils.gitfs.GitFS), - ("git_pillar", salt.utils.gitfs.GitPillar), - ("winrepo", salt.utils.gitfs.WinRepo), - ): + provider = self.main_class.remotes[0] + provider.lock() + # check that lock has been released + self.assertTrue(provider._master_lock.acquire(timeout=5)) + provider._master_lock.release() - key = "{}_provider".format(role_name) - with patch.object( - role_class, "verify_gitpython", MagicMock(return_value=True) - ): - with patch.object( - role_class, "verify_pygit2", MagicMock(return_value=False) - ): - args = [self.opts, {}] - kwargs = {"init_remotes": False} - if role_name == "winrepo": - kwargs["cache_root"] = "/tmp/winrepo-dir" - with patch.dict(self.opts, {key: provider}): - # Try to create an instance with uppercase letters in - # provider name. If it fails then a - # FileserverConfigError will be raised, so no assert is - # necessary. - role_class(*args, **kwargs) - # Now try to instantiate an instance with all lowercase - # letters. Again, no need for an assert here. - role_class(*args, **kwargs) - - def test_valid_provider(self): + def test_git_provider_mp_clear_lock(self): """ - Ensure that an invalid provider is not accepted, raising a - FileserverConfigError. + Check that lock is released after provider.clear_lock() """ + provider = self.main_class.remotes[0] + provider.clear_lock() + # check that lock has been released + self.assertTrue(provider._master_lock.acquire(timeout=5)) + provider._master_lock.release() - def _get_mock(verify, provider): - """ - Return a MagicMock with the desired return value - """ - return MagicMock(return_value=verify.endswith(provider)) + @pytest.mark.slow_test + def test_git_provider_mp_lock_timeout(self): + """ + Check that lock will time out if master lock is locked. + """ + provider = self.main_class.remotes[0] + # Hijack the lock so git provider is fooled into thinking another instance is doing somthing. + self.assertTrue(provider._master_lock.acquire(timeout=5)) + try: + # git provider should raise timeout error to avoid lock race conditions + self.assertRaises(TimeoutError, provider.lock) + finally: + provider._master_lock.release() - for role_name, role_class in ( - ("gitfs", salt.utils.gitfs.GitFS), - ("git_pillar", salt.utils.gitfs.GitPillar), - ("winrepo", salt.utils.gitfs.WinRepo), - ): - key = "{}_provider".format(role_name) - for provider in salt.utils.gitfs.GIT_PROVIDERS: - verify = "verify_gitpython" - mock1 = _get_mock(verify, provider) - with patch.object(role_class, verify, mock1): - verify = "verify_pygit2" - mock2 = _get_mock(verify, provider) - with patch.object(role_class, verify, mock2): - args = [self.opts, {}] - kwargs = {"init_remotes": False} - if role_name == "winrepo": - kwargs["cache_root"] = "/tmp/winrepo-dir" - - with patch.dict(self.opts, {key: provider}): - role_class(*args, **kwargs) - - with patch.dict(self.opts, {key: "foo"}): - # Set the provider name to a known invalid provider - # and make sure it raises an exception. - self.assertRaises( - FileserverConfigError, role_class, *args, **kwargs - ) - - -@skipIf(not HAS_PYGIT2, "This host lacks proper pygit2 support") -@skipIf( - salt.utils.platform.is_windows(), - "Skip Pygit2 on windows, due to pygit2 access error on windows", -) -class TestPygit2(TestCase): - def _prepare_remote_repository(self, path): - shutil.rmtree(path, ignore_errors=True) - - filecontent = "This is an empty README file" - filename = "README" - - signature = pygit2.Signature( - "Dummy Commiter", "dummy@dummy.com", int(time()), 0 - ) - - repository = pygit2.init_repository(path, False) - builder = repository.TreeBuilder() - tree = builder.write() - commit = repository.create_commit( - "HEAD", signature, signature, "Create master branch", tree, [] - ) - repository.create_reference("refs/tags/simple_tag", commit) - - with salt.utils.files.fopen( - os.path.join(repository.workdir, filename), "w" - ) as file: - file.write(filecontent) - - blob = repository.create_blob_fromworkdir(filename) - builder = repository.TreeBuilder() - builder.insert(filename, blob, pygit2.GIT_FILEMODE_BLOB) - tree = builder.write() - - repository.index.read() - repository.index.add(filename) - repository.index.write() - - commit = repository.create_commit( - "HEAD", - signature, - signature, - "Added a README", - tree, - [repository.head.target], - ) - repository.create_tag( - "annotated_tag", commit, pygit2.GIT_OBJ_COMMIT, signature, "some message" - ) - - def _prepare_cache_repository(self, remote, cache): - opts = { - "cachedir": cache, - "__role": "minion", - "gitfs_disable_saltenv_mapping": False, - "gitfs_base": "master", - "gitfs_insecure_auth": False, - "gitfs_mountpoint": "", - "gitfs_passphrase": "", - "gitfs_password": "", - "gitfs_privkey": "", - "gitfs_provider": "pygit2", - "gitfs_pubkey": "", - "gitfs_ref_types": ["branch", "tag", "sha"], - "gitfs_refspecs": [ - "+refs/heads/*:refs/remotes/origin/*", - "+refs/tags/*:refs/tags/*", - ], - "gitfs_root": "", - "gitfs_saltenv_blacklist": [], - "gitfs_saltenv_whitelist": [], - "gitfs_ssl_verify": True, - "gitfs_update_interval": 3, - "gitfs_user": "", - "verified_gitfs_provider": "pygit2", - } - per_remote_defaults = { - "base": "master", - "disable_saltenv_mapping": False, - "insecure_auth": False, - "ref_types": ["branch", "tag", "sha"], - "passphrase": "", - "mountpoint": "", - "password": "", - "privkey": "", - "pubkey": "", - "refspecs": [ - "+refs/heads/*:refs/remotes/origin/*", - "+refs/tags/*:refs/tags/*", - ], - "root": "", - "saltenv_blacklist": [], - "saltenv_whitelist": [], - "ssl_verify": True, - "update_interval": 60, - "user": "", - } - per_remote_only = ("all_saltenvs", "name", "saltenv") - override_params = tuple(per_remote_defaults.keys()) - cache_root = os.path.join(cache, "gitfs") - role = "gitfs" - shutil.rmtree(cache_root, ignore_errors=True) - provider = salt.utils.gitfs.Pygit2( - opts, - remote, - per_remote_defaults, - per_remote_only, - override_params, - cache_root, - role, - ) - return provider - - def test_checkout(self): - remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") - cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") - self._prepare_remote_repository(remote) - provider = self._prepare_cache_repository(remote, cache) - provider.remotecallbacks = None - provider.credentials = None - provider.init_remote() - provider.fetch() - provider.branch = "master" - self.assertIn(provider.cachedir, provider.checkout()) - provider.branch = "simple_tag" - self.assertIn(provider.cachedir, provider.checkout()) - provider.branch = "annotated_tag" - self.assertIn(provider.cachedir, provider.checkout()) - provider.branch = "does_not_exist" - self.assertIsNone(provider.checkout()) + @pytest.mark.slow_test + def test_git_provider_mp_clear_lock_timeout(self): + """ + Check that clear lock will time out if master lock is locked. + """ + provider = self.main_class.remotes[0] + # Hijack the lock so git provider is fooled into thinking another instance is doing somthing. + self.assertTrue(provider._master_lock.acquire(timeout=5)) + try: + # git provider should raise timeout error to avoid lock race conditions + self.assertRaises(TimeoutError, provider.clear_lock) + finally: + provider._master_lock.release() From cbcc5fb90449da9cca97fabf92994bba05540673 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Mon, 24 Jul 2023 14:12:20 -0500 Subject: [PATCH 074/132] Fix gitfs tests --- tests/pytests/unit/utils/test_gitfs.py | 220 ++++++++++++------------- 1 file changed, 108 insertions(+), 112 deletions(-) diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 5395810d5ed..a5bed3d8dbf 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -1,12 +1,11 @@ import os -import shutil +import string from time import time import pytest import salt.fileserver.gitfs import salt.utils.gitfs -import tests.support.paths from salt.exceptions import FileserverConfigError from tests.support.mock import MagicMock, patch @@ -25,44 +24,58 @@ if HAS_PYGIT2: import pygit2 -def test_provider_case_insensitive_gtfs_provider(): - """ - Ensure that both lowercase and non-lowercase values are supported - """ - opts = {"cachedir": "/tmp/gitfs-test-cache"} - provider = "GitPython" - for role_name, role_class in ( +@pytest.mark.parametrize( + "role_name,role_class", + ( ("gitfs", salt.utils.gitfs.GitFS), ("git_pillar", salt.utils.gitfs.GitPillar), ("winrepo", salt.utils.gitfs.WinRepo), - ): - - key = "{}_provider".format(role_name) - with patch.object(role_class, "verify_gitpython", MagicMock(return_value=True)): - with patch.object( - role_class, "verify_pygit2", MagicMock(return_value=False) - ): - args = [opts, {}] - kwargs = {"init_remotes": False} - if role_name == "winrepo": - kwargs["cache_root"] = "/tmp/winrepo-dir" - with patch.dict(opts, {key: provider}): - # Try to create an instance with uppercase letters in - # provider name. If it fails then a - # FileserverConfigError will be raised, so no assert is - # necessary. - role_class(*args, **kwargs) - # Now try to instantiate an instance with all lowercase - # letters. Again, no need for an assert here. + ), +) +def test_provider_case_insensitive_gitfs_provider(minion_opts, role_name, role_class): + """ + Ensure that both lowercase and non-lowercase values are supported + """ + provider = "GitPython" + key = "{}_provider".format(role_name) + with patch.object(role_class, "verify_gitpython", MagicMock(return_value=True)): + with patch.object(role_class, "verify_pygit2", MagicMock(return_value=False)): + args = [minion_opts, {}] + kwargs = {"init_remotes": False} + if role_name == "winrepo": + kwargs["cache_root"] = "/tmp/winrepo-dir" + with patch.dict(minion_opts, {key: provider}): + # Try to create an instance with uppercase letters in + # provider name. If it fails then a + # FileserverConfigError will be raised, so no assert is + # necessary. role_class(*args, **kwargs) + # Now try to instantiate an instance with all lowercase + # letters. Again, no need for an assert here. + role_class(*args, **kwargs) + pytest.mark.parametrize( + "role_name,role_class", + ( + ("gitfs", salt.utils.gitfs.GitFS), + ("git_pillar", salt.utils.gitfs.GitPillar), + ("winrepo", salt.utils.gitfs.WinRepo), + ), + ) -def test_valid_provider_gtfs_provider(): +@pytest.mark.parametrize( + "role_name,role_class", + ( + ("gitfs", salt.utils.gitfs.GitFS), + ("git_pillar", salt.utils.gitfs.GitPillar), + ("winrepo", salt.utils.gitfs.WinRepo), + ), +) +def test_valid_provider_gitfs_provider(minion_opts, role_name, role_class): """ Ensure that an invalid provider is not accepted, raising a FileserverConfigError. """ - opts = {"cachedir": "/tmp/gitfs-test-cache"} def _get_mock(verify, provider): """ @@ -70,64 +83,51 @@ def test_valid_provider_gtfs_provider(): """ return MagicMock(return_value=verify.endswith(provider)) - for role_name, role_class in ( - ("gitfs", salt.utils.gitfs.GitFS), - ("git_pillar", salt.utils.gitfs.GitPillar), - ("winrepo", salt.utils.gitfs.WinRepo), - ): - key = "{}_provider".format(role_name) - for provider in salt.utils.gitfs.GIT_PROVIDERS: - verify = "verify_gitpython" - mock1 = _get_mock(verify, provider) - with patch.object(role_class, verify, mock1): - verify = "verify_pygit2" - mock2 = _get_mock(verify, provider) - with patch.object(role_class, verify, mock2): - args = [opts, {}] - kwargs = {"init_remotes": False} - if role_name == "winrepo": - kwargs["cache_root"] = "/tmp/winrepo-dir" - - with patch.dict(opts, {key: provider}): + key = "{}_provider".format(role_name) + for provider in salt.utils.gitfs.GIT_PROVIDERS: + verify = "verify_gitpython" + mock1 = _get_mock(verify, provider) + with patch.object(role_class, verify, mock1): + verify = "verify_pygit2" + mock2 = _get_mock(verify, provider) + with patch.object(role_class, verify, mock2): + args = [minion_opts, {}] + kwargs = {"init_remotes": False} + if role_name == "winrepo": + kwargs["cache_root"] = "/tmp/winrepo-dir" + with patch.dict(minion_opts, {key: provider}): + role_class(*args, **kwargs) + with patch.dict(minion_opts, {key: "foo"}): + # Set the provider name to a known invalid provider + # and make sure it raises an exception. + with pytest.raises(FileserverConfigError): role_class(*args, **kwargs) - with patch.dict(opts, {key: "foo"}): - # Set the provider name to a known invalid provider - # and make sure it raises an exception. - with pytest.raises(FileserverConfigError): - role_class(*args, **kwargs) - - -def _prepare_remote_repository_pygit2(path): - shutil.rmtree(path, ignore_errors=True) +@pytest.fixture +def _prepare_remote_repository_pygit2(tmp_path): + remote = os.path.join(tmp_path, "pygit2-repo") filecontent = "This is an empty README file" filename = "README" - signature = pygit2.Signature("Dummy Commiter", "dummy@dummy.com", int(time()), 0) - - repository = pygit2.init_repository(path, False) + repository = pygit2.init_repository(remote, False) builder = repository.TreeBuilder() tree = builder.write() commit = repository.create_commit( "HEAD", signature, signature, "Create master branch", tree, [] ) repository.create_reference("refs/tags/simple_tag", commit) - with salt.utils.files.fopen( os.path.join(repository.workdir, filename), "w" ) as file: file.write(filecontent) - blob = repository.create_blob_fromworkdir(filename) builder = repository.TreeBuilder() builder.insert(filename, blob, pygit2.GIT_FILEMODE_BLOB) tree = builder.write() - repository.index.read() repository.index.add(filename) repository.index.write() - commit = repository.create_commit( "HEAD", signature, @@ -139,34 +139,38 @@ def _prepare_remote_repository_pygit2(path): repository.create_tag( "annotated_tag", commit, pygit2.GIT_OBJ_COMMIT, signature, "some message" ) + return remote -def _prepare_cache_repository_pygit2(remote, cache): - opts = { - "cachedir": cache, - "__role": "minion", - "gitfs_disable_saltenv_mapping": False, - "gitfs_base": "master", - "gitfs_insecure_auth": False, - "gitfs_mountpoint": "", - "gitfs_passphrase": "", - "gitfs_password": "", - "gitfs_privkey": "", - "gitfs_provider": "pygit2", - "gitfs_pubkey": "", - "gitfs_ref_types": ["branch", "tag", "sha"], - "gitfs_refspecs": [ - "+refs/heads/*:refs/remotes/origin/*", - "+refs/tags/*:refs/tags/*", - ], - "gitfs_root": "", - "gitfs_saltenv_blacklist": [], - "gitfs_saltenv_whitelist": [], - "gitfs_ssl_verify": True, - "gitfs_update_interval": 3, - "gitfs_user": "", - "verified_gitfs_provider": "pygit2", - } +@pytest.fixture +def _prepare_provider(tmp_path, minion_opts, _prepare_remote_repository_pygit2): + cache = os.path.join(tmp_path, "pygit2-repo-cache") + minion_opts.update( + { + "cachedir": cache, + "gitfs_disable_saltenv_mapping": False, + "gitfs_base": "master", + "gitfs_insecure_auth": False, + "gitfs_mountpoint": "", + "gitfs_passphrase": "", + "gitfs_password": "", + "gitfs_privkey": "", + "gitfs_provider": "pygit2", + "gitfs_pubkey": "", + "gitfs_ref_types": ["branch", "tag", "sha"], + "gitfs_refspecs": [ + "+refs/heads/*:refs/remotes/origin/*", + "+refs/tags/*:refs/tags/*", + ], + "gitfs_root": "", + "gitfs_saltenv_blacklist": [], + "gitfs_saltenv_whitelist": [], + "gitfs_ssl_verify": True, + "gitfs_update_interval": 3, + "gitfs_user": "", + "verified_gitfs_provider": "pygit2", + } + ) per_remote_defaults = { "base": "master", "disable_saltenv_mapping": False, @@ -192,10 +196,9 @@ def _prepare_cache_repository_pygit2(remote, cache): override_params = tuple(per_remote_defaults.keys()) cache_root = os.path.join(cache, "gitfs") role = "gitfs" - shutil.rmtree(cache_root, ignore_errors=True) provider = salt.utils.gitfs.Pygit2( - opts, - remote, + minion_opts, + _prepare_remote_repository_pygit2, per_remote_defaults, per_remote_only, override_params, @@ -209,11 +212,8 @@ def _prepare_cache_repository_pygit2(remote, cache): @pytest.mark.skip_on_windows( reason="Skip Pygit2 on windows, due to pygit2 access error on windows" ) -def test_checkout_pygit2(): - remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") - cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") - _prepare_remote_repository_pygit2(remote) - provider = _prepare_cache_repository_pygit2(remote, cache) +def test_checkout_pygit2(_prepare_provider): + provider = _prepare_provider provider.remotecallbacks = None provider.credentials = None provider.init_remote() @@ -232,22 +232,18 @@ def test_checkout_pygit2(): @pytest.mark.skip_on_windows( reason="Skip Pygit2 on windows, due to pygit2 access error on windows" ) -def test_full_id_pygit2(): - remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") - cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") - _prepare_remote_repository_pygit2(remote) - provider = _prepare_cache_repository_pygit2(remote, cache) - assert provider.full_id() == "-/tmp/salt-tests-tmpdir/pygit2-repo--" +def test_full_id_pygit2(_prepare_provider): + assert _prepare_provider.full_id().startswith("-") + assert _prepare_provider.full_id().endswith("/pygit2-repo--") @pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") @pytest.mark.skip_on_windows( reason="Skip Pygit2 on windows, due to pygit2 access error on windows" ) -def test_get_cachedir_basename_pygit2(): - remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") - cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") - _prepare_remote_repository_pygit2(remote) - provider = _prepare_cache_repository_pygit2(remote, cache) - # Note: changing full id or the hash type will change this output - assert provider.get_cachedir_basename() == "-f2921dbe1e0a05111ef51c6dea256a47" +def test_get_cachedir_basename_pygit2(_prepare_provider): + basename = _prepare_provider.get_cachedir_basename() + assert len(basename) > 1 + assert basename[0] == "-" + # check that a valid hex is given + assert all(c in string.hexdigits for c in basename[1:]) From 9529f721f7ebf10b52b6738045096859c411436a Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 27 Jul 2023 12:07:12 +0100 Subject: [PATCH 075/132] Fix gitfs tests --- tests/pytests/unit/utils/test_gitfs.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index a5bed3d8dbf..32a96b75574 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -3,7 +3,7 @@ import string from time import time import pytest - +import salt.config import salt.fileserver.gitfs import salt.utils.gitfs from salt.exceptions import FileserverConfigError @@ -24,6 +24,23 @@ if HAS_PYGIT2: import pygit2 +@pytest.fixture +def minion_opts(tmp_path): + """ + Default minion configuration with relative temporary paths to not require root permissions. + """ + root_dir = tmp_path / "minion" + opts = salt.config.DEFAULT_MINION_OPTS.copy() + opts["__role"] = "minion" + opts["root_dir"] = str(root_dir) + for name in ("cachedir", "pki_dir", "sock_dir", "conf_dir"): + dirpath = root_dir / name + dirpath.mkdir(parents=True) + opts[name] = str(dirpath) + opts["log_file"] = "logs/minion.log" + return opts + + @pytest.mark.parametrize( "role_name,role_class", ( From 5ea80bb53937b9ee63d3e38dc2e08041d18009b5 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 27 Jul 2023 12:08:00 +0100 Subject: [PATCH 076/132] It's `gitfs` not `gtfs`, plus some code fixes and cleanup Signed-off-by: Pedro Algarvio --- changelog/cve-2023-20898.security | 2 +- salt/utils/gitfs.py | 14 +++++++------- tests/pytests/unit/utils/test_gitfs.py | 24 +++++++++--------------- tests/unit/utils/test_gitfs.py | 1 - 4 files changed, 17 insertions(+), 24 deletions(-) diff --git a/changelog/cve-2023-20898.security b/changelog/cve-2023-20898.security index 295e9d27bf9..44f1729192d 100644 --- a/changelog/cve-2023-20898.security +++ b/changelog/cve-2023-20898.security @@ -1 +1 @@ -Fixed gtfs cachedir_basename to avoid hash collisions. Added MP Lock to gtfs. These changes should stop race conditions. +Fixed gitfs cachedir_basename to avoid hash collisions. Added MP Lock to gitfs. These changes should stop race conditions. diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index 79b6484b101..f53eea65d48 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -457,7 +457,7 @@ class GitProvider: hash_type = getattr(hashlib, self.opts.get("hash_type", "md5")) # Generate full id. The full id is made from these parts name-id-env-_root. - # Full id stops collections in the gtfs cache. + # Full id stops collections in the gitfs cache. self._full_id = "-".join( [ getattr(self, "name", ""), @@ -683,9 +683,9 @@ class GitProvider: Clear update.lk """ if self.__class__._master_lock.acquire(timeout=60) is False: - # if gtfs works right we should never see this timeout error. - log.error("gtfs master lock timeout!") - raise TimeoutError("gtfs master lock timeout!") + # if gitfs works right we should never see this timeout error. + log.error("gitfs master lock timeout!") + raise TimeoutError("gitfs master lock timeout!") try: return self._clear_lock(lock_type) finally: @@ -871,9 +871,9 @@ class GitProvider: Place a lock file if (and only if) it does not already exist. """ if self.__class__._master_lock.acquire(timeout=60) is False: - # if gtfs works right we should never see this timeout error. - log.error("gtfs master lock timeout!") - raise TimeoutError("gtfs master lock timeout!") + # if gitfs works right we should never see this timeout error. + log.error("gitfs master lock timeout!") + raise TimeoutError("gitfs master lock timeout!") try: return self.__lock(lock_type, failhard) finally: diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 32a96b75574..91313b74e85 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -1,6 +1,6 @@ import os import string -from time import time +import time import pytest import salt.config @@ -70,14 +70,6 @@ def test_provider_case_insensitive_gitfs_provider(minion_opts, role_name, role_c # Now try to instantiate an instance with all lowercase # letters. Again, no need for an assert here. role_class(*args, **kwargs) - pytest.mark.parametrize( - "role_name,role_class", - ( - ("gitfs", salt.utils.gitfs.GitFS), - ("git_pillar", salt.utils.gitfs.GitPillar), - ("winrepo", salt.utils.gitfs.WinRepo), - ), - ) @pytest.mark.parametrize( @@ -126,7 +118,9 @@ def _prepare_remote_repository_pygit2(tmp_path): remote = os.path.join(tmp_path, "pygit2-repo") filecontent = "This is an empty README file" filename = "README" - signature = pygit2.Signature("Dummy Commiter", "dummy@dummy.com", int(time()), 0) + signature = pygit2.Signature( + "Dummy Commiter", "dummy@dummy.com", int(time.time()), 0 + ) repository = pygit2.init_repository(remote, False) builder = repository.TreeBuilder() tree = builder.write() @@ -161,10 +155,10 @@ def _prepare_remote_repository_pygit2(tmp_path): @pytest.fixture def _prepare_provider(tmp_path, minion_opts, _prepare_remote_repository_pygit2): - cache = os.path.join(tmp_path, "pygit2-repo-cache") + cache = tmp_path / "pygit2-repo-cache" minion_opts.update( { - "cachedir": cache, + "cachedir": str(cache), "gitfs_disable_saltenv_mapping": False, "gitfs_base": "master", "gitfs_insecure_auth": False, @@ -210,8 +204,8 @@ def _prepare_provider(tmp_path, minion_opts, _prepare_remote_repository_pygit2): "user": "", } per_remote_only = ("all_saltenvs", "name", "saltenv") - override_params = tuple(per_remote_defaults.keys()) - cache_root = os.path.join(cache, "gitfs") + override_params = tuple(per_remote_defaults) + cache_root = cache / "gitfs" role = "gitfs" provider = salt.utils.gitfs.Pygit2( minion_opts, @@ -219,7 +213,7 @@ def _prepare_provider(tmp_path, minion_opts, _prepare_remote_repository_pygit2): per_remote_defaults, per_remote_only, override_params, - cache_root, + str(cache_root), role, ) return provider diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index 050686f38d6..b82fd4bff63 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -6,7 +6,6 @@ any remotes. import tempfile import pytest - import salt.ext.tornado.ioloop import salt.fileserver.gitfs import salt.utils.files From 57caa68934d9a408a740345e489de27d089a5f5e Mon Sep 17 00:00:00 2001 From: twangboy Date: Mon, 31 Jul 2023 22:09:00 -0600 Subject: [PATCH 077/132] Update Python to 3.9.17 --- pkg/osx/build_env.sh | 2 +- pkg/osx/package.sh | 2 +- pkg/osx/sign_binaries.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/osx/build_env.sh b/pkg/osx/build_env.sh index 8ce6aa3b787..b4b791c4c9f 100755 --- a/pkg/osx/build_env.sh +++ b/pkg/osx/build_env.sh @@ -59,7 +59,7 @@ export MACOSX_DEPLOYMENT_TARGET # Versions we're going to install PY_VERSION=3.9 -PY_DOT_VERSION=3.9.16 +PY_DOT_VERSION=3.9.17 ZMQ_VERSION=4.3.4 LIBSODIUM_VERSION=1.0.18 diff --git a/pkg/osx/package.sh b/pkg/osx/package.sh index 11babf7198d..e4ac0a3d61d 100755 --- a/pkg/osx/package.sh +++ b/pkg/osx/package.sh @@ -94,7 +94,7 @@ echo "**** Setting Variables" SRCDIR=`git rev-parse --show-toplevel` PKGRESOURCES=$SRCDIR/pkg/osx PY_VERSION=3.9 -PY_DOT_VERSION=3.9.16 +PY_DOT_VERSION=3.9.17 ################################################################################ # Make sure this is the Salt Repository diff --git a/pkg/osx/sign_binaries.sh b/pkg/osx/sign_binaries.sh index 4d9af4297f5..bcaaf8f9760 100755 --- a/pkg/osx/sign_binaries.sh +++ b/pkg/osx/sign_binaries.sh @@ -68,7 +68,7 @@ quit_on_error() { echo "**** Setting Variables" INSTALL_DIR=/opt/salt PY_VERSION=3.9 -PY_DOT_VERSION=3.9.16 +PY_DOT_VERSION=3.9.17 CMD_OUTPUT=$(mktemp -t cmd.log) SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) From 73beb55291ce292599259187ea5837414eb040e1 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Mon, 31 Jul 2023 14:58:04 -0600 Subject: [PATCH 078/132] [3005.2] Update docs --- CHANGELOG.md | 35 +++++++++ changelog/63757.changed | 4 - changelog/64336.security | 4 - changelog/64595.security | 11 --- changelog/64720.security | 3 - changelog/cve-2023-20897.security | 2 - changelog/cve-2023-20898.security | 1 - doc/man/salt-api.1 | 2 +- doc/man/salt-call.1 | 2 +- doc/man/salt-cloud.1 | 2 +- doc/man/salt-cp.1 | 2 +- doc/man/salt-key.1 | 2 +- doc/man/salt-master.1 | 2 +- doc/man/salt-minion.1 | 2 +- doc/man/salt-proxy.1 | 2 +- doc/man/salt-run.1 | 2 +- doc/man/salt-ssh.1 | 2 +- doc/man/salt-syndic.1 | 2 +- doc/man/salt.1 | 2 +- doc/man/salt.7 | 123 ++++++++++++++++++++++++++---- doc/man/spm.1 | 2 +- doc/topics/releases/3005.2.rst | 40 ++++++++++ 22 files changed, 196 insertions(+), 53 deletions(-) delete mode 100644 changelog/63757.changed delete mode 100644 changelog/64336.security delete mode 100644 changelog/64595.security delete mode 100644 changelog/64720.security delete mode 100644 changelog/cve-2023-20897.security delete mode 100644 changelog/cve-2023-20898.security create mode 100644 doc/topics/releases/3005.2.rst diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e480780b89..2d3bbf08aac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,41 @@ Versions are `MAJOR.PATCH`. # Changelog +Salt v3005.2 (2023-07-31) +========================= + +Changed +------- + +- Additional required package upgrades + + * It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. + * Upgrade to `pyopenssl==23.0.0` due to the cryptography upgrade. (#63757) + + +Security +-------- + +- fix CVE-2023-20897 by catching exception instead of letting exception disrupt connection (cve-2023-20897) +- Fixed gitfs cachedir_basename to avoid hash collisions. Added MP Lock to gitfs. These changes should stop race conditions. (cve-2023-20898) +- Upgrade to `requests==2.31.0` + + Due to: + * https://github.com/advisories/GHSA-j8r2-6x86-q33q (#64336) +- Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) + + Also resolves the following cryptography advisories: + + Due to: + * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 + * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r + + There is no security upgrade available for Py3.5 (#64595) +- Bump to `certifi==2023.07.22` due to https://github.com/advisories/GHSA-xqr8-7jwr-rhp7 + + Python 3.5 cannot get the updated requirements since certifi no longer supports this python version (#64720) + + Salt v3005.1-2 (2022-11-04) =========================== diff --git a/changelog/63757.changed b/changelog/63757.changed deleted file mode 100644 index 99023c4391e..00000000000 --- a/changelog/63757.changed +++ /dev/null @@ -1,4 +0,0 @@ -Additional required package upgrades - -* It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. -* Upgrade to `pyopenssl==23.0.0` due to the cryptography upgrade. diff --git a/changelog/64336.security b/changelog/64336.security deleted file mode 100644 index a7b1c186a1d..00000000000 --- a/changelog/64336.security +++ /dev/null @@ -1,4 +0,0 @@ -Upgrade to `requests==2.31.0` - -Due to: - * https://github.com/advisories/GHSA-j8r2-6x86-q33q diff --git a/changelog/64595.security b/changelog/64595.security deleted file mode 100644 index 737603b7704..00000000000 --- a/changelog/64595.security +++ /dev/null @@ -1,11 +0,0 @@ -Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) - -This only really impacts pip installs of Salt and the windows onedir since the linux and macos onedir build every package dependency from source, not from pre-existing wheels. - -Also resolves the following cryptography advisories: - -Due to: - * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 - * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r - -There is no security upgrade available for Py3.5 diff --git a/changelog/64720.security b/changelog/64720.security deleted file mode 100644 index 56008704290..00000000000 --- a/changelog/64720.security +++ /dev/null @@ -1,3 +0,0 @@ -Bump to `certifi==2023.07.22` due to https://github.com/advisories/GHSA-xqr8-7jwr-rhp7 - -Python 3.5 cannot get the updated requirements since certifi no longer supports this python version diff --git a/changelog/cve-2023-20897.security b/changelog/cve-2023-20897.security deleted file mode 100644 index 80949fa4cf1..00000000000 --- a/changelog/cve-2023-20897.security +++ /dev/null @@ -1,2 +0,0 @@ -fix CVE-2023-20897 by catching exception instead of letting exception disrupt connection - diff --git a/changelog/cve-2023-20898.security b/changelog/cve-2023-20898.security deleted file mode 100644 index 44f1729192d..00000000000 --- a/changelog/cve-2023-20898.security +++ /dev/null @@ -1 +0,0 @@ -Fixed gitfs cachedir_basename to avoid hash collisions. Added MP Lock to gitfs. These changes should stop race conditions. diff --git a/doc/man/salt-api.1 b/doc/man/salt-api.1 index d16ccecdc62..bb220cc6de7 100644 --- a/doc/man/salt-api.1 +++ b/doc/man/salt-api.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-API" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-API" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-api \- salt-api Command . diff --git a/doc/man/salt-call.1 b/doc/man/salt-call.1 index ff7840d000a..6d5d600a3b0 100644 --- a/doc/man/salt-call.1 +++ b/doc/man/salt-call.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CALL" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-CALL" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-call \- salt-call Documentation . diff --git a/doc/man/salt-cloud.1 b/doc/man/salt-cloud.1 index cf8c8fb4d77..4393e2c7759 100644 --- a/doc/man/salt-cloud.1 +++ b/doc/man/salt-cloud.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CLOUD" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-CLOUD" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-cloud \- Salt Cloud Command . diff --git a/doc/man/salt-cp.1 b/doc/man/salt-cp.1 index c8b9e7e1d4b..cedd853c3ba 100644 --- a/doc/man/salt-cp.1 +++ b/doc/man/salt-cp.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CP" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-CP" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-cp \- salt-cp Documentation . diff --git a/doc/man/salt-key.1 b/doc/man/salt-key.1 index 376306fa084..9986c6e6e81 100644 --- a/doc/man/salt-key.1 +++ b/doc/man/salt-key.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-KEY" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-KEY" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-key \- salt-key Documentation . diff --git a/doc/man/salt-master.1 b/doc/man/salt-master.1 index 3bf84df2768..0cbb11f0b41 100644 --- a/doc/man/salt-master.1 +++ b/doc/man/salt-master.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-MASTER" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-MASTER" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-master \- salt-master Documentation . diff --git a/doc/man/salt-minion.1 b/doc/man/salt-minion.1 index 24c8fb9e66f..6eb093ddadf 100644 --- a/doc/man/salt-minion.1 +++ b/doc/man/salt-minion.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-MINION" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-MINION" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-minion \- salt-minion Documentation . diff --git a/doc/man/salt-proxy.1 b/doc/man/salt-proxy.1 index 1ff82816ff0..1293e29076d 100644 --- a/doc/man/salt-proxy.1 +++ b/doc/man/salt-proxy.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-PROXY" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-PROXY" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-proxy \- salt-proxy Documentation . diff --git a/doc/man/salt-run.1 b/doc/man/salt-run.1 index 246d55f2407..ef26eb23f8b 100644 --- a/doc/man/salt-run.1 +++ b/doc/man/salt-run.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-RUN" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-RUN" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-run \- salt-run Documentation . diff --git a/doc/man/salt-ssh.1 b/doc/man/salt-ssh.1 index 40f96b83d11..7fc3e8ce933 100644 --- a/doc/man/salt-ssh.1 +++ b/doc/man/salt-ssh.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-SSH" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-SSH" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-ssh \- salt-ssh Documentation . diff --git a/doc/man/salt-syndic.1 b/doc/man/salt-syndic.1 index f9f9d24d465..61f63c517c6 100644 --- a/doc/man/salt-syndic.1 +++ b/doc/man/salt-syndic.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-SYNDIC" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-SYNDIC" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-syndic \- salt-syndic Documentation . diff --git a/doc/man/salt.1 b/doc/man/salt.1 index 56d3a69e834..f32b35f818e 100644 --- a/doc/man/salt.1 +++ b/doc/man/salt.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt \- salt . diff --git a/doc/man/salt.7 b/doc/man/salt.7 index 5b46f8fecbc..ea0b55e322c 100644 --- a/doc/man/salt.7 +++ b/doc/man/salt.7 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT" "7" "Sep 26, 2022" "3005" "Salt" +.TH "SALT" "7" "Jul 31, 2023" "3005" "Salt" .SH NAME salt \- Salt Documentation . @@ -151127,7 +151127,7 @@ salt \(aq*\(aq cmd.powershell_all "dir mydirectory" force_list=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.retcode(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.retcode(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute a shell command and return the command\(aqs return code. .INDENT 7.0 .TP @@ -151386,7 +151386,7 @@ salt \(aq*\(aq cmd.retcode "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, encoded_cmd=False, raise_err=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, encoded_cmd=False, raise_err=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute the passed command and return the output as a string .INDENT 7.0 .TP @@ -151767,7 +151767,7 @@ salt \(aq*\(aq cmd.run cmd=\(aqsed \-e s/=/:/g\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_all(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, redirect_stderr=False, password=None, encoded_cmd=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_all(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, redirect_stderr=False, password=None, encoded_cmd=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute the passed command and return a dict of return data .INDENT 7.0 .TP @@ -152110,7 +152110,7 @@ salt \(aq*\(aq cmd.run_all "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_bg(cmd, cwd=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, timeout=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_bg(cmd, cwd=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, timeout=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) New in version 2016.3.0. .sp @@ -152411,7 +152411,7 @@ salt \(aq*\(aq cmd.run_bg cmd=\(aqls \-lR / | sed \-e s/=/:/g > /tmp/dontwait\(a .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_chroot(root, cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=True, binds=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqquiet\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_chroot(root, cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=True, binds=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqquiet\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) New in version 2014.7.0. .sp @@ -152632,7 +152632,7 @@ salt \(aq*\(aq cmd.run_chroot /var/lib/lxc/container_name/rootfs \(aqsh /tmp/boo .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_stderr(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_stderr(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute a command and only return the standard error .INDENT 7.0 .TP @@ -152909,7 +152909,7 @@ salt \(aq*\(aq cmd.run_stderr "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_stdout(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_stdout(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute a command, and only return the standard out .INDENT 7.0 .TP @@ -153186,7 +153186,7 @@ salt \(aq*\(aq cmd.run_stdout "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.script(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, saltenv=None, use_vt=False, bg=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.script(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, saltenv=None, use_vt=False, bg=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Download a script from a remote location and execute the script locally. The script can be located on the salt master file server or on an HTTP/FTP server. @@ -153462,7 +153462,7 @@ salt \(aq*\(aq cmd.script salt://scripts/runme.sh stdin=\(aqone\entwo\enthree\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.script_retcode(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, saltenv=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.script_retcode(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, saltenv=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Download a script from a remote location and execute the script locally. The script can be located on the salt master file server or on an HTTP/FTP server. @@ -153687,7 +153687,7 @@ salt \(aq*\(aq cmd.script_retcode salt://scripts/runme.sh stdin=\(aqone\entwo\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.shell(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.shell(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute the passed command and return the output as a string. .sp New in version 2015.5.0. @@ -192875,7 +192875,7 @@ Passes through all the parameters described in the \fI\%utils.http.query function\fP: .INDENT 7.0 .TP -.B salt.utils.http.query(url, method=\(aqGET\(aq, params=None, data=None, data_file=None, header_dict=None, header_list=None, header_file=None, username=None, password=None, auth=None, decode=False, decode_type=\(aqauto\(aq, status=False, headers=False, text=False, cookies=None, cookie_jar=None, cookie_format=\(aqlwp\(aq, persist_session=False, session_cookie_jar=None, data_render=False, data_renderer=None, header_render=False, header_renderer=None, template_dict=None, test=False, test_url=None, node=\(aqminion\(aq, port=80, opts=None, backend=None, ca_bundle=None, verify_ssl=None, cert=None, text_out=None, headers_out=None, decode_out=None, stream=False, streaming_callback=None, header_callback=None, handle=False, agent=\(aqSalt/3005+0na.a0d3c44\(aq, hide_fields=None, raise_error=True, formdata=False, formdata_fieldname=None, formdata_filename=None, decode_body=True, **kwargs) +.B salt.utils.http.query(url, method=\(aqGET\(aq, params=None, data=None, data_file=None, header_dict=None, header_list=None, header_file=None, username=None, password=None, auth=None, decode=False, decode_type=\(aqauto\(aq, status=False, headers=False, text=False, cookies=None, cookie_jar=None, cookie_format=\(aqlwp\(aq, persist_session=False, session_cookie_jar=None, data_render=False, data_renderer=None, header_render=False, header_renderer=None, template_dict=None, test=False, test_url=None, node=\(aqminion\(aq, port=80, opts=None, backend=None, ca_bundle=None, verify_ssl=None, cert=None, text_out=None, headers_out=None, decode_out=None, stream=False, streaming_callback=None, header_callback=None, handle=False, agent=\(aqSalt/3005.1+63.g5ea80bb539\(aq, hide_fields=None, raise_error=True, formdata=False, formdata_fieldname=None, formdata_filename=None, decode_body=True, **kwargs) Query a resource, and decode the return data .UNINDENT .INDENT 7.0 @@ -335748,8 +335748,8 @@ Alternate constructor that accept multiple recipients and rooms .B filter(record) Determine if the specified record is to be logged. .sp -Is the specified record to be logged? Returns 0 for no, nonzero for -yes. If deemed appropriate, the record may be modified in\-place. +Returns True if the record should be logged, or False otherwise. +If deemed appropriate, the record may be modified in\-place. .UNINDENT .UNINDENT .INDENT 0.0 @@ -448748,7 +448748,7 @@ installed2 .UNINDENT .INDENT 0.0 .TP -.B salt.states.zcbuildout.installed(name, config=\(aqbuildout.cfg\(aq, quiet=False, parts=None, user=None, env=(), buildout_ver=None, test_release=False, distribute=None, new_st=None, offline=False, newest=False, python=\(aq/__w/salt/salt/.nox/docs\-man\-compress\-false\-update\-true\-clean\-true/bin/python\(aq, debug=False, verbose=False, unless=None, onlyif=None, use_vt=False, loglevel=\(aqdebug\(aq, **kwargs) +.B salt.states.zcbuildout.installed(name, config=\(aqbuildout.cfg\(aq, quiet=False, parts=None, user=None, env=(), buildout_ver=None, test_release=False, distribute=None, new_st=None, offline=False, newest=False, python=\(aq/home/ch3ll/git/salt/.nox/docs\-man\-compress\-false\-update\-true\-clean\-true/bin/python\(aq, debug=False, verbose=False, unless=None, onlyif=None, use_vt=False, loglevel=\(aqdebug\(aq, **kwargs) Install buildout in a specific directory .sp It is a thin wrapper to modules.buildout.buildout @@ -468050,6 +468050,99 @@ Add sample and shuffle functions from random (#62225) .IP \(bu 2 Add " python" subcommand to allow execution or arbitrary scripts via bundled Python runtime (#62381) .UNINDENT +.SS Salt 3005.1 Release Notes +.sp +Version 3005.1 is a bug fix release for 3005\&. +.SS Fixed +.INDENT 0.0 +.IP \(bu 2 +Fix arch parsing issue in apt source files (#62247) +.IP \(bu 2 +Fixed parsing CDROM apt sources (#62474) +.IP \(bu 2 +Use str() method instead of repo_line for when python3\-apt is installed or not in aptpkg.py. (#62546) +.IP \(bu 2 +Remove the connection_timeout from netmiko_connection_args before netmiko_connection_args is added to __context__["netmiko_device"]["args"] which is passed along to the Netmiko library. (#62547) +.IP \(bu 2 +fixes #62553 by checking for disabled master_type before starting master connection and skipping it if set. (#62553) +.IP \(bu 2 +Fix runas with cmd module when using the onedir bundled packages (#62565) +.IP \(bu 2 +Fix the Pyinstaller hooks to preserve the environment if None is passed. (#62567, #62628) +.IP \(bu 2 +pkgrepo.managed sets wrong permissions on keys installed to /etc/apt/keyring (#62569) +.IP \(bu 2 +pkgrepo.managed creates zero byte gpg files when dearmoring contents to the same filename (#62570) +.IP \(bu 2 +Ensure default values for IPC Buffers are correct type (#62591) +.IP \(bu 2 +Fix a hang on salt\-ssh when using sudo. (#62603) +.IP \(bu 2 +Renderers now have access to the correct set of salt functions. (#62610, #62620) +.IP \(bu 2 +Fix including Jinja template from absolute path (#62611) +.IP \(bu 2 +include jmespath in package requirements (#62613) +.IP \(bu 2 +Fix pkgrepo.managed signed\-by in test=true mode (#62662) +.IP \(bu 2 +Ensure the status of the service is captured when the beacon function is called, even when the event is not being emitted. (#62675) +.IP \(bu 2 +The sub proxies controlled by Deltaproxy need to have their own req_channel otherwise there are timeout exceptions when the __master_req_channel_payload is fired and reacted on. (#62708) +.UNINDENT +.SS Salt 3005.2 Release Notes +.sp +Version 3005.2 is a CVE security fix release for 3005\&. +.SS Changed +.INDENT 0.0 +.IP \(bu 2 +Additional required package upgrades +.INDENT 2.0 +.IP \(bu 2 +It\(aqs now \fIpyzmq>=20.0.0\fP on all platforms, and \fI<=22.0.3\fP just for windows. +.IP \(bu 2 +Upgrade to \fIpyopenssl==23.0.0\fP due to the cryptography upgrade. (#63757) +.UNINDENT +.UNINDENT +.SS Security +.INDENT 0.0 +.IP \(bu 2 +fix CVE\-2023\-20897 by catching exception instead of letting exception disrupt connection (cve\-2023\-20897) +.IP \(bu 2 +Fixed gitfs cachedir_basename to avoid hash collisions. Added MP Lock to gitfs. These changes should stop race conditions. (cve\-2023\-20898) +.IP \(bu 2 +Upgrade to \fIrequests==2.31.0\fP +.INDENT 2.0 +.TP +.B Due to: +.INDENT 7.0 +.IP \(bu 2 +\fI\%https://github.com/advisories/GHSA\-j8r2\-6x86\-q33q\fP (#64336) +.UNINDENT +.UNINDENT +.IP \(bu 2 +Upgrade to \fIcryptography==41.0.2\(ga(and therefor \(gapyopenssl==23.2.0\fP due to \fI\%https://github.com/advisories/GHSA\-5cpq\-8wj7\-hf2v\fP) +.sp +This only really impacts pip installs of Salt and the windows onedir since the linux and macos onedir build every package dependency from source, not from pre\-existing wheels. +.sp +Also resolves the following cryptography advisories: +.INDENT 2.0 +.TP +.B Due to: +.INDENT 7.0 +.IP \(bu 2 +\fI\%https://github.com/advisories/GHSA\-x4qr\-2fvf\-3mr5\fP +.IP \(bu 2 +\fI\%https://github.com/advisories/GHSA\-w7pp\-m8wf\-vj6r\fP +.UNINDENT +.UNINDENT +.sp +There is no security upgrade available for Py3.5 (#64595) +.IP \(bu 2 +Bump to \fIcertifi==2023.07.22\fP due to \fI\%https://github.com/advisories/GHSA\-xqr8\-7jwr\-rhp7\fP +.sp +Python 3.5 cannot get the updated requirements since certifi no longer supports this python version (#64720) +.UNINDENT .SS Salt 3004 Release Notes \- Codename Silicon .SS New Features .SS Transactional System Support (MicroOS) diff --git a/doc/man/spm.1 b/doc/man/spm.1 index 7fbb94b78da..1f7fdb0f12f 100644 --- a/doc/man/spm.1 +++ b/doc/man/spm.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SPM" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SPM" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME spm \- Salt Package Manager Command . diff --git a/doc/topics/releases/3005.2.rst b/doc/topics/releases/3005.2.rst new file mode 100644 index 00000000000..8a4d77a6d50 --- /dev/null +++ b/doc/topics/releases/3005.2.rst @@ -0,0 +1,40 @@ +.. _release-3005-2: + +========================= +Salt 3005.2 Release Notes +========================= + +Version 3005.2 is a CVE security fix release for :ref:`3005 `. + + +Changed +------- + +- Additional required package upgrades + + * It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. + * Upgrade to `pyopenssl==23.0.0` due to the cryptography upgrade. (#63757) + + +Security +-------- + +- fix CVE-2023-20897 by catching exception instead of letting exception disrupt connection (cve-2023-20897) +- Fixed gitfs cachedir_basename to avoid hash collisions. Added MP Lock to gitfs. These changes should stop race conditions. (cve-2023-20898) +- Upgrade to `requests==2.31.0` + + Due to: + * https://github.com/advisories/GHSA-j8r2-6x86-q33q (#64336) +- Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) + + Also resolves the following cryptography advisories: + + Due to: + * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 + * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r + + There is no security upgrade available for Py3.5 (#64595) +- Bump to `certifi==2023.07.22` due to https://github.com/advisories/GHSA-xqr8-7jwr-rhp7 + + Python 3.5 cannot get the updated requirements since certifi no longer supports this python version (#64720) + From 8344fe5f6eb72ce05f5c6e512f09b12921b83a2a Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Tue, 1 Aug 2023 16:39:38 -0600 Subject: [PATCH 079/132] Fix the request and pyzmq requirements --- requirements/base.txt | 4 +--- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.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.5/linux.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 2 +- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/docs.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/docs.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/docs.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/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.5/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/zeromq.txt | 2 +- 41 files changed, 41 insertions(+), 43 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 8d5cc0fc4c0..63e524d2238 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -3,9 +3,7 @@ jmespath msgpack>=0.5,!=0.5.5 PyYAML MarkupSafe -requests>=2.31.0 ; python_version >= "3.7" -requests<=2.27.1 ; python_version == "3.6" -requests<=2.25.1 ; python_version == "3.5" +requests>=1.0.0 distro>=1.0.1 contextvars psutil>=5.0.0 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 92040882dc6..96be05ea777 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -755,7 +755,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 e64fdd42454..eb471cbf601 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -751,7 +751,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index a97516184f5..76e28d5c941 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -728,7 +728,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 7c078e12452..a2eccc60b7f 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -747,7 +747,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index af027dfab85..ffcbf496ef5 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -727,7 +727,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 612cabbf5c8..1217c0925a4 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -782,7 +782,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index cd224abefb8..560ab0df011 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -814,7 +814,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 ; python_version == "3.5" +requests==2.25.1 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index bfe9af9325c..be1bc344e21 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -777,7 +777,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 ; python_version == "3.6" +requests==2.25.1 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index 3a8e34cc3a7..3a2c32fbaa8 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -750,7 +750,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 ; python_version == "3.6" +requests==2.25.1 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index d4ef3e342d1..2946e3602ba 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -751,7 +751,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 ; python_version == "3.6" +requests==2.26.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 3b1e742b78a..1c81008cda0 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -804,7 +804,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 ; python_version == "3.6" +requests==2.25.1 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 5ce026d6c4a..3ab03b5188b 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -799,7 +799,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 6d261cf7fbe..2b69b8d562a 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -771,7 +771,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 e2f95767f10..5af25521993 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -787,7 +787,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 2b42d2212bb..39c615da5da 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -772,7 +772,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 fd7feba0e98..153b484c6cb 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -820,7 +820,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index db5085bf72e..61068ac5053 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -789,7 +789,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index be0de480f07..113c7002d0a 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -763,7 +763,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 85a5a42a51f..939ec982d68 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -778,7 +778,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 9277abed520..fde5b62903a 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -764,7 +764,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 d1bd56d3238..67a8485624a 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -811,7 +811,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index fb2b4c6d03c..8564f90fc77 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -792,7 +792,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 634d37cac14..9c681d8a8bb 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -785,7 +785,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index 20365b35b24..42dba531832 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -764,7 +764,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index cd704be1d75..610259c2293 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -781,7 +781,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 0e921ad27c4..9a70a2f1074 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -765,7 +765,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 8c0db482190..dc44b9a8e3c 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -816,7 +816,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 4509a6f2f95..ce87a983341 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -90,7 +90,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # apache-libcloud diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 340febd1dfa..57c9a1dbe07 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 3363481323d..59ecad320c9 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index f72b043c2f1..7556cbbdea3 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -76,7 +76,7 @@ pyyaml==5.3.1 # via -r requirements/base.txt pyzmq==19.0.2 ; python_version < "3.6" # via -r requirements/zeromq.txt -requests==2.25.1 ; python_version == "3.5" +requests==2.25.1 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 89d93a2edb4..f49dfbcd7c5 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -79,7 +79,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.25.1 ; python_version == "3.6" +requests==2.25.1 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index e120db506e8..9e5c89424c1 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index 148e303522a..b2ad7768268 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 8284d972b36..333bfcf8587 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index a470ba4b0a4..d23e802f641 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index a780337dc71..b875bfefc2b 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -92,7 +92,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # apache-libcloud diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 353035a0411..c101f06b8f8 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -79,7 +79,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index bf0d8b54f95..61ac2f9a3ee 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt index e6ea79b525d..2c1f009e02d 100644 --- a/requirements/zeromq.txt +++ b/requirements/zeromq.txt @@ -1,7 +1,7 @@ -r base.txt -r crypto.txt -pyzmq<20.0.0; python_version < "3.6" +pyzmq<=20.0.0; python_version < "3.6" pyzmq>=20.0.0; python_version >= "3.6" # We can't use 23+ on Windows until they fix this: # https://github.com/zeromq/pyzmq/issues/1472 From 59728884a8ccd1af9eb5f299f3a8a089c8953df2 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Tue, 1 Aug 2023 21:50:08 -0500 Subject: [PATCH 080/132] base64 hash --- salt/utils/gitfs.py | 21 +++++++++++++++++++-- tests/pytests/unit/utils/test_gitfs.py | 8 +++++--- tests/unit/utils/test_gitfs.py | 4 ++-- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index f53eea65d48..45e4bd38886 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -3,6 +3,7 @@ Classes which provide the shared base for GitFS, git_pillar, and winrepo """ +import base64 import contextlib import copy import errno @@ -16,6 +17,7 @@ import os import shlex import shutil import stat +import string import subprocess import time import weakref @@ -457,7 +459,7 @@ class GitProvider: hash_type = getattr(hashlib, self.opts.get("hash_type", "md5")) # Generate full id. The full id is made from these parts name-id-env-_root. - # Full id stops collections in the gitfs cache. + # Full id helps decrease the chances of collections in the gitfs cache. self._full_id = "-".join( [ getattr(self, "name", ""), @@ -468,7 +470,22 @@ class GitProvider: ) # We loaded this data from yaml configuration files, so, its safe # to use UTF-8 - self.cachedir_basename = f"{getattr(self, 'name', '')}-{hash_type(self._full_id.encode('utf-8')).hexdigest()}" + base64_hash = str( + base64.b64encode(hash_type(self._full_id.encode("utf-8")).digest()), + encoding="ascii", # base64 only outputs ascii + ).replace( + "/", "_" + ) # replace "/" with "_" to not cause trouble with file system + + # limit name length to 19, so we don't eat up all the path length for windows + # this is due to pygit2 limitations + # replace any unknown char with "_" to not cause trouble with file system + name_chars = string.ascii_letters + string.digits + "-" + cache_name = "".join( + c if c in name_chars else "_" for c in getattr(self, "name", "")[:19] + ) + + self.cachedir_basename = f"{cache_name}-{base64_hash}" self.cachedir = salt.utils.path.join(cache_root, self.cachedir_basename) self.linkdir = salt.utils.path.join(cache_root, "links", self.cachedir_basename) diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 91313b74e85..193413e34b1 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -254,7 +254,9 @@ def test_full_id_pygit2(_prepare_provider): ) def test_get_cachedir_basename_pygit2(_prepare_provider): basename = _prepare_provider.get_cachedir_basename() - assert len(basename) > 1 + # Note: if you are changing the length of basename + # keep in mind that pygit2 will error out on large file paths on Windows + assert len(basename) == 45 assert basename[0] == "-" - # check that a valid hex is given - assert all(c in string.hexdigits for c in basename[1:]) + # check that a valid base64 is given '/' -> '_' + assert all(c in string.ascii_letters + string.digits + "+_=" for c in basename[1:]) diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index b82fd4bff63..31c3babbabd 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -124,13 +124,13 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): def test_get_cachedir_basename(self): self.assertEqual( self.main_class.remotes[0].get_cachedir_basename(), - "-b4dcbd51b08742ec23eaf96d192d29b417ec137ea7ca0c0de2515cfaf6e26860", + "-tNy9UbCHQuwj6vltGS0ptBfsE36nygwN4lFc+vbiaGA=", ) def test_get_cachedir_base_with_name(self): self.assertEqual( self.main_class.remotes[1].get_cachedir_basename(), - "repo2-4218c2f8e303c6ea24cc541d8748e523d5b443c3050170a43a1a00be253b56aa", + "repo2-QhjC+OMDxuokzFQdh0jlI9W0Q8MFAXCkOhoAviU7Vqo=", ) def test_git_provider_mp_lock(self): From dff6f6c31d9f34dca6a60420ac89ceee6033ff19 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 2 Aug 2023 08:50:14 -0600 Subject: [PATCH 081/132] [3005.2] Update cryptography to 41.0.3 --- CHANGELOG.md | 3 ++- doc/topics/releases/3005.2.rst | 3 ++- requirements/darwin.txt | 2 +- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.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/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.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 | 2 +- requirements/static/pkg/freebsd.in | 2 +- requirements/static/pkg/linux.in | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- requirements/windows.txt | 2 +- 44 files changed, 46 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d3bbf08aac..ed8b393dbc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,11 +28,12 @@ Security Due to: * https://github.com/advisories/GHSA-j8r2-6x86-q33q (#64336) -- Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) +- Upgrade to `cryptography==41.0.3`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-jm77-qphf-c4w8) Also resolves the following cryptography advisories: Due to: + * https://github.com/advisories/GHSA-5cpq-8wj7-hf2v * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r diff --git a/doc/topics/releases/3005.2.rst b/doc/topics/releases/3005.2.rst index 8a4d77a6d50..d802408f9c8 100644 --- a/doc/topics/releases/3005.2.rst +++ b/doc/topics/releases/3005.2.rst @@ -25,11 +25,12 @@ Security Due to: * https://github.com/advisories/GHSA-j8r2-6x86-q33q (#64336) -- Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) +- Upgrade to `cryptography==41.0.3`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-jm77-qphf-c4w8) Also resolves the following cryptography advisories: Due to: + * https://github.com/advisories/GHSA-5cpq-8wj7-hf2v * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r diff --git a/requirements/darwin.txt b/requirements/darwin.txt index 06ef5dc9daf..a6e2074c711 100644 --- a/requirements/darwin.txt +++ b/requirements/darwin.txt @@ -5,7 +5,7 @@ apache-libcloud>=2.4.0 backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' cherrypy>=17.4.1 -cryptography>=41.0.2 ; python_version >= "3.7" +cryptography>=41.0.3 ; python_version >= "3.7" cryptography<=40.0.2 ; python_version == "3.6" cryptography<=3.2.1 ; python_version <= "3.5" gitpython>=2.1.15 ; python_version <= "3.6" diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 96be05ea777..c0e9ae8c548 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -383,7 +383,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index eb471cbf601..e7e10828b40 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -386,7 +386,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/darwin.txt # adal diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 76e28d5c941..828f99a2af0 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index a2eccc60b7f..ab874f05e18 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -382,7 +382,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # adal diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index ffcbf496ef5..4be2e27c68b 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 1217c0925a4..cf3c4f71239 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -396,7 +396,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 3ab03b5188b..fb3916f56c1 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 2b69b8d562a..20fbea8daeb 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -399,7 +399,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 5af25521993..c037fb7d6b8 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -389,7 +389,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # adal diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 39c615da5da..1f6e5f83e11 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -397,7 +397,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 153b484c6cb..062c7f229ef 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -403,7 +403,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 25c55a98eb8..65a05470c76 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -74,7 +74,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 61068ac5053..5fca7d5f376 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 113c7002d0a..1738b18708e 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -397,7 +397,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 939ec982d68..d0a8ac4b716 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -387,7 +387,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # adal diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index fde5b62903a..4aa8c6692e7 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -395,7 +395,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 67a8485624a..3df6f01e25e 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -401,7 +401,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 94f0c306ff2..9b0fbb8c1ba 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 8564f90fc77..33fde5294f1 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 9c681d8a8bb..e468231282f 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -391,7 +391,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/darwin.txt # adal diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index 42dba531832..8827b0db372 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -395,7 +395,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 610259c2293..7e4af5a13bf 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -387,7 +387,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # adal diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 9a70a2f1074..ecac15705bf 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -393,7 +393,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index dc44b9a8e3c..888599e84c8 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -403,7 +403,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 1fb6bc9e6a1..e4f66fd1e6b 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/pkg/freebsd.in b/requirements/static/pkg/freebsd.in index 48f511e22de..91530fb8290 100644 --- a/requirements/static/pkg/freebsd.in +++ b/requirements/static/pkg/freebsd.in @@ -1,7 +1,7 @@ # This file only exists to trigger the right static compiled requirements destination # Any non hard dependencies of Salt for FreeBSD can go here cherrypy -cryptography>=41.0.2 ; python_version >= "3.7" +cryptography>=41.0.3 ; python_version >= "3.7" cryptography<=40.0.2 ; python_version == "3.6" cryptography<=3.2.1 ; python_version <= "3.5" backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' diff --git a/requirements/static/pkg/linux.in b/requirements/static/pkg/linux.in index ff1595bc4a2..580dd832418 100644 --- a/requirements/static/pkg/linux.in +++ b/requirements/static/pkg/linux.in @@ -1,7 +1,7 @@ # This file only exists to trigger the right static compiled requirements destination. # Any non hard dependencies of Salt for linux can go here cherrypy -cryptography>=41.0.2 ; python_version >= "3.7" +cryptography>=41.0.3 ; python_version >= "3.7" cryptography<=40.0.2 ; python_version == "3.6" cryptography<=3.2.1 ; python_version <= "3.5" backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index ce87a983341..5776d6dfc1a 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/darwin.txt # pyopenssl diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 57c9a1dbe07..c25bc90a4b5 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # pyopenssl diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 59ecad320c9..9944c2e4d1d 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index 9e5c89424c1..f8c2f0a56a2 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # pyopenssl diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index b2ad7768268..0585f5aa5c7 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 6c99a1e2f50..c3b56c5209e 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 333bfcf8587..8baa680c8dd 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # pyopenssl diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index d23e802f641..35882187a40 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index ce2f8ea36f8..c4da5b5ecd5 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index b875bfefc2b..c8809108906 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/darwin.txt # pyopenssl diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index c101f06b8f8..748fbd5a1a3 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # pyopenssl diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 61ac2f9a3ee..f59b9cb4cce 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 8212006aec5..2a26af01628 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/windows.txt b/requirements/windows.txt index 5f9c363b507..9ff5e016095 100644 --- a/requirements/windows.txt +++ b/requirements/windows.txt @@ -11,7 +11,7 @@ certifi>=2022.12.7 ; python_version >= "3.6" certifi<=2021.10.8 ; python_version <= "3.5" cffi>=1.14.5 cherrypy>=18.6.1 -cryptography>=41.0.2 ; python_version >= "3.7" +cryptography>=41.0.3 ; python_version >= "3.7" cryptography<=40.0.2 ; python_version == "3.6" cryptography<=3.2.1 ; python_version <= "3.5" gitpython>=2.1.15 ; python_version <= "3.6" From e60abda6ec61d1160898402fb995259442609582 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Wed, 2 Aug 2023 14:19:01 -0500 Subject: [PATCH 082/132] stop branch collision --- salt/utils/gitfs.py | 12 ++++++++++-- tests/pytests/unit/utils/test_gitfs.py | 3 ++- tests/unit/utils/test_gitfs.py | 9 +++++---- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index 45e4bd38886..3f56ee6deb8 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -458,14 +458,22 @@ class GitProvider: failhard(self.role) hash_type = getattr(hashlib, self.opts.get("hash_type", "md5")) - # Generate full id. The full id is made from these parts name-id-env-_root. + # Generate full id. # Full id helps decrease the chances of collections in the gitfs cache. + try: + target = str(self.get_checkout_target()) + except AttributeError: + target = "" self._full_id = "-".join( [ getattr(self, "name", ""), - self.id.replace(" ", "-"), + self.id, getattr(self, "env", ""), getattr(self, "_root", ""), + self.role, + getattr(self, "base", ""), + getattr(self, "branch", ""), + target ] ) # We loaded this data from yaml configuration files, so, its safe diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 193413e34b1..76c9409a1af 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -3,6 +3,7 @@ import string import time import pytest + import salt.config import salt.fileserver.gitfs import salt.utils.gitfs @@ -245,7 +246,7 @@ def test_checkout_pygit2(_prepare_provider): ) def test_full_id_pygit2(_prepare_provider): assert _prepare_provider.full_id().startswith("-") - assert _prepare_provider.full_id().endswith("/pygit2-repo--") + assert _prepare_provider.full_id().endswith("/pygit2-repo---gitfs-master--") @pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index 31c3babbabd..563599a5d56 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -6,6 +6,7 @@ any remotes. import tempfile import pytest + import salt.ext.tornado.ioloop import salt.fileserver.gitfs import salt.utils.files @@ -114,23 +115,23 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): self.assertFalse(self.main_class.remotes[1].fetched) def test_full_id(self): - self.assertEqual(self.main_class.remotes[0].full_id(), "-file://repo1.git--") + self.assertEqual(self.main_class.remotes[0].full_id(), "-file://repo1.git---gitfs-master--") def test_full_id_with_name(self): self.assertEqual( - self.main_class.remotes[1].full_id(), "repo2-file://repo2.git--" + self.main_class.remotes[1].full_id(), "repo2-file://repo2.git---gitfs-master--" ) def test_get_cachedir_basename(self): self.assertEqual( self.main_class.remotes[0].get_cachedir_basename(), - "-tNy9UbCHQuwj6vltGS0ptBfsE36nygwN4lFc+vbiaGA=", + "-jXhnbGDemchtZwTwaD2s6VOaVvs98a7w+AtiYlmOVb0=", ) def test_get_cachedir_base_with_name(self): self.assertEqual( self.main_class.remotes[1].get_cachedir_basename(), - "repo2-QhjC+OMDxuokzFQdh0jlI9W0Q8MFAXCkOhoAviU7Vqo=", + "repo2-nuezpiDtjQRFC0ZJDByvi+F6Vb8ZhfoH41n_KFxTGsU=", ) def test_git_provider_mp_lock(self): From c9bc45393fb8b2b01ace93ba185cd3b508e02f24 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Wed, 2 Aug 2023 14:39:42 -0500 Subject: [PATCH 083/132] run pre --- salt/utils/gitfs.py | 2 +- tests/unit/utils/test_gitfs.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index 3f56ee6deb8..386977b6c54 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -473,7 +473,7 @@ class GitProvider: self.role, getattr(self, "base", ""), getattr(self, "branch", ""), - target + target, ] ) # We loaded this data from yaml configuration files, so, its safe diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index 563599a5d56..6d8e97a239e 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -115,11 +115,14 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): self.assertFalse(self.main_class.remotes[1].fetched) def test_full_id(self): - self.assertEqual(self.main_class.remotes[0].full_id(), "-file://repo1.git---gitfs-master--") + self.assertEqual( + self.main_class.remotes[0].full_id(), "-file://repo1.git---gitfs-master--" + ) def test_full_id_with_name(self): self.assertEqual( - self.main_class.remotes[1].full_id(), "repo2-file://repo2.git---gitfs-master--" + self.main_class.remotes[1].full_id(), + "repo2-file://repo2.git---gitfs-master--", ) def test_get_cachedir_basename(self): From c71ff9204ab5ae90b21b68cf3447be472a8db8f2 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Wed, 2 Aug 2023 17:35:09 -0500 Subject: [PATCH 084/132] pre --- tests/pytests/unit/utils/test_gitfs.py | 1 - tests/unit/utils/test_gitfs.py | 1 - 2 files changed, 2 deletions(-) diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 76c9409a1af..6969e3c9ab3 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -3,7 +3,6 @@ import string import time import pytest - import salt.config import salt.fileserver.gitfs import salt.utils.gitfs diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index 6d8e97a239e..e24a3f62b8f 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -6,7 +6,6 @@ any remotes. import tempfile import pytest - import salt.ext.tornado.ioloop import salt.fileserver.gitfs import salt.utils.files From afe9b0b370e958ea6694123b395b6743f5ad2436 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Jul 2023 13:37:04 +0100 Subject: [PATCH 085/132] Add read permissions for the `dorny/paths-filter` GH Action Signed-off-by: Pedro Algarvio --- .github/workflows/docs.yml | 4 ++++ .github/workflows/lint.yml | 4 ++++ .github/workflows/pr-checks.yml | 4 ++++ .github/workflows/pre-commit.yml | 4 ++++ .github/workflows/release.yml | 4 ++++ 5 files changed, 20 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 247556604e1..803e1613ae3 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,6 +2,10 @@ name: Docs on: [push, pull_request] +permissions: + contents: read # for dorny/paths-filter to fetch a list of changed files + pull-requests: read # for dorny/paths-filter to read pull requests + jobs: Salt: name: Build Salt Documentation diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 695946421d7..9b524049411 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -2,6 +2,10 @@ name: Lint on: [push, pull_request] +permissions: + contents: read # for dorny/paths-filter to fetch a list of changed files + pull-requests: read # for dorny/paths-filter to read pull requests + jobs: Salt: name: Lint Salt's Source Code diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 96ad7632af3..3c0fa631eac 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -4,6 +4,10 @@ on: pull_request_target: types: [opened, synchronize] +permissions: + contents: read # for dorny/paths-filter to fetch a list of changed files + pull-requests: read # for dorny/paths-filter to read pull requests + jobs: Check-Changed-Files-Docstrings: diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 659d476776d..aac5dd5ad44 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -2,6 +2,10 @@ name: Pre-Commit on: [push, pull_request] +permissions: + contents: read # for dorny/paths-filter to fetch a list of changed files + pull-requests: read # for dorny/paths-filter to read pull requests + jobs: Pre-Commit: name: Run Pre-Commit Against Salt diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e6d4e214d40..0ec6a2f0494 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,6 +15,10 @@ on: default: "master" required: false +permissions: + contents: read # for dorny/paths-filter to fetch a list of changed files + pull-requests: read # for dorny/paths-filter to read pull requests + jobs: SaltChangelog: name: Build Salt Changelog From 788ebbce897075983beb70a1008c293cd506164f Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Jul 2023 13:42:30 +0100 Subject: [PATCH 086/132] Choose self hosted runners on private repositories Signed-off-by: Pedro Algarvio --- .github/workflows/docs.yml | 4 ++-- .github/workflows/lint.yml | 4 ++-- .github/workflows/pr-checks.yml | 2 +- .github/workflows/pre-commit.yml | 2 +- .github/workflows/release-tag.yml | 2 +- .github/workflows/release.yml | 6 +++--- .github/workflows/triage.yml | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 803e1613ae3..9a341e7ddba 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -9,7 +9,7 @@ permissions: jobs: Salt: name: Build Salt Documentation - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster @@ -66,7 +66,7 @@ jobs: Manpages: name: Build Salt man Pages - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9b524049411..e2f498392d9 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,7 +9,7 @@ permissions: jobs: Salt: name: Lint Salt's Source Code - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster @@ -73,7 +73,7 @@ jobs: Tests: name: Lint Salt's Test Suite - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 3c0fa631eac..d6618df28f3 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -12,7 +12,7 @@ jobs: Check-Changed-Files-Docstrings: name: Check Docstrings For Changed Files On PR - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index aac5dd5ad44..5d9815f0221 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -10,7 +10,7 @@ jobs: Pre-Commit: name: Run Pre-Commit Against Salt - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index b70ec576e75..f26d7db7ad4 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -19,7 +19,7 @@ on: jobs: GenerateTagRelease: name: Generate Tag and Github Release - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} steps: - uses: dev-drprasad/delete-tag-and-release@v0.2.0 if: github.event.inputs.reTag == 'true' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0ec6a2f0494..1842b0ad221 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ permissions: jobs: SaltChangelog: name: Build Salt Changelog - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster @@ -85,7 +85,7 @@ jobs: Manpages: name: Build Salt man Pages - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster @@ -148,7 +148,7 @@ jobs: PullRequest: needs: [SaltChangelog, Manpages] name: Create Pull Request - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} container: image: python:3.8.6-slim-buster diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 9fa6cb297fe..b8378eaac24 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -7,7 +7,7 @@ on: jobs: label-and-assign: name: Triage New Issue - runs-on: ubuntu-latest + runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} steps: - uses: actions/checkout@v2 From 0e302d1fa7ed9c9268b3c34d4edcff3f226d103b Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Jul 2023 14:22:21 +0100 Subject: [PATCH 087/132] Workaround pyyaml issue https://github.com/yaml/pyyaml/issues/601 Signed-off-by: Pedro Algarvio --- noxfile.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/noxfile.py b/noxfile.py index 9a2110322f5..8e8d85cf4e2 100644 --- a/noxfile.py +++ b/noxfile.py @@ -274,6 +274,20 @@ def _install_requirements( requirements_file = _get_pip_requirements_file( session, transport, requirements_type=requirements_type ) + if _get_session_python_version_info(session) >= (3, 10): + # Workaround pyyaml issue https://github.com/yaml/pyyaml/issues/601 + with open(requirements_file, encoding="utf-8") as rfh: + contents = rfh.read().lower() + for line in contents.splitlines(): + if line.startswith("pyyaml"): + session.install( + "--progress-bar=off", + "--no-build-isolation", + "Cython<3.0", + line.strip(), + silent=PIP_INSTALL_SILENT, + ) + break install_command = ["--progress-bar=off", "-r", requirements_file] session.install(*install_command, silent=PIP_INSTALL_SILENT) From 564189b62b01d3464914286144873ba6ec354e3d Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Jul 2023 14:49:14 +0100 Subject: [PATCH 088/132] Stop using deprecated GH Actions versions Signed-off-by: Pedro Algarvio --- .github/workflows/docs.yml | 4 ++-- .github/workflows/lint.yml | 4 ++-- .github/workflows/pr-checks.yml | 4 ++-- .github/workflows/pre-commit.yml | 2 +- .github/workflows/release-tag.yml | 6 +++--- .github/workflows/release.yml | 6 +++--- .github/workflows/triage.yml | 4 ++-- .github/workflows/twine-check.yml | 4 ++-- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 9a341e7ddba..a69a700560c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -25,7 +25,7 @@ jobs: apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 @@ -82,7 +82,7 @@ jobs: apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - id: changed-files name: Get Changed Files diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e2f498392d9..5039b1a373a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,7 +25,7 @@ jobs: apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install Nox env: @@ -89,7 +89,7 @@ jobs: apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install Nox env: diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index d6618df28f3..a2274a13f34 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -15,8 +15,8 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 with: python-version: '3.9' diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 5d9815f0221..eceaf51e341 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -26,7 +26,7 @@ jobs: apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install Pre-Commit env: diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index f26d7db7ad4..d8e8ab1e16d 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -29,7 +29,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: repository: ${{ github.event.inputs.saltRepo }} ref: ${{ github.event.inputs.saltBranch }} @@ -42,11 +42,11 @@ jobs: custom_tag: ${{ github.event.inputs.saltVersion }} - name: Set up Python 3.8 - uses: actions/setup-python@v1 + uses: actions/setup-python@v4 with: python-version: 3.8 - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install pypa/build run: | python -m pip install build --user diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1842b0ad221..9c40e8dcb8b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,7 +36,7 @@ jobs: apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: ${{ github.event.inputs.branch }} fetch-depth: 0 @@ -100,7 +100,7 @@ jobs: apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: ${{ github.event.inputs.branch }} @@ -161,7 +161,7 @@ jobs: apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils apt-get install -y git/buster-backports - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: ${{ github.event.inputs.branch }} fetch-depth: 0 diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index b8378eaac24..06ca0e2ad05 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -10,10 +10,10 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: 3.8 diff --git a/.github/workflows/twine-check.yml b/.github/workflows/twine-check.yml index f571a12a579..ea42be68ddf 100644 --- a/.github/workflows/twine-check.yml +++ b/.github/workflows/twine-check.yml @@ -9,9 +9,9 @@ jobs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: '3.8' From 4eb19ded68e9ecdad8762069bf56fd538659dba9 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 19 Jul 2023 09:29:29 -0600 Subject: [PATCH 089/132] Update pyyaml to 6.0.1 --- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.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.6/cloud.txt | 2 +- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.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 | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- 43 files changed, 43 insertions(+), 43 deletions(-) diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 377d103bbd7..3fadb6eae28 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -739,7 +739,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 06217a1e889..9ff8312342a 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -737,7 +737,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index dd7f0cebf37..a7bcb5bddda 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -710,7 +710,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index e7fce167689..f0502370f52 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -732,7 +732,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 5f9aa4d0f24..a3b73ffed3f 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -709,7 +709,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index eb90d1e4cb6..54e948d2fb4 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -762,7 +762,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 4db2777e87d..72a0c0845fc 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -761,7 +761,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index 39aa255d7e1..df2a2940522 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -732,7 +732,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 48296e689b2..80d37f72b07 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -733,7 +733,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index b71ce2cbf48..3db90c52104 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -784,7 +784,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 8c8e663a020..736fed72610 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -782,7 +782,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 81df97c5b4a..20ecffb0424 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -752,7 +752,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index b459e17da00..5d00f5812bd 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -771,7 +771,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index f61f0037c76..94f91e330a9 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -753,7 +753,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 8db4dd2730f..357117ea29c 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -799,7 +799,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 4245c4c4cae..b956aeb78f3 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -319,7 +319,7 @@ pywin32==303 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 6397b83f178..9892e81d244 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -772,7 +772,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index dbfa521fe34..6c4a1e1c474 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -744,7 +744,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 0c643595ac5..c3db450d545 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -762,7 +762,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index d9a618cbb88..f80f4878c8f 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -745,7 +745,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 07d452b93d7..1f972a65914 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -790,7 +790,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 7fe3d913b90..21f6e001bef 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -310,7 +310,7 @@ pywin32==303 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 55c7ab9f545..a67a2fccbde 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -775,7 +775,7 @@ pyvmomi==7.0.2 # via -r requirements/static/ci/common.in pywinrm==0.3.0 # via -r requirements/static/ci/cloud.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index a8c2619eaca..070259dd2f5 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -770,7 +770,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index d38b4f053ec..c7b66012c01 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -745,7 +745,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 4a77ba19e9d..fa39fb17d0e 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -765,7 +765,7 @@ pytz==2022.1 # tempora pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 480008cb76b..28141144fc2 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -746,7 +746,7 @@ pytz==2022.1 # twilio pyvmomi==7.0.2 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 8e4bbb842a8..43efcc401a8 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -795,7 +795,7 @@ pytz==2022.1 # tzlocal pyvmomi==6.7.1.2018.12 # via -r requirements/static/ci/common.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # ansible-core diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 886c3ee73ca..6bbe4942338 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -311,7 +311,7 @@ pywin32==303 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/base.txt # clustershell diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index df65c8d43e1..fe2c8bb97bc 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -86,7 +86,7 @@ python-gnupg==0.4.8 # via -r requirements/darwin.txt pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 0eea4d67488..919944fd829 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -71,7 +71,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 36c56a2b9a4..9a2e28361e6 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -71,7 +71,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 3e46ceac4b1..e32e0f9a4e4 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -73,7 +73,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index e0c0c6695fe..9e8fbd70e5e 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -71,7 +71,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index a6645d4c9d1..93cca0f1143 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -69,7 +69,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index a6176a1b18d..b9c955837f5 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -106,7 +106,7 @@ pywin32==303 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 80770437c59..f90c3ec33ac 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -71,7 +71,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==19.0.0 ; python_version < "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index cc82512a6c2..e38dac9ab4d 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -69,7 +69,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==19.0.0 ; python_version < "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index fc690994312..a7493197ed4 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -106,7 +106,7 @@ pywin32==303 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 8c8636b0a03..72369da950f 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -88,7 +88,7 @@ python-gnupg==0.4.8 # via -r requirements/darwin.txt pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 184bf96bd30..aa97de1c1fe 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -73,7 +73,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/freebsd.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 6012fdd037b..7b4503a5f7f 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -71,7 +71,7 @@ python-gnupg==0.4.8 # via -r requirements/static/pkg/linux.in pytz==2022.1 # via tempora -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 5e045fb0b8b..9b29f7a8c31 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -106,7 +106,7 @@ pywin32==303 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt From 41256818d92e345250f5dd496f4fbce47e82801d Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 25 May 2023 06:56:46 +0100 Subject: [PATCH 090/132] Fix lint issues after the `pyyaml` package upgrade Signed-off-by: Pedro Algarvio --- salt/modules/win_iis.py | 4 ++-- tests/integration/utils/test_win_runas.py | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/salt/modules/win_iis.py b/salt/modules/win_iis.py index f555062681c..42ec335bf32 100644 --- a/salt/modules/win_iis.py +++ b/salt/modules/win_iis.py @@ -15,7 +15,7 @@ import re import salt.utils.json import salt.utils.platform -import yaml +import salt.utils.yaml from salt.exceptions import CommandExecutionError, SaltInvocationError log = logging.getLogger(__name__) @@ -186,7 +186,7 @@ def _prepare_settings(pspath, settings): match = re.search(r"Collection\[(\{.*\})\]", setting["name"]) if match: name = setting["name"][: match.start(1) - 1] - match_dict = yaml.load(match.group(1)) + match_dict = salt.utils.yaml.load(match.group(1)) index = _collection_match_to_index( pspath, setting["filter"], name, match_dict ) diff --git a/tests/integration/utils/test_win_runas.py b/tests/integration/utils/test_win_runas.py index 2cec9e99df4..c7b578c59a0 100644 --- a/tests/integration/utils/test_win_runas.py +++ b/tests/integration/utils/test_win_runas.py @@ -11,7 +11,7 @@ import traceback import salt.utils.files import salt.utils.win_runas -import yaml +import salt.utils.yaml from tests.support.case import ModuleCase from tests.support.helpers import with_system_user from tests.support.mock import Mock @@ -657,7 +657,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 1, ret @with_system_user( @@ -675,7 +675,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 1, ret @with_system_user( @@ -697,7 +697,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 0, ret @with_system_user( @@ -719,7 +719,7 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 0, ret def test_runas_service_system_user(self): @@ -734,5 +734,5 @@ class RunAsTest(ModuleCase): win32serviceutil.StartService("test service") wait_for_service("test service") with salt.utils.files.fopen(RUNAS_OUT, "r") as fp: - ret = yaml.load(fp) + ret = salt.utils.yaml.safe_load(fp) assert ret["retcode"] == 0, ret From cd7ebb6b58012fa52455a318cc2045290d5c51ef Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 19 Jul 2023 13:23:28 -0600 Subject: [PATCH 091/132] Use salt-ci-container images --- .github/workflows/docs.yml | 22 ++++++++++++++-------- .github/workflows/lint.yml | 23 +++++++++++++++-------- .github/workflows/pr-checks.yml | 1 + .github/workflows/pre-commit.yml | 14 +++++++++----- 4 files changed, 39 insertions(+), 21 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index a69a700560c..db10e5c2259 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -12,7 +12,7 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: - image: python:3.8.6-slim-buster + image: ghcr.io/saltstack/salt-ci-containers/python:3.8 steps: @@ -20,15 +20,18 @@ jobs: run: | apt-get update apt-get upgrade debian-keyring -y - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list apt-get update - apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils - apt-get install -y git/buster-backports + apt-get install -y enchant-2 git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils - uses: actions/checkout@v3 with: fetch-depth: 0 + - name: Add Git Safe Directory + run: | + git config --global --add safe.directory $(pwd) + - name: Install Nox env: PIP_EXTRA_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/ @@ -69,7 +72,7 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: - image: python:3.8.6-slim-buster + image: ghcr.io/saltstack/salt-ci-containers/python:3.8 steps: @@ -77,13 +80,16 @@ jobs: run: | apt-get update apt-get upgrade debian-keyring -y - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list apt-get update - apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + apt-get install -y enchant-2 git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - uses: actions/checkout@v3 + - name: Add Git Safe Directory + run: | + git config --global --add safe.directory $(pwd) + - id: changed-files name: Get Changed Files uses: dorny/paths-filter@v2 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5039b1a373a..2182fdd9bc9 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,7 +12,7 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: - image: python:3.8.6-slim-buster + image: ghcr.io/saltstack/salt-ci-containers/python:3.8 steps: @@ -20,13 +20,16 @@ jobs: run: | apt-get update apt-get upgrade debian-keyring -y - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list apt-get update - apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + apt-get install -y enchant-2 git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - uses: actions/checkout@v3 + - name: Add Git Safe Directory + run: | + git config --global --add safe.directory $(pwd) + - name: Install Nox env: PIP_EXTRA_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/ @@ -76,7 +79,7 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }} container: - image: python:3.8.6-slim-buster + image: ghcr.io/saltstack/salt-ci-containers/python:3.8 steps: @@ -84,17 +87,21 @@ jobs: run: | apt-get update apt-get upgrade debian-keyring -y - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list apt-get update - apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + apt-get install -y enchant-2 git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - uses: actions/checkout@v3 + - name: Add Git Safe Directory + run: | + git config --global --add safe.directory $(pwd) + - name: Install Nox env: PIP_EXTRA_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/ run: | + git config --global --add safe.directory $(pwd) python -m pip install --upgrade pip pip install nox diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index a2274a13f34..aa19081d8df 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -24,6 +24,7 @@ jobs: env: PIP_EXTRA_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/ run: | + git config --global --add safe.directory $(pwd) python -m pip install --upgrade pip pip install pre-commit pygithub diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index eceaf51e341..2c5bd4b032a 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -13,7 +13,7 @@ jobs: runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }} container: - image: python:3.8.6-slim-buster + image: ghcr.io/saltstack/salt-ci-containers/python:3.8 steps: @@ -21,20 +21,24 @@ jobs: run: | apt-get update apt-get upgrade debian-keyring -y - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list + echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list apt-get update - apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - apt-get install -y git/buster-backports + apt-get install -y enchant-2 git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev - uses: actions/checkout@v3 + - name: Add Git Safe Directory + run: | + git config --global --add safe.directory $(pwd) + - name: Install Pre-Commit env: PIP_EXTRA_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/ run: | + git config --global --add safe.directory $(pwd) python -m pip install --upgrade pip pip install pre-commit - pre-commit install --install-hooks + pre-commit install --install-hooks || cat /root/.cache/pre-commit/pre-commit.log - id: changed-files name: Get Changed Files From 0f05359ca917bea89d18f66290f422bea4d35cc3 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 19 Jul 2023 15:30:32 -0600 Subject: [PATCH 092/132] Update pyyaml for invoke --- requirements/static/ci/py3.10/invoke.txt | 2 +- requirements/static/ci/py3.6/invoke.txt | 2 +- requirements/static/ci/py3.7/invoke.txt | 2 +- requirements/static/ci/py3.8/invoke.txt | 2 +- requirements/static/ci/py3.9/invoke.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/requirements/static/ci/py3.10/invoke.txt b/requirements/static/ci/py3.10/invoke.txt index 591666c8468..bcca631927a 100644 --- a/requirements/static/ci/py3.10/invoke.txt +++ b/requirements/static/ci/py3.10/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.6/invoke.txt b/requirements/static/ci/py3.6/invoke.txt index 00500777d05..e4818bcefb6 100644 --- a/requirements/static/ci/py3.6/invoke.txt +++ b/requirements/static/ci/py3.6/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.7/invoke.txt b/requirements/static/ci/py3.7/invoke.txt index e2cad5c72e0..669f7a7fce8 100644 --- a/requirements/static/ci/py3.7/invoke.txt +++ b/requirements/static/ci/py3.7/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.8/invoke.txt b/requirements/static/ci/py3.8/invoke.txt index 356dd421308..d3850c6bde7 100644 --- a/requirements/static/ci/py3.8/invoke.txt +++ b/requirements/static/ci/py3.8/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings diff --git a/requirements/static/ci/py3.9/invoke.txt b/requirements/static/ci/py3.9/invoke.txt index 3e1879c97e1..e9e8bf56b12 100644 --- a/requirements/static/ci/py3.9/invoke.txt +++ b/requirements/static/ci/py3.9/invoke.txt @@ -8,7 +8,7 @@ blessings==1.7 # via -r requirements/static/ci/invoke.in invoke==1.4.1 # via -r requirements/static/ci/invoke.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/static/ci/invoke.in six==1.16.0 # via blessings From 0dff5ef6729b0b5f196559258050630ec6beaee9 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 19 Jul 2023 22:34:39 +0100 Subject: [PATCH 093/132] Update remaining references to pyyaml to 6.0.1 Signed-off-by: Pedro Algarvio --- .pre-commit-config.yaml | 10 +++++----- requirements/static/ci/py3.10/windows.txt | 2 +- requirements/static/pkg/py3.10/windows.txt | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bd1522de03e..4760083df32 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1261,7 +1261,7 @@ repos: - docs.check additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1278,7 +1278,7 @@ repos: - filemap.check additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1299,7 +1299,7 @@ repos: - loader.check-virtual additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1320,7 +1320,7 @@ repos: - docstrings.check additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 @@ -1343,7 +1343,7 @@ repos: - --error-on-known-failures additional_dependencies: - blessings==1.7 - - pyyaml==6.0 + - pyyaml==6.0.1 - distro==1.7.0 - jinja2==3.0.3 - msgpack==1.0.3 diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index a83e2e4ee0a..0d2a01a550f 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -314,7 +314,7 @@ pywin32==303 # wmi pywinrm==0.4.1 # via -r requirements/static/ci/windows.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via # -r requirements/static/pkg/py3.10/windows.txt # cfn-lint diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index d282be70e54..993135e3ab9 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -100,7 +100,7 @@ pywin32==303 # -r requirements/windows.txt # cherrypy # wmi -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 # via -r requirements/zeromq.txt From c6133f5e57e1678999ec943370d0b4b75bdf4036 Mon Sep 17 00:00:00 2001 From: "Daniel A. Wozniak" Date: Fri, 26 May 2023 17:01:20 -0700 Subject: [PATCH 094/132] Do not fail on bad message pack message --- salt/transport/zeromq.py | 6 ++++- tests/pytests/unit/transport/test_zeromq.py | 30 +++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/salt/transport/zeromq.py b/salt/transport/zeromq.py index c704b1ec2b2..309bb7fef54 100644 --- a/salt/transport/zeromq.py +++ b/salt/transport/zeromq.py @@ -421,7 +421,11 @@ class RequestServer(salt.transport.base.DaemonizedRequestServer): @salt.ext.tornado.gen.coroutine def handle_message(self, stream, payload): - payload = self.decode_payload(payload) + try: + payload = self.decode_payload(payload) + except salt.exceptions.SaltDeserializationError: + self.stream.send(self.encode_payload({"msg": "bad load"})) + return # XXX: Is header really needed? reply = yield self.message_handler(payload) self.stream.send(self.encode_payload(reply)) diff --git a/tests/pytests/unit/transport/test_zeromq.py b/tests/pytests/unit/transport/test_zeromq.py index 3c57a6feca2..9ba01691b48 100644 --- a/tests/pytests/unit/transport/test_zeromq.py +++ b/tests/pytests/unit/transport/test_zeromq.py @@ -11,6 +11,7 @@ import threading import time import uuid +import msgpack import pytest import salt.channel.client import salt.channel.server @@ -1383,3 +1384,32 @@ async def test_req_chan_auth_v2_new_minion_without_master_pub(pki_dir, io_loop): assert "sig" in ret ret = client.auth.handle_signin_response(signin_payload, ret) assert ret == "retry" + + +async def test_req_server_garbage_request(io_loop): + """ + Validate invalid msgpack messages will not raise exceptions in the + RequestServers's message handler. + """ + opts = salt.config.master_config("") + request_server = salt.transport.zeromq.RequestServer(opts) + + def message_handler(payload): + return payload + + request_server.post_fork(message_handler, io_loop) + + byts = msgpack.dumps({"foo": "bar"}) + badbyts = byts[:3] + b"^M" + byts[3:] + + valid_response = msgpack.dumps("Invalid payload") + + with MagicMock() as stream: + request_server.stream = stream + + try: + await request_server.handle_message(stream, badbyts) + except Exception as exc: # pylint: disable=broad-except + pytest.fail("Exception was raised {}".format(exc)) + + request_server.stream.send.assert_called_once_with(valid_response) From a0431d740524032edca37f797a0b9452ff12aef0 Mon Sep 17 00:00:00 2001 From: Thomas Phipps Date: Wed, 19 Jul 2023 17:28:29 +0000 Subject: [PATCH 095/132] fix test and add changeog --- changelog/64370.security | 2 ++ tests/pytests/unit/transport/test_zeromq.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 changelog/64370.security diff --git a/changelog/64370.security b/changelog/64370.security new file mode 100644 index 00000000000..80949fa4cf1 --- /dev/null +++ b/changelog/64370.security @@ -0,0 +1,2 @@ +fix CVE-2023-20897 by catching exception instead of letting exception disrupt connection + diff --git a/tests/pytests/unit/transport/test_zeromq.py b/tests/pytests/unit/transport/test_zeromq.py index 9ba01691b48..bcad18a2855 100644 --- a/tests/pytests/unit/transport/test_zeromq.py +++ b/tests/pytests/unit/transport/test_zeromq.py @@ -1402,7 +1402,7 @@ async def test_req_server_garbage_request(io_loop): byts = msgpack.dumps({"foo": "bar"}) badbyts = byts[:3] + b"^M" + byts[3:] - valid_response = msgpack.dumps("Invalid payload") + valid_response = msgpack.dumps({"msg": "bad load"}) with MagicMock() as stream: request_server.stream = stream From 0b25479bc1ac63792c4153e7dd6183d3ceb42073 Mon Sep 17 00:00:00 2001 From: Thomas Phipps Date: Wed, 19 Jul 2023 19:06:54 +0000 Subject: [PATCH 096/132] MagicMock is not a context manager. with needs __enter__ and __exit__, but we dont for this test --- tests/pytests/unit/transport/test_zeromq.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/pytests/unit/transport/test_zeromq.py b/tests/pytests/unit/transport/test_zeromq.py index bcad18a2855..2a81624ebab 100644 --- a/tests/pytests/unit/transport/test_zeromq.py +++ b/tests/pytests/unit/transport/test_zeromq.py @@ -1404,12 +1404,12 @@ async def test_req_server_garbage_request(io_loop): valid_response = msgpack.dumps({"msg": "bad load"}) - with MagicMock() as stream: - request_server.stream = stream + stream = MagicMock() + request_server.stream = stream - try: - await request_server.handle_message(stream, badbyts) - except Exception as exc: # pylint: disable=broad-except - pytest.fail("Exception was raised {}".format(exc)) + try: + await request_server.handle_message(stream, badbyts) + except Exception as exc: # pylint: disable=broad-except + pytest.fail("Exception was raised {}".format(exc)) request_server.stream.send.assert_called_once_with(valid_response) From 02d449f06b953bd5587ecc5c15dce5b117b716cd Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 14 Jul 2023 15:54:55 -0600 Subject: [PATCH 097/132] [3005.2] Update requests --- changelog/64336.security | 4 ++++ requirements/base.txt | 4 +++- requirements/static/ci/py3.10/cloud.txt | 8 ++++---- requirements/static/ci/py3.10/darwin.txt | 8 ++++---- requirements/static/ci/py3.10/docs.txt | 8 ++++---- requirements/static/ci/py3.10/freebsd.txt | 8 ++++---- requirements/static/ci/py3.10/lint.txt | 2 +- requirements/static/ci/py3.10/linux.txt | 8 ++++---- requirements/static/ci/py3.5/linux.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 2 +- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 8 ++++---- requirements/static/ci/py3.7/docs.txt | 8 ++++---- requirements/static/ci/py3.7/freebsd.txt | 8 ++++---- requirements/static/ci/py3.7/lint.txt | 2 +- requirements/static/ci/py3.7/linux.txt | 8 ++++---- requirements/static/ci/py3.7/windows.txt | 8 ++++---- requirements/static/ci/py3.8/cloud.txt | 8 ++++---- requirements/static/ci/py3.8/docs.txt | 8 ++++---- requirements/static/ci/py3.8/freebsd.txt | 8 ++++---- requirements/static/ci/py3.8/lint.txt | 2 +- requirements/static/ci/py3.8/linux.txt | 8 ++++---- requirements/static/ci/py3.8/windows.txt | 8 ++++---- requirements/static/ci/py3.9/cloud.txt | 8 ++++---- requirements/static/ci/py3.9/darwin.txt | 8 ++++---- requirements/static/ci/py3.9/docs.txt | 8 ++++---- requirements/static/ci/py3.9/freebsd.txt | 8 ++++---- requirements/static/ci/py3.9/lint.txt | 2 +- requirements/static/ci/py3.9/linux.txt | 8 ++++---- requirements/static/ci/py3.9/windows.txt | 8 ++++---- requirements/static/pkg/py3.10/darwin.txt | 4 ++-- requirements/static/pkg/py3.10/freebsd.txt | 4 ++-- requirements/static/pkg/py3.10/linux.txt | 4 ++-- requirements/static/pkg/py3.5/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 4 ++-- requirements/static/pkg/py3.7/linux.txt | 4 ++-- requirements/static/pkg/py3.7/windows.txt | 4 ++-- requirements/static/pkg/py3.8/freebsd.txt | 4 ++-- requirements/static/pkg/py3.8/linux.txt | 4 ++-- requirements/static/pkg/py3.8/windows.txt | 4 ++-- requirements/static/pkg/py3.9/darwin.txt | 4 ++-- requirements/static/pkg/py3.9/freebsd.txt | 4 ++-- requirements/static/pkg/py3.9/linux.txt | 4 ++-- requirements/static/pkg/py3.9/windows.txt | 4 ++-- requirements/windows.txt | 4 +++- 48 files changed, 131 insertions(+), 123 deletions(-) create mode 100644 changelog/64336.security diff --git a/changelog/64336.security b/changelog/64336.security new file mode 100644 index 00000000000..a7b1c186a1d --- /dev/null +++ b/changelog/64336.security @@ -0,0 +1,4 @@ +Upgrade to `requests==2.31.0` + +Due to: + * https://github.com/advisories/GHSA-j8r2-6x86-q33q diff --git a/requirements/base.txt b/requirements/base.txt index 63e524d2238..8d5cc0fc4c0 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -3,7 +3,9 @@ jmespath msgpack>=0.5,!=0.5.5 PyYAML MarkupSafe -requests>=1.0.0 +requests>=2.31.0 ; python_version >= "3.7" +requests<=2.27.1 ; python_version == "3.6" +requests<=2.25.1 ; python_version == "3.5" distro>=1.0.1 contextvars psutil>=5.0.0 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 3fadb6eae28..d9b210eff05 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -363,10 +363,10 @@ cffi==1.14.6 # bcrypt # cryptography # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -754,7 +754,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 9ff8312342a..9ffc80ea8d0 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -366,10 +366,10 @@ cffi==1.14.6 # cryptography # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -751,7 +751,7 @@ pyzmq==23.2.0 ; python_version >= "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index a7bcb5bddda..29bb3df2e4f 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -370,10 +370,10 @@ cffi==1.14.4 # cryptography # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.6.0 @@ -727,7 +727,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index f0502370f52..35676364698 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -362,10 +362,10 @@ cffi==1.14.6 # cryptography # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -746,7 +746,7 @@ pyzmq==23.2.0 ; python_version >= "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index a3b73ffed3f..edcdea11c4c 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -726,7 +726,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 54e948d2fb4..8b37e77d6d1 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -376,10 +376,10 @@ cffi==1.14.6 # cryptography # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -781,7 +781,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index fb74f39c098..dea31ed5a63 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -813,7 +813,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.25.1 ; python_version == "3.5" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 72a0c0845fc..6b01d673679 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -776,7 +776,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.25.1 ; python_version == "3.6" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index df2a2940522..33a2d2fd803 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -749,7 +749,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.25.1 ; python_version == "3.6" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 80d37f72b07..44e7f50fd7f 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -750,7 +750,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 +requests==2.26.0 ; python_version == "3.6" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 3db90c52104..7986d70870b 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -803,7 +803,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.25.1 ; python_version == "3.6" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 736fed72610..d3d8a645085 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -366,10 +366,10 @@ cffi==1.14.6 # cryptography # napalm # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -798,7 +798,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 20ecffb0424..6233d9b204a 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -375,10 +375,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -770,7 +770,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 5d00f5812bd..98c50faeb6f 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -365,10 +365,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -786,7 +786,7 @@ pyzmq==18.0.1 ; python_version < "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 94f91e330a9..3d8929b4a19 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -771,7 +771,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 357117ea29c..1a46b527c5c 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -379,10 +379,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -819,7 +819,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index b956aeb78f3..a9de9bb6ca3 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -54,10 +54,10 @@ cffi==1.14.6 # -r requirements/windows.txt # cryptography # pygit2 -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -331,7 +331,7 @@ pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # pytest-salt-factories requests-ntlm==1.1.0 # via pywinrm -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 9892e81d244..c601d0a0898 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -364,10 +364,10 @@ cffi==1.14.6 # cryptography # napalm # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -788,7 +788,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 6c4a1e1c474..331e0e0ddd6 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -373,10 +373,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -762,7 +762,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 c3db450d545..412ff3b0a60 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -363,10 +363,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -777,7 +777,7 @@ pyzmq==19.0.0 ; python_version < "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index f80f4878c8f..fe8cd5cfbd1 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -763,7 +763,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 1f972a65914..bb4015bf6b0 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -377,10 +377,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -810,7 +810,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 21f6e001bef..0bf7ec62ea7 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -52,10 +52,10 @@ cffi==1.14.6 # -r requirements/windows.txt # cryptography # pygit2 -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -322,7 +322,7 @@ pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # pytest-salt-factories requests-ntlm==1.1.0 # via pywinrm -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index a67a2fccbde..6ac2f2d6b1d 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -364,10 +364,10 @@ cffi==1.14.6 # cryptography # napalm # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -791,7 +791,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 070259dd2f5..0405f149416 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -367,10 +367,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -785,7 +785,7 @@ pyzmq==23.2.0 ; python_version >= "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index c7b66012c01..cb834ff735c 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -371,10 +371,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post1 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -763,7 +763,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index fa39fb17d0e..ed2c195eb51 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -363,10 +363,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -780,7 +780,7 @@ pyzmq==23.2.0 ; python_version >= "3.9" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 28141144fc2..6305ae43531 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -764,7 +764,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.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 43efcc401a8..4e4888557b3 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -379,10 +379,10 @@ cffi==1.14.6 # napalm # pygit2 # pynacl -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -815,7 +815,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 6bbe4942338..577992088d1 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -52,10 +52,10 @@ cffi==1.14.6 # -r requirements/windows.txt # cryptography # pygit2 -chardet==3.0.4 - # via requests charset-normalizer==2.0.12 - # via aiohttp + # via + # aiohttp + # requests cheetah3==3.2.6.post2 # via -r requirements/static/ci/common.in cheroot==8.5.2 @@ -323,7 +323,7 @@ pyzmq==23.2.0 ; python_version >= "3.9" # pytest-salt-factories requests-ntlm==1.1.0 # via pywinrm -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index fe2c8bb97bc..67e6c959531 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -10,7 +10,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -90,7 +90,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # apache-libcloud diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 919944fd829..9962066ee65 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 9a2e28361e6..9b24062cba9 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index 060c566153b..7cfacd51307 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -74,7 +74,7 @@ pyyaml==5.3.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.25.1 ; python_version == "3.5" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index e32e0f9a4e4..24e9145a2b0 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.25.1 ; python_version == "3.6" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index 9e8fbd70e5e..f2b97c36e74 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index 93cca0f1143..c43a0c88b84 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -73,7 +73,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==18.0.1 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index b9c955837f5..c4e74642404 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -12,7 +12,7 @@ cffi==1.14.6 # via # -r requirements/windows.txt # cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -110,7 +110,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index f90c3ec33ac..0023a07143f 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==19.0.0 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index e38dac9ab4d..c73c79c3fd3 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -73,7 +73,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==19.0.0 ; python_version < "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index a7493197ed4..486614c1432 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -12,7 +12,7 @@ cffi==1.14.6 # via # -r requirements/windows.txt # cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -110,7 +110,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 72369da950f..0fa0ddff389 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -10,7 +10,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -92,7 +92,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # apache-libcloud diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index aa97de1c1fe..75e23967d3a 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 7b4503a5f7f..78ad929f79c 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -8,7 +8,7 @@ certifi==2022.12.7 # via requests cffi==1.14.6 # via cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 9b29f7a8c31..534212929ed 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -12,7 +12,7 @@ cffi==1.14.6 # via # -r requirements/windows.txt # cryptography -chardet==3.0.4 +charset-normalizer==3.2.0 # via requests cheroot==8.5.2 # via cherrypy @@ -110,7 +110,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.9" # via -r requirements/zeromq.txt -requests==2.25.1 +requests==2.31.0 ; python_version >= "3.7" # via # -r requirements/base.txt # -r requirements/windows.txt diff --git a/requirements/windows.txt b/requirements/windows.txt index 525cb68a5ec..2d05784500f 100644 --- a/requirements/windows.txt +++ b/requirements/windows.txt @@ -26,7 +26,9 @@ pymysql>=1.0.2 pyopenssl>=20.0.1 python-dateutil>=2.8.1 python-gnupg>=0.4.7 -requests>=2.25.1 +requests>=2.31.0 ; python_version >= "3.7" +requests<=2.27.1 ; python_version == "3.6" +requests<=2.25.1 ; python_version == "3.5" setproctitle timelib>=0.2.5 urllib3>=1.26.5 From bf6fccbb77307af16cb7b91df5d3d44381a497ad Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 20 Jul 2023 15:12:42 +0100 Subject: [PATCH 098/132] Skip tests when `USE_STATIC_REQUIREMENTS=0` It's not worth the work for 3005.2 Signed-off-by: Pedro Algarvio --- tests/pytests/scenarios/setup/test_install.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/pytests/scenarios/setup/test_install.py b/tests/pytests/scenarios/setup/test_install.py index 836a1d50dc6..ae0f09f5562 100644 --- a/tests/pytests/scenarios/setup/test_install.py +++ b/tests/pytests/scenarios/setup/test_install.py @@ -35,6 +35,8 @@ def use_static_requirements(request): @pytest.fixture def virtualenv(virtualenv, use_static_requirements): + if use_static_requirements is False: + pytest.skip("Skipping tests when USE_STATIC_REQUIREMENTS=0") virtualenv.environ["USE_STATIC_REQUIREMENTS"] = ( "1" if use_static_requirements else "0" ) From 249691d2015ed90248c0660bd11f0f3b547405ce Mon Sep 17 00:00:00 2001 From: Thomas Phipps Date: Thu, 20 Jul 2023 20:33:18 +0000 Subject: [PATCH 099/132] correct changelog --- changelog/{64370.security => cve-2023-20897.security} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog/{64370.security => cve-2023-20897.security} (100%) diff --git a/changelog/64370.security b/changelog/cve-2023-20897.security similarity index 100% rename from changelog/64370.security rename to changelog/cve-2023-20897.security From ed597f74bc6d2ce864a8e72da8ffe7dac7b72616 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Mon, 20 Feb 2023 08:56:56 +0000 Subject: [PATCH 100/132] Upgrade to `cryptography==39.0.1` Due to: * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r There is no security upgrade available for Py3.5 Signed-off-by: Pedro Algarvio --- changelog/63757.security | 7 +++++++ requirements/static/ci/py3.10/cloud.txt | 3 +-- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.txt | 3 +-- 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 | 4 ++-- requirements/static/ci/py3.5/linux.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 3 +-- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 3 +-- requirements/static/ci/py3.7/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 3 +-- requirements/static/ci/py3.8/docs.txt | 3 +-- 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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 3 +-- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.txt | 3 +-- 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 | 2 +- requirements/static/pkg/py3.10/darwin.txt | 3 +-- requirements/static/pkg/py3.10/freebsd.txt | 3 +-- requirements/static/pkg/py3.10/linux.txt | 3 +-- requirements/static/pkg/py3.10/windows.txt | 2 +- requirements/static/pkg/py3.5/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 3 +-- requirements/static/pkg/py3.7/freebsd.txt | 3 +-- requirements/static/pkg/py3.7/linux.txt | 3 +-- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 3 +-- requirements/static/pkg/py3.8/linux.txt | 3 +-- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 3 +-- requirements/static/pkg/py3.9/freebsd.txt | 3 +-- requirements/static/pkg/py3.9/linux.txt | 3 +-- requirements/static/pkg/py3.9/windows.txt | 2 +- 48 files changed, 55 insertions(+), 67 deletions(-) create mode 100644 changelog/63757.security diff --git a/changelog/63757.security b/changelog/63757.security new file mode 100644 index 00000000000..e9817a20013 --- /dev/null +++ b/changelog/63757.security @@ -0,0 +1,7 @@ +Upgrade to `cryptography==39.0.1` + +Due to: + * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 + * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r + +There is no security upgrade available for Py3.5 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index d9b210eff05..7fd45bee830 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -383,7 +383,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table @@ -799,7 +799,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 9ffc80ea8d0..17a77ec6f49 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -386,7 +386,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # -r requirements/darwin.txt # adal diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 29bb3df2e4f..6f75d180706 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core @@ -775,7 +775,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 35676364698..95a3f15445c 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -382,7 +382,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index edcdea11c4c..085c3fed1f9 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 8b37e77d6d1..2f98a9c3d29 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -396,7 +396,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index 0d2a01a550f..e69a1377e2d 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -72,8 +72,8 @@ clustershell==1.8.3 colorama==0.4.1 # via pytest contextvars==2.4 - # via -r requirements/static/pkg/py3.10/windows.txt -cryptography==3.4.7 + # via -r requirements/base.txt +cryptography==39.0.1 # via # -r requirements/static/pkg/py3.10/windows.txt # moto diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index dea31ed5a63..d12b46e5ba4 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -394,7 +394,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.0 +cryptography==3.2.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 6b01d673679..2600973b030 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -387,7 +387,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table @@ -821,7 +821,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index 33a2d2fd803..ce304b51d50 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -396,7 +396,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 44e7f50fd7f..c94a68cbcb3 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -394,7 +394,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 7986d70870b..d2f0f9e1615 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -400,7 +400,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index d3d8a645085..b5826604de3 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table @@ -847,7 +847,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 6233d9b204a..0d26ffbb958 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -399,7 +399,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 98c50faeb6f..98ec7b173dc 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -389,7 +389,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 3d8929b4a19..4e6c509f4f7 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -397,7 +397,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 1a46b527c5c..31f41e46dc4 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -403,7 +403,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index a9de9bb6ca3..d637dde2509 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -74,7 +74,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index c601d0a0898..9867b88830c 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table @@ -837,7 +837,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 331e0e0ddd6..595b8f3a584 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -397,7 +397,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core @@ -814,7 +814,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 412ff3b0a60..e5aa909df59 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -387,7 +387,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index fe8cd5cfbd1..4b3d00057ad 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -395,7 +395,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index bb4015bf6b0..f134c1e0a0c 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -401,7 +401,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 0bf7ec62ea7..2bc4e77a185 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 6ac2f2d6b1d..c4c22b6ca45 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table @@ -840,7 +840,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 0405f149416..2ff8a17515b 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -391,7 +391,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # -r requirements/darwin.txt # adal diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index cb834ff735c..d9759635583 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -395,7 +395,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core @@ -815,7 +815,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index ed2c195eb51..a8184f2510b 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -387,7 +387,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # azure-cosmosdb-table diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 6305ae43531..524b355b691 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -393,7 +393,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.4.7 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 4e4888557b3..ddc5a496786 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -403,7 +403,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.3.2 +cryptography==39.0.1 # via # adal # ansible-core diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 577992088d1..5f738be5f41 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 67e6c959531..14ab519d189 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via # -r requirements/darwin.txt # pyopenssl @@ -100,7 +100,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # pyopenssl # python-dateutil smmap==3.0.2 diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 9962066ee65..17dfef2362b 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via @@ -82,7 +82,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 9b24062cba9..b7787a5cda6 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt @@ -84,7 +84,6 @@ setproctitle==1.2.2 ; python_version >= "3.10" six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index 993135e3ab9..d1780ff57c8 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index 7cfacd51307..edcff57fbcf 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.0 +cryptography==3.2.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 24e9145a2b0..6bc85ab1758 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt @@ -86,7 +86,6 @@ setproctitle==1.1.10 ; python_version < "3.10" six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index f2b97c36e74..ee6902b6971 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via @@ -82,7 +82,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index c43a0c88b84..7197dedca66 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt @@ -82,7 +82,6 @@ setproctitle==1.1.10 ; python_version < "3.10" six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index c4e74642404..bae657d30fc 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 0023a07143f..40c6d3091df 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via @@ -82,7 +82,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index c73c79c3fd3..6ad08eeee58 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt @@ -82,7 +82,6 @@ setproctitle==1.1.10 ; python_version < "3.10" six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 486614c1432..86e18758fb8 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 0fa0ddff389..f05f2c85c15 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via # -r requirements/darwin.txt # pyopenssl @@ -102,7 +102,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # pyopenssl # python-dateutil smmap==3.0.2 diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 75e23967d3a..bd1c4765515 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via @@ -84,7 +84,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 78ad929f79c..5cc64a1f7c0 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.3.2 +cryptography==39.0.1 # via pyopenssl distro==1.5.0 # via -r requirements/base.txt @@ -84,7 +84,6 @@ setproctitle==1.1.10 ; python_version < "3.10" six==1.16.0 # via # cheroot - # cryptography # more-itertools # pyopenssl # python-dateutil diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 534212929ed..df7dcbddf86 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==3.4.7 +cryptography==39.0.1 # via # -r requirements/windows.txt # pyopenssl From df783bde042acad24c4d4fbec220de8a5ed29781 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 8 Feb 2023 15:37:42 +0000 Subject: [PATCH 101/132] Fix pre-commit by changing the pyzmq requirements. It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. Signed-off-by: Pedro Algarvio --- changelog/63757.changed | 3 +++ requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.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.5/linux.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 2 +- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.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 | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.5/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- requirements/zeromq.txt | 8 +++----- salt/utils/cache.py | 4 ++-- salt/utils/master.py | 4 ++-- tests/pytests/functional/test_payload.py | 2 +- 50 files changed, 56 insertions(+), 55 deletions(-) create mode 100644 changelog/63757.changed diff --git a/changelog/63757.changed b/changelog/63757.changed new file mode 100644 index 00000000000..54d9eea7b84 --- /dev/null +++ b/changelog/63757.changed @@ -0,0 +1,3 @@ +Fix pre-commit by changing the pyzmq requirements: + +* It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 7fd45bee830..1cf83c280c7 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -746,7 +746,7 @@ pyyaml==6.0.1 # junos-eznc # kubernetes # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 17a77ec6f49..9e711c23af2 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -745,7 +745,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 6f75d180706..05ddd55b11c 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -719,7 +719,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 95a3f15445c..c488fa30a58 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -740,7 +740,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 085c3fed1f9..532dffeeba6 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -718,7 +718,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 2f98a9c3d29..ab849b8353f 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -771,7 +771,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index d12b46e5ba4..e783ec08026 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -803,7 +803,7 @@ pyyaml==5.3.1 # moto # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==19.0.2 ; python_version < "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 2600973b030..fd2bed42951 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -768,7 +768,7 @@ pyyaml==6.0.1 # junos-eznc # kubernetes # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index ce304b51d50..7506832c029 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -741,7 +741,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index c94a68cbcb3..2f5f7e59ada 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -742,7 +742,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index d2f0f9e1615..048f7eac3cd 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -793,7 +793,7 @@ pyyaml==6.0.1 # kubernetes # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index b5826604de3..1c3fd4f6459 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -790,7 +790,7 @@ pyyaml==6.0.1 # kubernetes # napalm # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 0d26ffbb958..dce6176a0b1 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -762,7 +762,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 98ec7b173dc..82a9ada02cb 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -780,7 +780,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 4e6c509f4f7..0e0bac30252 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -763,7 +763,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 31f41e46dc4..28f29631269 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -809,7 +809,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index d637dde2509..dea6d30226a 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -325,7 +325,7 @@ pyyaml==6.0.1 # clustershell # kubernetes # yamllint -pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" +pyzmq==22.0.3 ; sys_platform == "win32" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 9867b88830c..79c34d4a28b 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -780,7 +780,7 @@ pyyaml==6.0.1 # kubernetes # napalm # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 595b8f3a584..774fba3b878 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -754,7 +754,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index e5aa909df59..fd8beed5f10 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -771,7 +771,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 4b3d00057ad..ac1cadad985 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -755,7 +755,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==21.0.2 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index f134c1e0a0c..580714f2f2d 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -800,7 +800,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 2bc4e77a185..04847dbbb2a 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -316,7 +316,7 @@ pyyaml==6.0.1 # clustershell # kubernetes # yamllint -pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" +pyzmq==22.0.3 ; sys_platform == "win32" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index c4c22b6ca45..e90d7f4675a 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -783,7 +783,7 @@ pyyaml==6.0.1 # kubernetes # napalm # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 2ff8a17515b..af0c191cfb1 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -779,7 +779,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index d9759635583..dfe8f69a790 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -755,7 +755,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index a8184f2510b..662278a0e46 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -774,7 +774,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 524b355b691..0bbc5fd5083 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -756,7 +756,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt redis-py-cluster==2.1.3 # via -r requirements/static/ci/linux.in diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index ddc5a496786..9f1500d6b98 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -805,7 +805,7 @@ pyyaml==6.0.1 # napalm # yamllint # yamlordereddictloader -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 5f738be5f41..b1d7ef9e95c 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -317,7 +317,7 @@ pyyaml==6.0.1 # clustershell # kubernetes # yamllint -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==22.0.3 ; sys_platform == "win32" # via # -r requirements/zeromq.txt # pytest-salt-factories diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 14ab519d189..5288b1d5812 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -88,7 +88,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 17dfef2362b..9f1a18dc918 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -73,7 +73,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index b7787a5cda6..ac20c8bcec4 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -73,7 +73,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index edcff57fbcf..99fae156ae1 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -72,7 +72,7 @@ pytz==2022.1 # via tempora pyyaml==5.3.1 # via -r requirements/base.txt -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==19.0.2 ; python_version < "3.6" # via -r requirements/zeromq.txt requests==2.25.1 ; python_version == "3.5" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 6bc85ab1758..d74707851b6 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -75,7 +75,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.25.1 ; python_version == "3.6" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index ee6902b6971..72d9d6bf22f 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -73,7 +73,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index 7197dedca66..e912937f40e 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -71,7 +71,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==18.0.1 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index bae657d30fc..00e5c7f4e45 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -108,7 +108,7 @@ pywin32==303 # wmi pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" +pyzmq==22.0.3 ; sys_platform == "win32" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 40c6d3091df..5927344fc5a 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -73,7 +73,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index 6ad08eeee58..f0b348bb9d9 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -71,7 +71,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==19.0.0 ; python_version < "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 86e18758fb8..cfd2cf72b7e 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -108,7 +108,7 @@ pywin32==303 # wmi pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==22.0.3 ; python_version < "3.9" and sys_platform == "win32" +pyzmq==22.0.3 ; sys_platform == "win32" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index f05f2c85c15..983ddec13a9 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -90,7 +90,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index bd1c4765515..4ca9d98a824 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -75,7 +75,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 5cc64a1f7c0..d356aaafb22 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -73,7 +73,7 @@ pytz==2022.1 # via tempora pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via -r requirements/base.txt diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index df7dcbddf86..a14faf711e5 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -108,7 +108,7 @@ pywin32==303 # wmi pyyaml==6.0.1 # via -r requirements/base.txt -pyzmq==23.2.0 ; python_version >= "3.9" +pyzmq==22.0.3 ; sys_platform == "win32" # via -r requirements/zeromq.txt requests==2.31.0 ; python_version >= "3.7" # via diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt index ce3dde07826..e6ea79b525d 100644 --- a/requirements/zeromq.txt +++ b/requirements/zeromq.txt @@ -1,10 +1,8 @@ -r base.txt -r crypto.txt -pyzmq<=20.0.0 ; python_version < "3.6" -pyzmq>=17.0.0 ; python_version < "3.9" -pyzmq>19.0.2 ; python_version >= "3.9" - +pyzmq<20.0.0; python_version < "3.6" +pyzmq>=20.0.0; python_version >= "3.6" # We can't use 23+ on Windows until they fix this: # https://github.com/zeromq/pyzmq/issues/1472 -pyzmq>=20.0.0, <=22.0.3 ; python_version < "3.9" and sys_platform == 'win32' +pyzmq>=20.0.0,<=22.0.3 ; sys_platform == "win32" diff --git a/salt/utils/cache.py b/salt/utils/cache.py index 6a9e003a862..9868cc65df5 100644 --- a/salt/utils/cache.py +++ b/salt/utils/cache.py @@ -203,14 +203,14 @@ class CacheCli: """ published the given minions to the ConCache """ - self.cupd_out.send(salt.payload.dumps(minions)) + self.cupd_out.send(salt.payload.dumps(minions)) # pylint: disable=missing-kwoa def get_cached(self): """ queries the ConCache for a list of currently connected minions """ msg = salt.payload.dumps("minions") - self.creq_out.send(msg) + self.creq_out.send(msg) # pylint: disable=missing-kwoa min_list = salt.payload.loads(self.creq_out.recv()) return min_list diff --git a/salt/utils/master.py b/salt/utils/master.py index 2fedea6a558..031b151caef 100644 --- a/salt/utils/master.py +++ b/salt/utils/master.py @@ -568,7 +568,7 @@ class CacheTimer(Thread): count = 0 log.debug("ConCache-Timer started") while not self.stopped.wait(1): - socket.send(salt.payload.dumps(count)) + socket.send(salt.payload.dumps(count)) # pylint: disable=missing-kwoa count += 1 if count >= 60: @@ -733,7 +733,7 @@ class ConnectedCache(Process): if msg == "minions": # Send reply back to client reply = salt.payload.dumps(self.minions) - creq_in.send(reply) + creq_in.send(reply) # pylint: disable=missing-kwoa # check for next cache-update from workers if socks.get(cupd_in) == zmq.POLLIN: diff --git a/tests/pytests/functional/test_payload.py b/tests/pytests/functional/test_payload.py index ec5f66bdf67..67c6b423678 100644 --- a/tests/pytests/functional/test_payload.py +++ b/tests/pytests/functional/test_payload.py @@ -57,7 +57,7 @@ class EchoServer: msg_deserialized["load"]["sleep"], ) time.sleep(msg_deserialized["load"]["sleep"]) - socket.send(message) + socket.send(message) # pylint: disable=missing-kwoa except zmq.ZMQError as exc: if exc.errno == errno.EAGAIN: continue From 512505828221f23d819642148774fcbf07168419 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 23 Feb 2023 12:08:29 +0000 Subject: [PATCH 102/132] Upgrade to `pyopenssl==23.0.0` due to the cryptography upgrade. Signed-off-by: Pedro Algarvio --- changelog/63757.changed | 3 ++- requirements/static/ci/py3.10/cloud.txt | 3 +-- requirements/static/ci/py3.10/darwin.txt | 4 +--- requirements/static/ci/py3.10/docs.txt | 3 +-- 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 | 2 +- requirements/static/ci/py3.5/linux.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 3 +-- requirements/static/ci/py3.6/docs.txt | 3 +-- requirements/static/ci/py3.6/lint.txt | 3 +-- requirements/static/ci/py3.6/linux.txt | 4 +--- requirements/static/ci/py3.7/cloud.txt | 3 +-- requirements/static/ci/py3.7/docs.txt | 3 +-- requirements/static/ci/py3.7/freebsd.txt | 4 +--- requirements/static/ci/py3.7/lint.txt | 3 +-- requirements/static/ci/py3.7/linux.txt | 4 +--- requirements/static/ci/py3.7/windows.txt | 3 +-- requirements/static/ci/py3.8/cloud.txt | 3 +-- requirements/static/ci/py3.8/docs.txt | 3 +-- requirements/static/ci/py3.8/freebsd.txt | 4 +--- requirements/static/ci/py3.8/lint.txt | 3 +-- requirements/static/ci/py3.8/linux.txt | 4 +--- requirements/static/ci/py3.8/windows.txt | 3 +-- requirements/static/ci/py3.9/cloud.txt | 3 +-- requirements/static/ci/py3.9/darwin.txt | 4 +--- requirements/static/ci/py3.9/docs.txt | 3 +-- requirements/static/ci/py3.9/freebsd.txt | 4 +--- requirements/static/ci/py3.9/lint.txt | 3 +-- requirements/static/ci/py3.9/linux.txt | 4 +--- requirements/static/ci/py3.9/windows.txt | 3 +-- requirements/static/pkg/py3.10/darwin.txt | 3 +-- requirements/static/pkg/py3.10/freebsd.txt | 3 +-- requirements/static/pkg/py3.10/linux.txt | 3 +-- requirements/static/pkg/py3.10/windows.txt | 2 +- requirements/static/pkg/py3.5/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 3 +-- requirements/static/pkg/py3.7/freebsd.txt | 3 +-- requirements/static/pkg/py3.7/linux.txt | 3 +-- requirements/static/pkg/py3.7/windows.txt | 3 +-- requirements/static/pkg/py3.8/freebsd.txt | 3 +-- requirements/static/pkg/py3.8/linux.txt | 3 +-- requirements/static/pkg/py3.8/windows.txt | 3 +-- requirements/static/pkg/py3.9/darwin.txt | 3 +-- requirements/static/pkg/py3.9/freebsd.txt | 3 +-- requirements/static/pkg/py3.9/linux.txt | 3 +-- requirements/static/pkg/py3.9/windows.txt | 3 +-- 48 files changed, 49 insertions(+), 102 deletions(-) diff --git a/changelog/63757.changed b/changelog/63757.changed index 54d9eea7b84..99023c4391e 100644 --- a/changelog/63757.changed +++ b/changelog/63757.changed @@ -1,3 +1,4 @@ -Fix pre-commit by changing the pyzmq requirements: +Additional required package upgrades * It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. +* Upgrade to `pyopenssl==23.0.0` due to the cryptography upgrade. diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 1cf83c280c7..daa0302f744 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -665,7 +665,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -812,7 +812,6 @@ six==1.16.0 # paramiko # profitbricks # pynacl - # pyopenssl # pypsexec # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 9e711c23af2..38c68267a65 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -667,7 +667,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.0.0 +pyopenssl==23.0.0 # via # -r requirements/darwin.txt # etcd3-py @@ -792,7 +792,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -807,7 +806,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 05ddd55b11c..5e86fd2448e 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -669,7 +669,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -788,7 +788,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index c488fa30a58..53768cf689d 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -662,7 +662,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py @@ -786,7 +786,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -803,7 +802,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 532dffeeba6..70ebc3527c9 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -669,7 +669,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -788,7 +788,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index ab849b8353f..a4d159bbd3e 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -684,7 +684,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -828,7 +828,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -844,7 +843,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index e69a1377e2d..c2d7479e171 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -263,7 +263,7 @@ pygit2==1.5.0 ; python_version >= "3.7" # via -r requirements/static/ci/windows.in pymysql==1.0.2 # via -r requirements/static/pkg/py3.10/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via -r requirements/static/pkg/py3.10/windows.txt pyparsing==2.4.5 # via packaging diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index e783ec08026..1e0a701bc01 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -717,7 +717,7 @@ pymysql==0.9.3 ; python_version <= "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==20.0.0 # via -r requirements/static/pkg/linux.in pyparsing==2.4.5 # via diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index fd2bed42951..7e4828deaba 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -687,7 +687,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -834,7 +834,6 @@ six==1.16.0 # paramiko # profitbricks # pynacl - # pyopenssl # pypsexec # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index 7506832c029..72c9be30d9c 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -691,7 +691,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -810,7 +810,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 2f5f7e59ada..47d57ed6e17 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -693,7 +693,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -812,7 +812,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 048f7eac3cd..824d6280688 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -706,7 +706,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -850,7 +850,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -866,7 +865,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 1c3fd4f6459..1fef99d6a88 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -706,7 +706,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -860,7 +860,6 @@ six==1.16.0 # paramiko # profitbricks # pynacl - # pyopenssl # pypsexec # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index dce6176a0b1..6b0ffe63197 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -709,7 +709,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -835,7 +835,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 82a9ada02cb..444390b0cff 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -699,7 +699,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py @@ -830,7 +830,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -847,7 +846,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 0e0bac30252..eb1de622993 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -711,7 +711,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -837,7 +837,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 28f29631269..1f55c32ab3b 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -719,7 +719,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -870,7 +870,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -886,7 +885,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index dea6d30226a..69abac8022b 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -248,7 +248,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/windows.txt # etcd3-py @@ -372,7 +372,6 @@ six==1.16.0 # kubernetes # mock # packaging - # pyopenssl # python-dateutil # pyvmomi # pywinrm diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 79c34d4a28b..1d3b08c9a83 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -696,7 +696,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -850,7 +850,6 @@ six==1.16.0 # paramiko # profitbricks # pynacl - # pyopenssl # pypsexec # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 774fba3b878..02980e271c8 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -701,7 +701,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -827,7 +827,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index fd8beed5f10..85abaf51606 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -690,7 +690,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py @@ -821,7 +821,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -838,7 +837,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index ac1cadad985..7ee44f9afea 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -703,7 +703,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -829,7 +829,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 580714f2f2d..7a74278bedb 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -710,7 +710,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -861,7 +861,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -877,7 +876,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 04847dbbb2a..0276117fd2b 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -239,7 +239,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/windows.txt # etcd3-py @@ -363,7 +363,6 @@ six==1.15.0 # kubernetes # mock # packaging - # pyopenssl # python-dateutil # pyvmomi # pywinrm diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index e90d7f4675a..65e40191a24 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -699,7 +699,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -853,7 +853,6 @@ six==1.16.0 # paramiko # profitbricks # pynacl - # pyopenssl # pypsexec # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index af0c191cfb1..027e54df9f8 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -698,7 +698,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.0.0 +pyopenssl==23.0.0 # via # -r requirements/darwin.txt # etcd3-py @@ -830,7 +830,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -845,7 +844,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index dfe8f69a790..25a76d03311 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -702,7 +702,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -828,7 +828,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 662278a0e46..0bdd1ce61e0 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -693,7 +693,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py @@ -824,7 +824,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -841,7 +840,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-dateutil # pyvmomi # responses diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 0bbc5fd5083..628aab6c2e1 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -704,7 +704,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -830,7 +830,6 @@ six==1.16.0 # ncclient # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 9f1500d6b98..b26ec4caf74 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -715,7 +715,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via # -r requirements/static/pkg/linux.in # etcd3-py @@ -866,7 +866,6 @@ six==1.16.0 # bcrypt # cassandra-driver # cheroot - # cryptography # etcd3-py # genshi # geomet @@ -882,7 +881,6 @@ six==1.16.0 # packaging # paramiko # pynacl - # pyopenssl # python-consul # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index b1d7ef9e95c..f0c56a60bc7 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -240,7 +240,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via # -r requirements/windows.txt # etcd3-py @@ -364,7 +364,6 @@ six==1.15.0 # kubernetes # mock # packaging - # pyopenssl # python-dateutil # pyvmomi # pywinrm diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 5288b1d5812..f198a2a12b9 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -78,7 +78,7 @@ pycparser==2.21 # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.0.0 +pyopenssl==23.0.0 # via -r requirements/darwin.txt python-dateutil==2.8.0 # via -r requirements/darwin.txt @@ -100,7 +100,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # pyopenssl # python-dateutil smmap==3.0.2 # via gitdb diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 9f1a18dc918..11e9bd793c1 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -63,7 +63,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in @@ -83,7 +83,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index ac20c8bcec4..9e581268a69 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -63,7 +63,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in @@ -85,7 +85,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index d1780ff57c8..72fa81eaf7d 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -85,7 +85,7 @@ pycurl==7.43.0.5 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index 99fae156ae1..a20653647cb 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -62,7 +62,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==20.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index d74707851b6..56155c21fa5 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -65,7 +65,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in @@ -87,7 +87,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index 72d9d6bf22f..a4114d8c791 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -63,7 +63,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in @@ -83,7 +83,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index e912937f40e..06719f36e59 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -61,7 +61,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in @@ -83,7 +83,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 00e5c7f4e45..4a92ba25f5a 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt @@ -119,7 +119,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # pyopenssl # python-dateutil smmap==3.0.4 # via gitdb diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 5927344fc5a..bc96d1498d0 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -63,7 +63,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in @@ -83,7 +83,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index f0b348bb9d9..3ddd9ea98b5 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -61,7 +61,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in @@ -83,7 +83,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index cfd2cf72b7e..94a1c1a0c98 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt @@ -119,7 +119,6 @@ setproctitle==1.1.10 six==1.15.0 # via # cheroot - # pyopenssl # python-dateutil smmap==4.0.0 # via gitdb diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 983ddec13a9..b32e5dd4393 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -80,7 +80,7 @@ pycparser==2.21 # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.0.0 +pyopenssl==23.0.0 # via -r requirements/darwin.txt python-dateutil==2.8.0 # via -r requirements/darwin.txt @@ -102,7 +102,6 @@ setproctitle==1.1.10 six==1.16.0 # via # cheroot - # pyopenssl # python-dateutil smmap==3.0.2 # via gitdb diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 4ca9d98a824..26e611cc1f8 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -65,7 +65,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in @@ -85,7 +85,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index d356aaafb22..3c84b88ca5c 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -63,7 +63,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==19.1.0 +pyopenssl==23.0.0 # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in @@ -85,7 +85,6 @@ six==1.16.0 # via # cheroot # more-itertools - # pyopenssl # python-dateutil tempora==4.1.1 # via portend diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index a14faf711e5..315766f5c78 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==20.0.1 +pyopenssl==23.0.0 # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt @@ -119,7 +119,6 @@ setproctitle==1.1.10 six==1.15.0 # via # cheroot - # pyopenssl # python-dateutil smmap==4.0.0 # via gitdb From 49f46526bfaf131161f9cc5182c0a4b78e0dee78 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 14 Jul 2023 13:56:40 -0600 Subject: [PATCH 103/132] [3005.2] Update cryptography --- changelog/63757.security | 7 ------- changelog/64595.security | 11 +++++++++++ requirements/darwin.txt | 7 +++++-- requirements/static/ci/py3.10/cloud.txt | 5 +++-- requirements/static/ci/py3.10/darwin.txt | 4 ++-- requirements/static/ci/py3.10/docs.txt | 5 +++-- requirements/static/ci/py3.10/freebsd.txt | 5 +++-- requirements/static/ci/py3.10/lint.txt | 5 +++-- requirements/static/ci/py3.10/linux.txt | 5 +++-- requirements/static/ci/py3.5/linux.txt | 5 +++-- requirements/static/ci/py3.6/cloud.txt | 5 +++-- requirements/static/ci/py3.6/docs.txt | 5 +++-- requirements/static/ci/py3.6/lint.txt | 5 +++-- requirements/static/ci/py3.6/linux.txt | 5 +++-- requirements/static/ci/py3.7/cloud.txt | 5 +++-- requirements/static/ci/py3.7/docs.txt | 5 +++-- requirements/static/ci/py3.7/freebsd.txt | 5 +++-- requirements/static/ci/py3.7/lint.txt | 5 +++-- requirements/static/ci/py3.7/linux.txt | 5 +++-- requirements/static/ci/py3.7/windows.txt | 4 ++-- requirements/static/ci/py3.8/cloud.txt | 5 +++-- requirements/static/ci/py3.8/docs.txt | 5 +++-- requirements/static/ci/py3.8/freebsd.txt | 5 +++-- requirements/static/ci/py3.8/lint.txt | 5 +++-- requirements/static/ci/py3.8/linux.txt | 5 +++-- requirements/static/ci/py3.8/windows.txt | 4 ++-- requirements/static/ci/py3.9/cloud.txt | 5 +++-- requirements/static/ci/py3.9/darwin.txt | 4 ++-- requirements/static/ci/py3.9/docs.txt | 5 +++-- requirements/static/ci/py3.9/freebsd.txt | 5 +++-- requirements/static/ci/py3.9/lint.txt | 5 +++-- requirements/static/ci/py3.9/linux.txt | 5 +++-- requirements/static/ci/py3.9/windows.txt | 4 ++-- requirements/static/pkg/freebsd.in | 6 +++++- requirements/static/pkg/linux.in | 6 +++++- requirements/static/pkg/py3.10/darwin.txt | 4 ++-- requirements/static/pkg/py3.10/freebsd.txt | 8 +++++--- requirements/static/pkg/py3.10/linux.txt | 8 +++++--- requirements/static/pkg/py3.5/linux.txt | 8 +++++--- requirements/static/pkg/py3.6/linux.txt | 8 +++++--- requirements/static/pkg/py3.7/freebsd.txt | 8 +++++--- requirements/static/pkg/py3.7/linux.txt | 8 +++++--- requirements/static/pkg/py3.7/windows.txt | 4 ++-- requirements/static/pkg/py3.8/freebsd.txt | 8 +++++--- requirements/static/pkg/py3.8/linux.txt | 8 +++++--- requirements/static/pkg/py3.8/windows.txt | 4 ++-- requirements/static/pkg/py3.9/darwin.txt | 4 ++-- requirements/static/pkg/py3.9/freebsd.txt | 8 +++++--- requirements/static/pkg/py3.9/linux.txt | 8 +++++--- requirements/static/pkg/py3.9/windows.txt | 4 ++-- requirements/windows.txt | 7 +++++-- 51 files changed, 176 insertions(+), 113 deletions(-) delete mode 100644 changelog/63757.security create mode 100644 changelog/64595.security diff --git a/changelog/63757.security b/changelog/63757.security deleted file mode 100644 index e9817a20013..00000000000 --- a/changelog/63757.security +++ /dev/null @@ -1,7 +0,0 @@ -Upgrade to `cryptography==39.0.1` - -Due to: - * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 - * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r - -There is no security upgrade available for Py3.5 diff --git a/changelog/64595.security b/changelog/64595.security new file mode 100644 index 00000000000..737603b7704 --- /dev/null +++ b/changelog/64595.security @@ -0,0 +1,11 @@ +Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) + +This only really impacts pip installs of Salt and the windows onedir since the linux and macos onedir build every package dependency from source, not from pre-existing wheels. + +Also resolves the following cryptography advisories: + +Due to: + * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 + * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r + +There is no security upgrade available for Py3.5 diff --git a/requirements/darwin.txt b/requirements/darwin.txt index 2966baa9168..06ef5dc9daf 100644 --- a/requirements/darwin.txt +++ b/requirements/darwin.txt @@ -5,7 +5,9 @@ apache-libcloud>=2.4.0 backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' cherrypy>=17.4.1 -cryptography>=2.6.1 +cryptography>=41.0.2 ; python_version >= "3.7" +cryptography<=40.0.2 ; python_version == "3.6" +cryptography<=3.2.1 ; python_version <= "3.5" gitpython>=2.1.15 ; python_version <= "3.6" gitpython>=3.1.30 ; python_version >= "3.7" idna>=2.8 @@ -13,7 +15,8 @@ linode-python>=1.1.1 mako>=1.0.7 pyasn1>=0.4.8 pycparser>=2.21 -pyopenssl>=19.0.0 +pyopenssl>=23.2.0 ; python_version >= "3.6" +pyopenssl<=20.0.0 ; python_version <= "3.5" python-dateutil>=2.8.0 python-gnupg>=0.4.4 setproctitle>=1.1.10 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index daa0302f744..8a2ddc103de 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -383,8 +383,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # azure-cosmosdb-table # azure-keyvault @@ -665,7 +666,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 38c68267a65..ce76a56d44e 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -386,7 +386,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/darwin.txt # adal @@ -667,7 +667,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/darwin.txt # etcd3-py diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 5e86fd2448e..3847d3deb22 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -390,8 +390,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -669,7 +670,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 53768cf689d..4b913ad0963 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -382,8 +382,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/freebsd.in # adal # azure-cosmosdb-table # azure-keyvault @@ -662,7 +663,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/freebsd.in # etcd3-py diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 70ebc3527c9..3239e198efc 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -388,8 +388,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -669,7 +670,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index a4d159bbd3e..c9e4eff4d65 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -396,8 +396,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -684,7 +685,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index 1e0a701bc01..cd224abefb8 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -394,8 +394,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==3.2.1 +cryptography==3.2.1 ; python_version <= "3.5" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -717,7 +718,7 @@ pymysql==0.9.3 ; python_version <= "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==20.0.0 +pyopenssl==20.0.0 ; python_version <= "3.5" # via -r requirements/static/pkg/linux.in pyparsing==2.4.5 # via diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 7e4828deaba..9f892b2ded0 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -387,8 +387,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==40.0.2 ; python_version == "3.6" # via + # -r requirements/static/pkg/linux.in # adal # azure-cosmosdb-table # azure-keyvault @@ -687,7 +688,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index 72c9be30d9c..c17be26596c 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -396,8 +396,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==40.0.2 ; python_version == "3.6" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -691,7 +692,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 47d57ed6e17..6459d089483 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -394,8 +394,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==40.0.2 ; python_version == "3.6" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -693,7 +694,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 824d6280688..e56feee544e 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -400,8 +400,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==40.0.2 ; python_version == "3.6" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -706,7 +707,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 1fef99d6a88..3bacf53a470 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -390,8 +390,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # azure-cosmosdb-table # azure-keyvault @@ -706,7 +707,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 6b0ffe63197..25258765c56 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -399,8 +399,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -709,7 +710,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 444390b0cff..d11b7d47274 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -389,8 +389,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/freebsd.in # adal # azure-cosmosdb-table # azure-keyvault @@ -699,7 +700,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/freebsd.in # etcd3-py diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index eb1de622993..e6aeb6e7e49 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -397,8 +397,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -711,7 +712,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 1f55c32ab3b..cd49f1643f8 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -403,8 +403,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -719,7 +720,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 69abac8022b..6719e418da3 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -74,7 +74,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py @@ -248,7 +248,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 1d3b08c9a83..d6321c017a7 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -388,8 +388,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # azure-cosmosdb-table # azure-keyvault @@ -696,7 +697,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 02980e271c8..31e1a0ae533 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -397,8 +397,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -701,7 +702,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 85abaf51606..f2504c8c07b 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -387,8 +387,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/freebsd.in # adal # azure-cosmosdb-table # azure-keyvault @@ -690,7 +691,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/freebsd.in # etcd3-py diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 7ee44f9afea..118387872aa 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -395,8 +395,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -703,7 +704,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 7a74278bedb..6ef117960ec 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -401,8 +401,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -710,7 +711,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 0276117fd2b..f5608623def 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py @@ -239,7 +239,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 65e40191a24..67a4af161cb 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -388,8 +388,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # azure-cosmosdb-table # azure-keyvault @@ -699,7 +700,7 @@ pyjwt==2.4.0 # via adal pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 027e54df9f8..8cd565e5cf2 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -391,7 +391,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/darwin.txt # adal @@ -698,7 +698,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/darwin.txt # etcd3-py diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index 25a76d03311..bc89980c0c1 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -395,8 +395,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -702,7 +703,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 0bdd1ce61e0..f328800e5cd 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -387,8 +387,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/freebsd.in # adal # azure-cosmosdb-table # azure-keyvault @@ -693,7 +694,7 @@ pyjwt==2.4.0 # via adal pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/freebsd.in # etcd3-py diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 628aab6c2e1..3794f8d49a8 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -393,8 +393,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -704,7 +705,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.4.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index b26ec4caf74..1f0b13d1160 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -403,8 +403,9 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via + # -r requirements/static/pkg/linux.in # adal # ansible-core # azure-cosmosdb-table @@ -715,7 +716,7 @@ pymysql==1.0.2 ; python_version > "3.5" # via -r requirements/static/ci/linux.in pynacl==1.3.0 # via paramiko -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/static/pkg/linux.in # etcd3-py diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index f0c56a60bc7..89959b9c895 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py @@ -240,7 +240,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/pkg/freebsd.in b/requirements/static/pkg/freebsd.in index ef495e26b05..48f511e22de 100644 --- a/requirements/static/pkg/freebsd.in +++ b/requirements/static/pkg/freebsd.in @@ -1,9 +1,13 @@ # This file only exists to trigger the right static compiled requirements destination # Any non hard dependencies of Salt for FreeBSD can go here cherrypy +cryptography>=41.0.2 ; python_version >= "3.7" +cryptography<=40.0.2 ; python_version == "3.6" +cryptography<=3.2.1 ; python_version <= "3.5" backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' pycparser>=2.21; python_version >= '3.9' -pyopenssl>=19.0.0 +pyopenssl>=23.2.0 ; python_version >= "3.6" +pyopenssl<=20.0.0 ; python_version <= "3.5" python-dateutil>=2.8.0 python-gnupg>=0.4.4 setproctitle>=1.1.10 diff --git a/requirements/static/pkg/linux.in b/requirements/static/pkg/linux.in index e9681cde837..ff1595bc4a2 100644 --- a/requirements/static/pkg/linux.in +++ b/requirements/static/pkg/linux.in @@ -1,9 +1,13 @@ # This file only exists to trigger the right static compiled requirements destination. # Any non hard dependencies of Salt for linux can go here cherrypy +cryptography>=41.0.2 ; python_version >= "3.7" +cryptography<=40.0.2 ; python_version == "3.6" +cryptography<=3.2.1 ; python_version <= "3.5" backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' pycparser>=2.21; python_version >= '3.9' -pyopenssl>=19.0.0 +pyopenssl>=23.2.0 ; python_version >= "3.6" +pyopenssl<=20.0.0 ; python_version <= "3.5" python-dateutil>=2.8.0 python-gnupg>=0.4.4 rpm-vercmp diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index f198a2a12b9..dff562b6103 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/darwin.txt # pyopenssl @@ -78,7 +78,7 @@ pycparser==2.21 # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/darwin.txt python-dateutil==2.8.0 # via -r requirements/darwin.txt diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 11e9bd793c1..ac04b41cc32 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/freebsd.in + # pyopenssl distro==1.5.0 # via # -r requirements/base.txt @@ -63,7 +65,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 9e581268a69..2ee103af5a9 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -63,7 +65,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index a20653647cb..f72b043c2f1 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -18,8 +18,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==3.2.1 - # via pyopenssl +cryptography==3.2.1 ; python_version <= "3.5" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -62,7 +64,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==20.0.0 +pyopenssl==20.0.0 ; python_version <= "3.5" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 56155c21fa5..bd9296141d9 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -18,8 +18,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==40.0.2 ; python_version == "3.6" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -65,7 +67,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index a4114d8c791..58b198237d5 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/freebsd.in + # pyopenssl distro==1.5.0 # via # -r requirements/base.txt @@ -63,7 +65,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index 06719f36e59..e0fb24db663 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -61,7 +63,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 4a92ba25f5a..27160637dea 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index bc96d1498d0..20eaacdf1fa 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/freebsd.in + # pyopenssl distro==1.5.0 # via # -r requirements/base.txt @@ -63,7 +65,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index 3ddd9ea98b5..645793895a4 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -61,7 +63,7 @@ pycparser==2.17 # via cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 94a1c1a0c98..8f92533d602 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index b32e5dd4393..df9e222db39 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/darwin.txt # pyopenssl @@ -80,7 +80,7 @@ pycparser==2.21 # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/darwin.txt python-dateutil==2.8.0 # via -r requirements/darwin.txt diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 26e611cc1f8..10018b514b8 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/freebsd.in + # pyopenssl distro==1.5.0 # via # -r requirements/base.txt @@ -65,7 +67,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/freebsd.in python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 3c84b88ca5c..a855a5c57c5 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -16,8 +16,10 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 - # via pyopenssl +cryptography==41.0.2 ; python_version >= "3.7" + # via + # -r requirements/static/pkg/linux.in + # pyopenssl distro==1.5.0 # via -r requirements/base.txt idna==2.8 @@ -63,7 +65,7 @@ pycparser==2.21 ; python_version >= "3.9" # cffi pycryptodomex==3.9.8 # via -r requirements/crypto.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/static/pkg/linux.in python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 315766f5c78..343c6b88625 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==39.0.1 +cryptography==41.0.2 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl @@ -91,7 +91,7 @@ pymssql==2.2.1 # via -r requirements/windows.txt pymysql==1.0.2 # via -r requirements/windows.txt -pyopenssl==23.0.0 +pyopenssl==23.2.0 ; python_version >= "3.6" # via -r requirements/windows.txt python-dateutil==2.8.1 # via -r requirements/windows.txt diff --git a/requirements/windows.txt b/requirements/windows.txt index 2d05784500f..5f9c363b507 100644 --- a/requirements/windows.txt +++ b/requirements/windows.txt @@ -11,7 +11,9 @@ certifi>=2022.12.7 ; python_version >= "3.6" certifi<=2021.10.8 ; python_version <= "3.5" cffi>=1.14.5 cherrypy>=18.6.1 -cryptography>=3.4.7 +cryptography>=41.0.2 ; python_version >= "3.7" +cryptography<=40.0.2 ; python_version == "3.6" +cryptography<=3.2.1 ; python_version <= "3.5" gitpython>=2.1.15 ; python_version <= "3.6" gitpython>=3.1.30 ; python_version >= "3.7" ioloop>=0.1a0 @@ -23,7 +25,8 @@ pycparser>=2.21 pycurl>=7.43.0.5 # PyCurl does not provide a whl file for newer versions pymssql>=2.2.1 pymysql>=1.0.2 -pyopenssl>=20.0.1 +pyopenssl>=23.2.0 ; python_version >= "3.6" +pyopenssl<=20.0.0 ; python_version <= "3.5" python-dateutil>=2.8.1 python-gnupg>=0.4.7 requests>=2.31.0 ; python_version >= "3.7" From 99778854ae2ad5559b2e101e05e032b9a7be606e Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 19 Jul 2023 12:46:54 -0600 Subject: [PATCH 104/132] Skip ansible tests on py3.6 due to crypto warning --- tests/pytests/unit/roster/test_ansible.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/pytests/unit/roster/test_ansible.py b/tests/pytests/unit/roster/test_ansible.py index 2c85b705ba0..bc5009051b6 100644 --- a/tests/pytests/unit/roster/test_ansible.py +++ b/tests/pytests/unit/roster/test_ansible.py @@ -1,4 +1,5 @@ import shutil +import sys import pytest import salt.loader @@ -159,6 +160,10 @@ def test_virtual_returns_False_if_ansible_inventory_doesnt_exist(which_value): assert ansible.__virtual__() == (False, "Install `ansible` to use inventory") +@pytest.mark.skipif( + sys.version_info <= (3, 7), + reason="Older versions of Ansible do not allow you to ignore python deprecation warnings", +) def test_ini(roster_opts, roster_dir, expected_targets_return): roster_opts["roster_file"] = str(roster_dir / "roster.ini") with patch.dict(ansible.__opts__, roster_opts): @@ -166,6 +171,10 @@ def test_ini(roster_opts, roster_dir, expected_targets_return): assert ret == expected_targets_return +@pytest.mark.skipif( + sys.version_info <= (3, 7), + reason="Older versions of Ansible do not allow you to ignore python deprecation warnings", +) def test_yml(roster_opts, roster_dir, expected_targets_return): roster_opts["roster_file"] = str(roster_dir / "roster.yml") with patch.dict(ansible.__opts__, roster_opts): @@ -173,6 +182,10 @@ def test_yml(roster_opts, roster_dir, expected_targets_return): assert ret == expected_targets_return +@pytest.mark.skipif( + sys.version_info <= (3, 7), + reason="Older versions of Ansible do not allow you to ignore python deprecation warnings", +) def test_script(roster_opts, roster_dir, expected_targets_return): roster_opts["roster_file"] = str(roster_dir / "roster.py") with patch.dict(ansible.__opts__, roster_opts): From 2a835b3198b9d896e142ef8e6a0d0ec29ab59639 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 26 Jul 2023 12:13:45 +0100 Subject: [PATCH 105/132] Bump to `certifi==2023.07.22` due to https://github.com/advisories/GHSA-xqr8-7jwr-rhp7 Signed-off-by: Pedro Algarvio --- changelog/64720.security | 3 +++ 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/docs.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 | 2 +- requirements/static/ci/py3.6/cloud.txt | 2 +- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.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 | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.10/windows.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- 47 files changed, 49 insertions(+), 46 deletions(-) create mode 100644 changelog/64720.security diff --git a/changelog/64720.security b/changelog/64720.security new file mode 100644 index 00000000000..56008704290 --- /dev/null +++ b/changelog/64720.security @@ -0,0 +1,3 @@ +Bump to `certifi==2023.07.22` due to https://github.com/advisories/GHSA-xqr8-7jwr-rhp7 + +Python 3.5 cannot get the updated requirements since certifi no longer supports this python version diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index e615439332d..0bca349a53d 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -7,7 +7,7 @@ boto3>=1.16.0,<1.17.0; python_version < '3.6' boto3>=1.17.67; python_version >= '3.6' boto>=2.46.0 cassandra-driver>=2.0 -certifi>=2022.12.7; python_version >= "3.6" +certifi>=2023.07.22; python_version >= "3.6" certifi<=2021.10.8; python_version <= "3.5" cffi>=1.12.2 cherrypy>=17.4.1 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 8a2ddc103de..92040882dc6 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -348,7 +348,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index ce76a56d44e..e64fdd42454 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -350,7 +350,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 3847d3deb22..a97516184f5 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -353,7 +353,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 4b913ad0963..7c078e12452 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -346,7 +346,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 3239e198efc..af027dfab85 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -351,7 +351,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index c9e4eff4d65..612cabbf5c8 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -359,7 +359,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index c2d7479e171..afabb8762f0 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -37,7 +37,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.5.18.1 +certifi==2023.07.22 # via # -r requirements/static/ci/common.in # -r requirements/static/pkg/py3.10/windows.txt diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 9f892b2ded0..bfe9af9325c 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -352,7 +352,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index c17be26596c..3a8e34cc3a7 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -359,7 +359,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 6459d089483..d4ef3e342d1 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -357,7 +357,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index e56feee544e..3b1e742b78a 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -363,7 +363,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 3bacf53a470..5ce026d6c4a 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -350,7 +350,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 25258765c56..6d261cf7fbe 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -357,7 +357,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index d11b7d47274..e2f95767f10 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -348,7 +348,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index e6aeb6e7e49..2b42d2212bb 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -355,7 +355,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index cd49f1643f8..fd7feba0e98 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -361,7 +361,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 6719e418da3..25c55a98eb8 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -42,7 +42,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index d6321c017a7..db5085bf72e 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -348,7 +348,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 31e1a0ae533..be0de480f07 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -355,7 +355,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index f2504c8c07b..85a5a42a51f 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -346,7 +346,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 118387872aa..9277abed520 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -353,7 +353,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 6ef117960ec..d1bd56d3238 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -359,7 +359,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index f5608623def..94f0c306ff2 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -40,7 +40,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 67a4af161cb..fb2b4c6d03c 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -348,7 +348,7 @@ cachetools==4.2.2 # via google-auth cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 8cd565e5cf2..634d37cac14 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -350,7 +350,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index bc89980c0c1..20365b35b24 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -353,7 +353,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index f328800e5cd..cd704be1d75 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -346,7 +346,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.24.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 3794f8d49a8..0e921ad27c4 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -351,7 +351,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.25.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 1f0b13d1160..8c0db482190 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -361,7 +361,7 @@ cachetools==4.2.2 # python-telegram-bot cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # kubernetes diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 89959b9c895..1fb6bc9e6a1 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -40,7 +40,7 @@ cachetools==3.1.0 # via google-auth cassandra-driver==3.23.0 # via -r requirements/static/ci/common.in -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index dff562b6103..4509a6f2f95 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -6,7 +6,7 @@ # apache-libcloud==2.5.0 # via -r requirements/darwin.txt -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index ac04b41cc32..340febd1dfa 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.10/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 2ee103af5a9..3363481323d 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.10/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index 72fa81eaf7d..9f8b7435fb6 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.10/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.5.18.1 +certifi==2023.07.22 # via # -r requirements/windows.txt # requests diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index bd9296141d9..89d93a2edb4 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -6,7 +6,7 @@ # backports.ssl-match-hostname==3.7.0.1 ; python_version < "3.7" # via -r requirements/static/pkg/linux.in -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index 58b198237d5..e120db506e8 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.7/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index e0fb24db663..148e303522a 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.7/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 27160637dea..6c99a1e2f50 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.7/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/windows.txt # requests diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 20eaacdf1fa..8284d972b36 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.8/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index 645793895a4..a470ba4b0a4 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.8/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 8f92533d602..ce2f8ea36f8 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.8/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/windows.txt # requests diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index df9e222db39..a780337dc71 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -6,7 +6,7 @@ # apache-libcloud==2.5.0 # via -r requirements/darwin.txt -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 10018b514b8..353035a0411 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.9/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index a855a5c57c5..bf0d8b54f95 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.9/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt # -certifi==2022.12.7 +certifi==2023.07.22 # via requests cffi==1.14.6 # via cryptography diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 343c6b88625..8212006aec5 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/static/pkg/py3.9/windows.txt requirements/static/pkg/windows.in requirements/windows.txt # -certifi==2022.12.7 ; python_version >= "3.6" +certifi==2023.07.22 ; python_version >= "3.6" # via # -r requirements/windows.txt # requests From 6fcc6ff6204a48fceb5df82aa3d3f3037a23d680 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Sun, 23 Jul 2023 11:17:19 -0500 Subject: [PATCH 106/132] Fixed gitfs cachedir_basename to avoid hash collisions --- changelog/cve-2023-20898.security | 1 + salt/utils/gitfs.py | 55 ++++- tests/pytests/unit/utils/test_gitfs.py | 253 ++++++++++++++++++++++ tests/unit/utils/test_gitfs.py | 287 ++++++------------------- 4 files changed, 372 insertions(+), 224 deletions(-) create mode 100644 changelog/cve-2023-20898.security create mode 100644 tests/pytests/unit/utils/test_gitfs.py diff --git a/changelog/cve-2023-20898.security b/changelog/cve-2023-20898.security new file mode 100644 index 00000000000..295e9d27bf9 --- /dev/null +++ b/changelog/cve-2023-20898.security @@ -0,0 +1 @@ +Fixed gtfs cachedir_basename to avoid hash collisions. Added MP Lock to gtfs. These changes should stop race conditions. diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index 01306b4ee6b..79b6484b101 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -11,6 +11,7 @@ import glob import hashlib import io import logging +import multiprocessing import os import shlex import shutil @@ -225,6 +226,10 @@ class GitProvider: invoking the parent class' __init__. """ + # master lock should only be locked for very short periods of times "seconds" + # the master lock should be used when ever git provider reads or writes to one if it locks + _master_lock = multiprocessing.Lock() + def __init__( self, opts, @@ -451,10 +456,19 @@ class GitProvider: failhard(self.role) hash_type = getattr(hashlib, self.opts.get("hash_type", "md5")) + # Generate full id. The full id is made from these parts name-id-env-_root. + # Full id stops collections in the gtfs cache. + self._full_id = "-".join( + [ + getattr(self, "name", ""), + self.id.replace(" ", "-"), + getattr(self, "env", ""), + getattr(self, "_root", ""), + ] + ) # We loaded this data from yaml configuration files, so, its safe # to use UTF-8 - self.hash = hash_type(self.id.encode("utf-8")).hexdigest() - self.cachedir_basename = getattr(self, "name", self.hash) + self.cachedir_basename = f"{getattr(self, 'name', '')}-{hash_type(self._full_id.encode('utf-8')).hexdigest()}" self.cachedir = salt.utils.path.join(cache_root, self.cachedir_basename) self.linkdir = salt.utils.path.join(cache_root, "links", self.cachedir_basename) @@ -472,6 +486,12 @@ class GitProvider: log.critical(msg, exc_info=True) failhard(self.role) + def full_id(self): + return self._full_id + + def get_cachedir_basename(self): + return self.cachedir_basename + def _get_envs_from_ref_paths(self, refs): """ Return the names of remote refs (stripped of the remote name) and tags @@ -662,6 +682,19 @@ class GitProvider: """ Clear update.lk """ + if self.__class__._master_lock.acquire(timeout=60) is False: + # if gtfs works right we should never see this timeout error. + log.error("gtfs master lock timeout!") + raise TimeoutError("gtfs master lock timeout!") + try: + return self._clear_lock(lock_type) + finally: + self.__class__._master_lock.release() + + def _clear_lock(self, lock_type="update"): + """ + Clear update.lk without MultiProcessing locks + """ lock_file = self._get_lock_file(lock_type=lock_type) def _add_error(errlist, exc): @@ -837,6 +870,20 @@ class GitProvider: """ Place a lock file if (and only if) it does not already exist. """ + if self.__class__._master_lock.acquire(timeout=60) is False: + # if gtfs works right we should never see this timeout error. + log.error("gtfs master lock timeout!") + raise TimeoutError("gtfs master lock timeout!") + try: + return self.__lock(lock_type, failhard) + finally: + self.__class__._master_lock.release() + + def __lock(self, lock_type="update", failhard=False): + """ + Place a lock file if (and only if) it does not already exist. + Without MultiProcessing locks. + """ try: fh_ = os.open( self._get_lock_file(lock_type), os.O_CREAT | os.O_EXCL | os.O_WRONLY @@ -903,9 +950,9 @@ class GitProvider: lock_type, lock_file, ) - success, fail = self.clear_lock() + success, fail = self._clear_lock() if success: - return self._lock(lock_type="update", failhard=failhard) + return self.__lock(lock_type="update", failhard=failhard) elif failhard: raise return diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py new file mode 100644 index 00000000000..5395810d5ed --- /dev/null +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -0,0 +1,253 @@ +import os +import shutil +from time import time + +import pytest + +import salt.fileserver.gitfs +import salt.utils.gitfs +import tests.support.paths +from salt.exceptions import FileserverConfigError +from tests.support.mock import MagicMock, patch + +try: + HAS_PYGIT2 = ( + salt.utils.gitfs.PYGIT2_VERSION + and salt.utils.gitfs.PYGIT2_VERSION >= salt.utils.gitfs.PYGIT2_MINVER + and salt.utils.gitfs.LIBGIT2_VERSION + and salt.utils.gitfs.LIBGIT2_VERSION >= salt.utils.gitfs.LIBGIT2_MINVER + ) +except AttributeError: + HAS_PYGIT2 = False + + +if HAS_PYGIT2: + import pygit2 + + +def test_provider_case_insensitive_gtfs_provider(): + """ + Ensure that both lowercase and non-lowercase values are supported + """ + opts = {"cachedir": "/tmp/gitfs-test-cache"} + provider = "GitPython" + for role_name, role_class in ( + ("gitfs", salt.utils.gitfs.GitFS), + ("git_pillar", salt.utils.gitfs.GitPillar), + ("winrepo", salt.utils.gitfs.WinRepo), + ): + + key = "{}_provider".format(role_name) + with patch.object(role_class, "verify_gitpython", MagicMock(return_value=True)): + with patch.object( + role_class, "verify_pygit2", MagicMock(return_value=False) + ): + args = [opts, {}] + kwargs = {"init_remotes": False} + if role_name == "winrepo": + kwargs["cache_root"] = "/tmp/winrepo-dir" + with patch.dict(opts, {key: provider}): + # Try to create an instance with uppercase letters in + # provider name. If it fails then a + # FileserverConfigError will be raised, so no assert is + # necessary. + role_class(*args, **kwargs) + # Now try to instantiate an instance with all lowercase + # letters. Again, no need for an assert here. + role_class(*args, **kwargs) + + +def test_valid_provider_gtfs_provider(): + """ + Ensure that an invalid provider is not accepted, raising a + FileserverConfigError. + """ + opts = {"cachedir": "/tmp/gitfs-test-cache"} + + def _get_mock(verify, provider): + """ + Return a MagicMock with the desired return value + """ + return MagicMock(return_value=verify.endswith(provider)) + + for role_name, role_class in ( + ("gitfs", salt.utils.gitfs.GitFS), + ("git_pillar", salt.utils.gitfs.GitPillar), + ("winrepo", salt.utils.gitfs.WinRepo), + ): + key = "{}_provider".format(role_name) + for provider in salt.utils.gitfs.GIT_PROVIDERS: + verify = "verify_gitpython" + mock1 = _get_mock(verify, provider) + with patch.object(role_class, verify, mock1): + verify = "verify_pygit2" + mock2 = _get_mock(verify, provider) + with patch.object(role_class, verify, mock2): + args = [opts, {}] + kwargs = {"init_remotes": False} + if role_name == "winrepo": + kwargs["cache_root"] = "/tmp/winrepo-dir" + + with patch.dict(opts, {key: provider}): + role_class(*args, **kwargs) + + with patch.dict(opts, {key: "foo"}): + # Set the provider name to a known invalid provider + # and make sure it raises an exception. + with pytest.raises(FileserverConfigError): + role_class(*args, **kwargs) + + +def _prepare_remote_repository_pygit2(path): + shutil.rmtree(path, ignore_errors=True) + + filecontent = "This is an empty README file" + filename = "README" + + signature = pygit2.Signature("Dummy Commiter", "dummy@dummy.com", int(time()), 0) + + repository = pygit2.init_repository(path, False) + builder = repository.TreeBuilder() + tree = builder.write() + commit = repository.create_commit( + "HEAD", signature, signature, "Create master branch", tree, [] + ) + repository.create_reference("refs/tags/simple_tag", commit) + + with salt.utils.files.fopen( + os.path.join(repository.workdir, filename), "w" + ) as file: + file.write(filecontent) + + blob = repository.create_blob_fromworkdir(filename) + builder = repository.TreeBuilder() + builder.insert(filename, blob, pygit2.GIT_FILEMODE_BLOB) + tree = builder.write() + + repository.index.read() + repository.index.add(filename) + repository.index.write() + + commit = repository.create_commit( + "HEAD", + signature, + signature, + "Added a README", + tree, + [repository.head.target], + ) + repository.create_tag( + "annotated_tag", commit, pygit2.GIT_OBJ_COMMIT, signature, "some message" + ) + + +def _prepare_cache_repository_pygit2(remote, cache): + opts = { + "cachedir": cache, + "__role": "minion", + "gitfs_disable_saltenv_mapping": False, + "gitfs_base": "master", + "gitfs_insecure_auth": False, + "gitfs_mountpoint": "", + "gitfs_passphrase": "", + "gitfs_password": "", + "gitfs_privkey": "", + "gitfs_provider": "pygit2", + "gitfs_pubkey": "", + "gitfs_ref_types": ["branch", "tag", "sha"], + "gitfs_refspecs": [ + "+refs/heads/*:refs/remotes/origin/*", + "+refs/tags/*:refs/tags/*", + ], + "gitfs_root": "", + "gitfs_saltenv_blacklist": [], + "gitfs_saltenv_whitelist": [], + "gitfs_ssl_verify": True, + "gitfs_update_interval": 3, + "gitfs_user": "", + "verified_gitfs_provider": "pygit2", + } + per_remote_defaults = { + "base": "master", + "disable_saltenv_mapping": False, + "insecure_auth": False, + "ref_types": ["branch", "tag", "sha"], + "passphrase": "", + "mountpoint": "", + "password": "", + "privkey": "", + "pubkey": "", + "refspecs": [ + "+refs/heads/*:refs/remotes/origin/*", + "+refs/tags/*:refs/tags/*", + ], + "root": "", + "saltenv_blacklist": [], + "saltenv_whitelist": [], + "ssl_verify": True, + "update_interval": 60, + "user": "", + } + per_remote_only = ("all_saltenvs", "name", "saltenv") + override_params = tuple(per_remote_defaults.keys()) + cache_root = os.path.join(cache, "gitfs") + role = "gitfs" + shutil.rmtree(cache_root, ignore_errors=True) + provider = salt.utils.gitfs.Pygit2( + opts, + remote, + per_remote_defaults, + per_remote_only, + override_params, + cache_root, + role, + ) + return provider + + +@pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") +@pytest.mark.skip_on_windows( + reason="Skip Pygit2 on windows, due to pygit2 access error on windows" +) +def test_checkout_pygit2(): + remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") + cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") + _prepare_remote_repository_pygit2(remote) + provider = _prepare_cache_repository_pygit2(remote, cache) + provider.remotecallbacks = None + provider.credentials = None + provider.init_remote() + provider.fetch() + provider.branch = "master" + assert provider.cachedir in provider.checkout() + provider.branch = "simple_tag" + assert provider.cachedir in provider.checkout() + provider.branch = "annotated_tag" + assert provider.cachedir in provider.checkout() + provider.branch = "does_not_exist" + assert provider.checkout() is None + + +@pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") +@pytest.mark.skip_on_windows( + reason="Skip Pygit2 on windows, due to pygit2 access error on windows" +) +def test_full_id_pygit2(): + remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") + cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") + _prepare_remote_repository_pygit2(remote) + provider = _prepare_cache_repository_pygit2(remote, cache) + assert provider.full_id() == "-/tmp/salt-tests-tmpdir/pygit2-repo--" + + +@pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") +@pytest.mark.skip_on_windows( + reason="Skip Pygit2 on windows, due to pygit2 access error on windows" +) +def test_get_cachedir_basename_pygit2(): + remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") + cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") + _prepare_remote_repository_pygit2(remote) + provider = _prepare_cache_repository_pygit2(remote, cache) + # Note: changing full id or the hash type will change this output + assert provider.get_cachedir_basename() == "-f2921dbe1e0a05111ef51c6dea256a47" diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index f4ce05ea928..050686f38d6 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -3,32 +3,18 @@ These only test the provider selection and verification logic, they do not init any remotes. """ +import tempfile -import os -import shutil -from time import time +import pytest +import salt.ext.tornado.ioloop import salt.fileserver.gitfs import salt.utils.files import salt.utils.gitfs +import salt.utils.path import salt.utils.platform -import tests.support.paths -from salt.exceptions import FileserverConfigError from tests.support.mixins import AdaptedConfigurationTestCaseMixin -from tests.support.mock import MagicMock, patch -from tests.support.unit import TestCase, skipIf - -try: - HAS_PYGIT2 = ( - salt.utils.gitfs.PYGIT2_VERSION >= salt.utils.gitfs.PYGIT2_MINVER - and salt.utils.gitfs.LIBGIT2_VERSION >= salt.utils.gitfs.LIBGIT2_MINVER - ) -except AttributeError: - HAS_PYGIT2 = False - - -if HAS_PYGIT2: - import pygit2 +from tests.support.unit import TestCase def _clear_instance_map(): @@ -42,6 +28,9 @@ def _clear_instance_map(): class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): def setUp(self): + self._tmp_dir = tempfile.TemporaryDirectory() + tmp_name = self._tmp_dir.name + class MockedProvider( salt.utils.gitfs.GitProvider ): # pylint: disable=abstract-method @@ -68,6 +57,7 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): ) def init_remote(self): + self.gitdir = salt.utils.path.join(tmp_name, ".git") self.repo = True new = False return new @@ -104,6 +94,7 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): for remote in self.main_class.remotes: remote.fetched = False del self.main_class + self._tmp_dir.cleanup() def test_update_all(self): self.main_class.update() @@ -123,214 +114,70 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): self.assertTrue(self.main_class.remotes[0].fetched) self.assertFalse(self.main_class.remotes[1].fetched) + def test_full_id(self): + self.assertEqual(self.main_class.remotes[0].full_id(), "-file://repo1.git--") -class TestGitFSProvider(TestCase): - def setUp(self): - self.opts = {"cachedir": "/tmp/gitfs-test-cache"} + def test_full_id_with_name(self): + self.assertEqual( + self.main_class.remotes[1].full_id(), "repo2-file://repo2.git--" + ) - def tearDown(self): - self.opts = None + def test_get_cachedir_basename(self): + self.assertEqual( + self.main_class.remotes[0].get_cachedir_basename(), + "-b4dcbd51b08742ec23eaf96d192d29b417ec137ea7ca0c0de2515cfaf6e26860", + ) - def test_provider_case_insensitive(self): + def test_get_cachedir_base_with_name(self): + self.assertEqual( + self.main_class.remotes[1].get_cachedir_basename(), + "repo2-4218c2f8e303c6ea24cc541d8748e523d5b443c3050170a43a1a00be253b56aa", + ) + + def test_git_provider_mp_lock(self): """ - Ensure that both lowercase and non-lowercase values are supported + Check that lock is released after provider.lock() """ - provider = "GitPython" - for role_name, role_class in ( - ("gitfs", salt.utils.gitfs.GitFS), - ("git_pillar", salt.utils.gitfs.GitPillar), - ("winrepo", salt.utils.gitfs.WinRepo), - ): + provider = self.main_class.remotes[0] + provider.lock() + # check that lock has been released + self.assertTrue(provider._master_lock.acquire(timeout=5)) + provider._master_lock.release() - key = "{}_provider".format(role_name) - with patch.object( - role_class, "verify_gitpython", MagicMock(return_value=True) - ): - with patch.object( - role_class, "verify_pygit2", MagicMock(return_value=False) - ): - args = [self.opts, {}] - kwargs = {"init_remotes": False} - if role_name == "winrepo": - kwargs["cache_root"] = "/tmp/winrepo-dir" - with patch.dict(self.opts, {key: provider}): - # Try to create an instance with uppercase letters in - # provider name. If it fails then a - # FileserverConfigError will be raised, so no assert is - # necessary. - role_class(*args, **kwargs) - # Now try to instantiate an instance with all lowercase - # letters. Again, no need for an assert here. - role_class(*args, **kwargs) - - def test_valid_provider(self): + def test_git_provider_mp_clear_lock(self): """ - Ensure that an invalid provider is not accepted, raising a - FileserverConfigError. + Check that lock is released after provider.clear_lock() """ + provider = self.main_class.remotes[0] + provider.clear_lock() + # check that lock has been released + self.assertTrue(provider._master_lock.acquire(timeout=5)) + provider._master_lock.release() - def _get_mock(verify, provider): - """ - Return a MagicMock with the desired return value - """ - return MagicMock(return_value=verify.endswith(provider)) + @pytest.mark.slow_test + def test_git_provider_mp_lock_timeout(self): + """ + Check that lock will time out if master lock is locked. + """ + provider = self.main_class.remotes[0] + # Hijack the lock so git provider is fooled into thinking another instance is doing somthing. + self.assertTrue(provider._master_lock.acquire(timeout=5)) + try: + # git provider should raise timeout error to avoid lock race conditions + self.assertRaises(TimeoutError, provider.lock) + finally: + provider._master_lock.release() - for role_name, role_class in ( - ("gitfs", salt.utils.gitfs.GitFS), - ("git_pillar", salt.utils.gitfs.GitPillar), - ("winrepo", salt.utils.gitfs.WinRepo), - ): - key = "{}_provider".format(role_name) - for provider in salt.utils.gitfs.GIT_PROVIDERS: - verify = "verify_gitpython" - mock1 = _get_mock(verify, provider) - with patch.object(role_class, verify, mock1): - verify = "verify_pygit2" - mock2 = _get_mock(verify, provider) - with patch.object(role_class, verify, mock2): - args = [self.opts, {}] - kwargs = {"init_remotes": False} - if role_name == "winrepo": - kwargs["cache_root"] = "/tmp/winrepo-dir" - - with patch.dict(self.opts, {key: provider}): - role_class(*args, **kwargs) - - with patch.dict(self.opts, {key: "foo"}): - # Set the provider name to a known invalid provider - # and make sure it raises an exception. - self.assertRaises( - FileserverConfigError, role_class, *args, **kwargs - ) - - -@skipIf(not HAS_PYGIT2, "This host lacks proper pygit2 support") -@skipIf( - salt.utils.platform.is_windows(), - "Skip Pygit2 on windows, due to pygit2 access error on windows", -) -class TestPygit2(TestCase): - def _prepare_remote_repository(self, path): - shutil.rmtree(path, ignore_errors=True) - - filecontent = "This is an empty README file" - filename = "README" - - signature = pygit2.Signature( - "Dummy Commiter", "dummy@dummy.com", int(time()), 0 - ) - - repository = pygit2.init_repository(path, False) - builder = repository.TreeBuilder() - tree = builder.write() - commit = repository.create_commit( - "HEAD", signature, signature, "Create master branch", tree, [] - ) - repository.create_reference("refs/tags/simple_tag", commit) - - with salt.utils.files.fopen( - os.path.join(repository.workdir, filename), "w" - ) as file: - file.write(filecontent) - - blob = repository.create_blob_fromworkdir(filename) - builder = repository.TreeBuilder() - builder.insert(filename, blob, pygit2.GIT_FILEMODE_BLOB) - tree = builder.write() - - repository.index.read() - repository.index.add(filename) - repository.index.write() - - commit = repository.create_commit( - "HEAD", - signature, - signature, - "Added a README", - tree, - [repository.head.target], - ) - repository.create_tag( - "annotated_tag", commit, pygit2.GIT_OBJ_COMMIT, signature, "some message" - ) - - def _prepare_cache_repository(self, remote, cache): - opts = { - "cachedir": cache, - "__role": "minion", - "gitfs_disable_saltenv_mapping": False, - "gitfs_base": "master", - "gitfs_insecure_auth": False, - "gitfs_mountpoint": "", - "gitfs_passphrase": "", - "gitfs_password": "", - "gitfs_privkey": "", - "gitfs_provider": "pygit2", - "gitfs_pubkey": "", - "gitfs_ref_types": ["branch", "tag", "sha"], - "gitfs_refspecs": [ - "+refs/heads/*:refs/remotes/origin/*", - "+refs/tags/*:refs/tags/*", - ], - "gitfs_root": "", - "gitfs_saltenv_blacklist": [], - "gitfs_saltenv_whitelist": [], - "gitfs_ssl_verify": True, - "gitfs_update_interval": 3, - "gitfs_user": "", - "verified_gitfs_provider": "pygit2", - } - per_remote_defaults = { - "base": "master", - "disable_saltenv_mapping": False, - "insecure_auth": False, - "ref_types": ["branch", "tag", "sha"], - "passphrase": "", - "mountpoint": "", - "password": "", - "privkey": "", - "pubkey": "", - "refspecs": [ - "+refs/heads/*:refs/remotes/origin/*", - "+refs/tags/*:refs/tags/*", - ], - "root": "", - "saltenv_blacklist": [], - "saltenv_whitelist": [], - "ssl_verify": True, - "update_interval": 60, - "user": "", - } - per_remote_only = ("all_saltenvs", "name", "saltenv") - override_params = tuple(per_remote_defaults.keys()) - cache_root = os.path.join(cache, "gitfs") - role = "gitfs" - shutil.rmtree(cache_root, ignore_errors=True) - provider = salt.utils.gitfs.Pygit2( - opts, - remote, - per_remote_defaults, - per_remote_only, - override_params, - cache_root, - role, - ) - return provider - - def test_checkout(self): - remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") - cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") - self._prepare_remote_repository(remote) - provider = self._prepare_cache_repository(remote, cache) - provider.remotecallbacks = None - provider.credentials = None - provider.init_remote() - provider.fetch() - provider.branch = "master" - self.assertIn(provider.cachedir, provider.checkout()) - provider.branch = "simple_tag" - self.assertIn(provider.cachedir, provider.checkout()) - provider.branch = "annotated_tag" - self.assertIn(provider.cachedir, provider.checkout()) - provider.branch = "does_not_exist" - self.assertIsNone(provider.checkout()) + @pytest.mark.slow_test + def test_git_provider_mp_clear_lock_timeout(self): + """ + Check that clear lock will time out if master lock is locked. + """ + provider = self.main_class.remotes[0] + # Hijack the lock so git provider is fooled into thinking another instance is doing somthing. + self.assertTrue(provider._master_lock.acquire(timeout=5)) + try: + # git provider should raise timeout error to avoid lock race conditions + self.assertRaises(TimeoutError, provider.clear_lock) + finally: + provider._master_lock.release() From 96d9841ded8283ac9b82751c737123d7e4d49677 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Mon, 24 Jul 2023 14:12:20 -0500 Subject: [PATCH 107/132] Fix gitfs tests --- tests/pytests/unit/utils/test_gitfs.py | 220 ++++++++++++------------- 1 file changed, 108 insertions(+), 112 deletions(-) diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 5395810d5ed..a5bed3d8dbf 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -1,12 +1,11 @@ import os -import shutil +import string from time import time import pytest import salt.fileserver.gitfs import salt.utils.gitfs -import tests.support.paths from salt.exceptions import FileserverConfigError from tests.support.mock import MagicMock, patch @@ -25,44 +24,58 @@ if HAS_PYGIT2: import pygit2 -def test_provider_case_insensitive_gtfs_provider(): - """ - Ensure that both lowercase and non-lowercase values are supported - """ - opts = {"cachedir": "/tmp/gitfs-test-cache"} - provider = "GitPython" - for role_name, role_class in ( +@pytest.mark.parametrize( + "role_name,role_class", + ( ("gitfs", salt.utils.gitfs.GitFS), ("git_pillar", salt.utils.gitfs.GitPillar), ("winrepo", salt.utils.gitfs.WinRepo), - ): - - key = "{}_provider".format(role_name) - with patch.object(role_class, "verify_gitpython", MagicMock(return_value=True)): - with patch.object( - role_class, "verify_pygit2", MagicMock(return_value=False) - ): - args = [opts, {}] - kwargs = {"init_remotes": False} - if role_name == "winrepo": - kwargs["cache_root"] = "/tmp/winrepo-dir" - with patch.dict(opts, {key: provider}): - # Try to create an instance with uppercase letters in - # provider name. If it fails then a - # FileserverConfigError will be raised, so no assert is - # necessary. - role_class(*args, **kwargs) - # Now try to instantiate an instance with all lowercase - # letters. Again, no need for an assert here. + ), +) +def test_provider_case_insensitive_gitfs_provider(minion_opts, role_name, role_class): + """ + Ensure that both lowercase and non-lowercase values are supported + """ + provider = "GitPython" + key = "{}_provider".format(role_name) + with patch.object(role_class, "verify_gitpython", MagicMock(return_value=True)): + with patch.object(role_class, "verify_pygit2", MagicMock(return_value=False)): + args = [minion_opts, {}] + kwargs = {"init_remotes": False} + if role_name == "winrepo": + kwargs["cache_root"] = "/tmp/winrepo-dir" + with patch.dict(minion_opts, {key: provider}): + # Try to create an instance with uppercase letters in + # provider name. If it fails then a + # FileserverConfigError will be raised, so no assert is + # necessary. role_class(*args, **kwargs) + # Now try to instantiate an instance with all lowercase + # letters. Again, no need for an assert here. + role_class(*args, **kwargs) + pytest.mark.parametrize( + "role_name,role_class", + ( + ("gitfs", salt.utils.gitfs.GitFS), + ("git_pillar", salt.utils.gitfs.GitPillar), + ("winrepo", salt.utils.gitfs.WinRepo), + ), + ) -def test_valid_provider_gtfs_provider(): +@pytest.mark.parametrize( + "role_name,role_class", + ( + ("gitfs", salt.utils.gitfs.GitFS), + ("git_pillar", salt.utils.gitfs.GitPillar), + ("winrepo", salt.utils.gitfs.WinRepo), + ), +) +def test_valid_provider_gitfs_provider(minion_opts, role_name, role_class): """ Ensure that an invalid provider is not accepted, raising a FileserverConfigError. """ - opts = {"cachedir": "/tmp/gitfs-test-cache"} def _get_mock(verify, provider): """ @@ -70,64 +83,51 @@ def test_valid_provider_gtfs_provider(): """ return MagicMock(return_value=verify.endswith(provider)) - for role_name, role_class in ( - ("gitfs", salt.utils.gitfs.GitFS), - ("git_pillar", salt.utils.gitfs.GitPillar), - ("winrepo", salt.utils.gitfs.WinRepo), - ): - key = "{}_provider".format(role_name) - for provider in salt.utils.gitfs.GIT_PROVIDERS: - verify = "verify_gitpython" - mock1 = _get_mock(verify, provider) - with patch.object(role_class, verify, mock1): - verify = "verify_pygit2" - mock2 = _get_mock(verify, provider) - with patch.object(role_class, verify, mock2): - args = [opts, {}] - kwargs = {"init_remotes": False} - if role_name == "winrepo": - kwargs["cache_root"] = "/tmp/winrepo-dir" - - with patch.dict(opts, {key: provider}): + key = "{}_provider".format(role_name) + for provider in salt.utils.gitfs.GIT_PROVIDERS: + verify = "verify_gitpython" + mock1 = _get_mock(verify, provider) + with patch.object(role_class, verify, mock1): + verify = "verify_pygit2" + mock2 = _get_mock(verify, provider) + with patch.object(role_class, verify, mock2): + args = [minion_opts, {}] + kwargs = {"init_remotes": False} + if role_name == "winrepo": + kwargs["cache_root"] = "/tmp/winrepo-dir" + with patch.dict(minion_opts, {key: provider}): + role_class(*args, **kwargs) + with patch.dict(minion_opts, {key: "foo"}): + # Set the provider name to a known invalid provider + # and make sure it raises an exception. + with pytest.raises(FileserverConfigError): role_class(*args, **kwargs) - with patch.dict(opts, {key: "foo"}): - # Set the provider name to a known invalid provider - # and make sure it raises an exception. - with pytest.raises(FileserverConfigError): - role_class(*args, **kwargs) - - -def _prepare_remote_repository_pygit2(path): - shutil.rmtree(path, ignore_errors=True) +@pytest.fixture +def _prepare_remote_repository_pygit2(tmp_path): + remote = os.path.join(tmp_path, "pygit2-repo") filecontent = "This is an empty README file" filename = "README" - signature = pygit2.Signature("Dummy Commiter", "dummy@dummy.com", int(time()), 0) - - repository = pygit2.init_repository(path, False) + repository = pygit2.init_repository(remote, False) builder = repository.TreeBuilder() tree = builder.write() commit = repository.create_commit( "HEAD", signature, signature, "Create master branch", tree, [] ) repository.create_reference("refs/tags/simple_tag", commit) - with salt.utils.files.fopen( os.path.join(repository.workdir, filename), "w" ) as file: file.write(filecontent) - blob = repository.create_blob_fromworkdir(filename) builder = repository.TreeBuilder() builder.insert(filename, blob, pygit2.GIT_FILEMODE_BLOB) tree = builder.write() - repository.index.read() repository.index.add(filename) repository.index.write() - commit = repository.create_commit( "HEAD", signature, @@ -139,34 +139,38 @@ def _prepare_remote_repository_pygit2(path): repository.create_tag( "annotated_tag", commit, pygit2.GIT_OBJ_COMMIT, signature, "some message" ) + return remote -def _prepare_cache_repository_pygit2(remote, cache): - opts = { - "cachedir": cache, - "__role": "minion", - "gitfs_disable_saltenv_mapping": False, - "gitfs_base": "master", - "gitfs_insecure_auth": False, - "gitfs_mountpoint": "", - "gitfs_passphrase": "", - "gitfs_password": "", - "gitfs_privkey": "", - "gitfs_provider": "pygit2", - "gitfs_pubkey": "", - "gitfs_ref_types": ["branch", "tag", "sha"], - "gitfs_refspecs": [ - "+refs/heads/*:refs/remotes/origin/*", - "+refs/tags/*:refs/tags/*", - ], - "gitfs_root": "", - "gitfs_saltenv_blacklist": [], - "gitfs_saltenv_whitelist": [], - "gitfs_ssl_verify": True, - "gitfs_update_interval": 3, - "gitfs_user": "", - "verified_gitfs_provider": "pygit2", - } +@pytest.fixture +def _prepare_provider(tmp_path, minion_opts, _prepare_remote_repository_pygit2): + cache = os.path.join(tmp_path, "pygit2-repo-cache") + minion_opts.update( + { + "cachedir": cache, + "gitfs_disable_saltenv_mapping": False, + "gitfs_base": "master", + "gitfs_insecure_auth": False, + "gitfs_mountpoint": "", + "gitfs_passphrase": "", + "gitfs_password": "", + "gitfs_privkey": "", + "gitfs_provider": "pygit2", + "gitfs_pubkey": "", + "gitfs_ref_types": ["branch", "tag", "sha"], + "gitfs_refspecs": [ + "+refs/heads/*:refs/remotes/origin/*", + "+refs/tags/*:refs/tags/*", + ], + "gitfs_root": "", + "gitfs_saltenv_blacklist": [], + "gitfs_saltenv_whitelist": [], + "gitfs_ssl_verify": True, + "gitfs_update_interval": 3, + "gitfs_user": "", + "verified_gitfs_provider": "pygit2", + } + ) per_remote_defaults = { "base": "master", "disable_saltenv_mapping": False, @@ -192,10 +196,9 @@ def _prepare_cache_repository_pygit2(remote, cache): override_params = tuple(per_remote_defaults.keys()) cache_root = os.path.join(cache, "gitfs") role = "gitfs" - shutil.rmtree(cache_root, ignore_errors=True) provider = salt.utils.gitfs.Pygit2( - opts, - remote, + minion_opts, + _prepare_remote_repository_pygit2, per_remote_defaults, per_remote_only, override_params, @@ -209,11 +212,8 @@ def _prepare_cache_repository_pygit2(remote, cache): @pytest.mark.skip_on_windows( reason="Skip Pygit2 on windows, due to pygit2 access error on windows" ) -def test_checkout_pygit2(): - remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") - cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") - _prepare_remote_repository_pygit2(remote) - provider = _prepare_cache_repository_pygit2(remote, cache) +def test_checkout_pygit2(_prepare_provider): + provider = _prepare_provider provider.remotecallbacks = None provider.credentials = None provider.init_remote() @@ -232,22 +232,18 @@ def test_checkout_pygit2(): @pytest.mark.skip_on_windows( reason="Skip Pygit2 on windows, due to pygit2 access error on windows" ) -def test_full_id_pygit2(): - remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") - cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") - _prepare_remote_repository_pygit2(remote) - provider = _prepare_cache_repository_pygit2(remote, cache) - assert provider.full_id() == "-/tmp/salt-tests-tmpdir/pygit2-repo--" +def test_full_id_pygit2(_prepare_provider): + assert _prepare_provider.full_id().startswith("-") + assert _prepare_provider.full_id().endswith("/pygit2-repo--") @pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") @pytest.mark.skip_on_windows( reason="Skip Pygit2 on windows, due to pygit2 access error on windows" ) -def test_get_cachedir_basename_pygit2(): - remote = os.path.join(tests.support.paths.TMP, "pygit2-repo") - cache = os.path.join(tests.support.paths.TMP, "pygit2-repo-cache") - _prepare_remote_repository_pygit2(remote) - provider = _prepare_cache_repository_pygit2(remote, cache) - # Note: changing full id or the hash type will change this output - assert provider.get_cachedir_basename() == "-f2921dbe1e0a05111ef51c6dea256a47" +def test_get_cachedir_basename_pygit2(_prepare_provider): + basename = _prepare_provider.get_cachedir_basename() + assert len(basename) > 1 + assert basename[0] == "-" + # check that a valid hex is given + assert all(c in string.hexdigits for c in basename[1:]) From c4ae990e18650dadc3c39d4c6658334f90befc0f Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 27 Jul 2023 12:07:12 +0100 Subject: [PATCH 108/132] Fix gitfs tests --- tests/pytests/unit/utils/test_gitfs.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index a5bed3d8dbf..32a96b75574 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -3,7 +3,7 @@ import string from time import time import pytest - +import salt.config import salt.fileserver.gitfs import salt.utils.gitfs from salt.exceptions import FileserverConfigError @@ -24,6 +24,23 @@ if HAS_PYGIT2: import pygit2 +@pytest.fixture +def minion_opts(tmp_path): + """ + Default minion configuration with relative temporary paths to not require root permissions. + """ + root_dir = tmp_path / "minion" + opts = salt.config.DEFAULT_MINION_OPTS.copy() + opts["__role"] = "minion" + opts["root_dir"] = str(root_dir) + for name in ("cachedir", "pki_dir", "sock_dir", "conf_dir"): + dirpath = root_dir / name + dirpath.mkdir(parents=True) + opts[name] = str(dirpath) + opts["log_file"] = "logs/minion.log" + return opts + + @pytest.mark.parametrize( "role_name,role_class", ( From 1f670c218b620054a196e62c71d4685780d75ad0 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 27 Jul 2023 12:08:00 +0100 Subject: [PATCH 109/132] It's `gitfs` not `gtfs`, plus some code fixes and cleanup Signed-off-by: Pedro Algarvio --- changelog/cve-2023-20898.security | 2 +- salt/utils/gitfs.py | 14 +++++++------- tests/pytests/unit/utils/test_gitfs.py | 24 +++++++++--------------- tests/unit/utils/test_gitfs.py | 1 - 4 files changed, 17 insertions(+), 24 deletions(-) diff --git a/changelog/cve-2023-20898.security b/changelog/cve-2023-20898.security index 295e9d27bf9..44f1729192d 100644 --- a/changelog/cve-2023-20898.security +++ b/changelog/cve-2023-20898.security @@ -1 +1 @@ -Fixed gtfs cachedir_basename to avoid hash collisions. Added MP Lock to gtfs. These changes should stop race conditions. +Fixed gitfs cachedir_basename to avoid hash collisions. Added MP Lock to gitfs. These changes should stop race conditions. diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index 79b6484b101..f53eea65d48 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -457,7 +457,7 @@ class GitProvider: hash_type = getattr(hashlib, self.opts.get("hash_type", "md5")) # Generate full id. The full id is made from these parts name-id-env-_root. - # Full id stops collections in the gtfs cache. + # Full id stops collections in the gitfs cache. self._full_id = "-".join( [ getattr(self, "name", ""), @@ -683,9 +683,9 @@ class GitProvider: Clear update.lk """ if self.__class__._master_lock.acquire(timeout=60) is False: - # if gtfs works right we should never see this timeout error. - log.error("gtfs master lock timeout!") - raise TimeoutError("gtfs master lock timeout!") + # if gitfs works right we should never see this timeout error. + log.error("gitfs master lock timeout!") + raise TimeoutError("gitfs master lock timeout!") try: return self._clear_lock(lock_type) finally: @@ -871,9 +871,9 @@ class GitProvider: Place a lock file if (and only if) it does not already exist. """ if self.__class__._master_lock.acquire(timeout=60) is False: - # if gtfs works right we should never see this timeout error. - log.error("gtfs master lock timeout!") - raise TimeoutError("gtfs master lock timeout!") + # if gitfs works right we should never see this timeout error. + log.error("gitfs master lock timeout!") + raise TimeoutError("gitfs master lock timeout!") try: return self.__lock(lock_type, failhard) finally: diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 32a96b75574..91313b74e85 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -1,6 +1,6 @@ import os import string -from time import time +import time import pytest import salt.config @@ -70,14 +70,6 @@ def test_provider_case_insensitive_gitfs_provider(minion_opts, role_name, role_c # Now try to instantiate an instance with all lowercase # letters. Again, no need for an assert here. role_class(*args, **kwargs) - pytest.mark.parametrize( - "role_name,role_class", - ( - ("gitfs", salt.utils.gitfs.GitFS), - ("git_pillar", salt.utils.gitfs.GitPillar), - ("winrepo", salt.utils.gitfs.WinRepo), - ), - ) @pytest.mark.parametrize( @@ -126,7 +118,9 @@ def _prepare_remote_repository_pygit2(tmp_path): remote = os.path.join(tmp_path, "pygit2-repo") filecontent = "This is an empty README file" filename = "README" - signature = pygit2.Signature("Dummy Commiter", "dummy@dummy.com", int(time()), 0) + signature = pygit2.Signature( + "Dummy Commiter", "dummy@dummy.com", int(time.time()), 0 + ) repository = pygit2.init_repository(remote, False) builder = repository.TreeBuilder() tree = builder.write() @@ -161,10 +155,10 @@ def _prepare_remote_repository_pygit2(tmp_path): @pytest.fixture def _prepare_provider(tmp_path, minion_opts, _prepare_remote_repository_pygit2): - cache = os.path.join(tmp_path, "pygit2-repo-cache") + cache = tmp_path / "pygit2-repo-cache" minion_opts.update( { - "cachedir": cache, + "cachedir": str(cache), "gitfs_disable_saltenv_mapping": False, "gitfs_base": "master", "gitfs_insecure_auth": False, @@ -210,8 +204,8 @@ def _prepare_provider(tmp_path, minion_opts, _prepare_remote_repository_pygit2): "user": "", } per_remote_only = ("all_saltenvs", "name", "saltenv") - override_params = tuple(per_remote_defaults.keys()) - cache_root = os.path.join(cache, "gitfs") + override_params = tuple(per_remote_defaults) + cache_root = cache / "gitfs" role = "gitfs" provider = salt.utils.gitfs.Pygit2( minion_opts, @@ -219,7 +213,7 @@ def _prepare_provider(tmp_path, minion_opts, _prepare_remote_repository_pygit2): per_remote_defaults, per_remote_only, override_params, - cache_root, + str(cache_root), role, ) return provider diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index 050686f38d6..b82fd4bff63 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -6,7 +6,6 @@ any remotes. import tempfile import pytest - import salt.ext.tornado.ioloop import salt.fileserver.gitfs import salt.utils.files From 89dd4f19101064e2339f77af922636df2b5d891d Mon Sep 17 00:00:00 2001 From: twangboy Date: Mon, 31 Jul 2023 22:09:00 -0600 Subject: [PATCH 110/132] Update Python to 3.9.17 --- pkg/osx/build_env.sh | 2 +- pkg/osx/package.sh | 2 +- pkg/osx/sign_binaries.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/osx/build_env.sh b/pkg/osx/build_env.sh index 8ce6aa3b787..b4b791c4c9f 100755 --- a/pkg/osx/build_env.sh +++ b/pkg/osx/build_env.sh @@ -59,7 +59,7 @@ export MACOSX_DEPLOYMENT_TARGET # Versions we're going to install PY_VERSION=3.9 -PY_DOT_VERSION=3.9.16 +PY_DOT_VERSION=3.9.17 ZMQ_VERSION=4.3.4 LIBSODIUM_VERSION=1.0.18 diff --git a/pkg/osx/package.sh b/pkg/osx/package.sh index 11babf7198d..e4ac0a3d61d 100755 --- a/pkg/osx/package.sh +++ b/pkg/osx/package.sh @@ -94,7 +94,7 @@ echo "**** Setting Variables" SRCDIR=`git rev-parse --show-toplevel` PKGRESOURCES=$SRCDIR/pkg/osx PY_VERSION=3.9 -PY_DOT_VERSION=3.9.16 +PY_DOT_VERSION=3.9.17 ################################################################################ # Make sure this is the Salt Repository diff --git a/pkg/osx/sign_binaries.sh b/pkg/osx/sign_binaries.sh index 4d9af4297f5..bcaaf8f9760 100755 --- a/pkg/osx/sign_binaries.sh +++ b/pkg/osx/sign_binaries.sh @@ -68,7 +68,7 @@ quit_on_error() { echo "**** Setting Variables" INSTALL_DIR=/opt/salt PY_VERSION=3.9 -PY_DOT_VERSION=3.9.16 +PY_DOT_VERSION=3.9.17 CMD_OUTPUT=$(mktemp -t cmd.log) SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) From d426cbea81aae598215cfb84065ce4e804f0cc8c Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Mon, 31 Jul 2023 14:58:04 -0600 Subject: [PATCH 111/132] [3005.2] Update docs --- CHANGELOG.md | 35 +++++++++ changelog/63757.changed | 4 - changelog/64336.security | 4 - changelog/64595.security | 11 --- changelog/64720.security | 3 - changelog/cve-2023-20897.security | 2 - changelog/cve-2023-20898.security | 1 - doc/man/salt-api.1 | 2 +- doc/man/salt-call.1 | 2 +- doc/man/salt-cloud.1 | 2 +- doc/man/salt-cp.1 | 2 +- doc/man/salt-key.1 | 2 +- doc/man/salt-master.1 | 2 +- doc/man/salt-minion.1 | 2 +- doc/man/salt-proxy.1 | 2 +- doc/man/salt-run.1 | 2 +- doc/man/salt-ssh.1 | 2 +- doc/man/salt-syndic.1 | 2 +- doc/man/salt.1 | 2 +- doc/man/salt.7 | 123 ++++++++++++++++++++++++++---- doc/man/spm.1 | 2 +- doc/topics/releases/3005.2.rst | 40 ++++++++++ 22 files changed, 196 insertions(+), 53 deletions(-) delete mode 100644 changelog/63757.changed delete mode 100644 changelog/64336.security delete mode 100644 changelog/64595.security delete mode 100644 changelog/64720.security delete mode 100644 changelog/cve-2023-20897.security delete mode 100644 changelog/cve-2023-20898.security create mode 100644 doc/topics/releases/3005.2.rst diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e480780b89..2d3bbf08aac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,41 @@ Versions are `MAJOR.PATCH`. # Changelog +Salt v3005.2 (2023-07-31) +========================= + +Changed +------- + +- Additional required package upgrades + + * It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. + * Upgrade to `pyopenssl==23.0.0` due to the cryptography upgrade. (#63757) + + +Security +-------- + +- fix CVE-2023-20897 by catching exception instead of letting exception disrupt connection (cve-2023-20897) +- Fixed gitfs cachedir_basename to avoid hash collisions. Added MP Lock to gitfs. These changes should stop race conditions. (cve-2023-20898) +- Upgrade to `requests==2.31.0` + + Due to: + * https://github.com/advisories/GHSA-j8r2-6x86-q33q (#64336) +- Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) + + Also resolves the following cryptography advisories: + + Due to: + * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 + * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r + + There is no security upgrade available for Py3.5 (#64595) +- Bump to `certifi==2023.07.22` due to https://github.com/advisories/GHSA-xqr8-7jwr-rhp7 + + Python 3.5 cannot get the updated requirements since certifi no longer supports this python version (#64720) + + Salt v3005.1-2 (2022-11-04) =========================== diff --git a/changelog/63757.changed b/changelog/63757.changed deleted file mode 100644 index 99023c4391e..00000000000 --- a/changelog/63757.changed +++ /dev/null @@ -1,4 +0,0 @@ -Additional required package upgrades - -* It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. -* Upgrade to `pyopenssl==23.0.0` due to the cryptography upgrade. diff --git a/changelog/64336.security b/changelog/64336.security deleted file mode 100644 index a7b1c186a1d..00000000000 --- a/changelog/64336.security +++ /dev/null @@ -1,4 +0,0 @@ -Upgrade to `requests==2.31.0` - -Due to: - * https://github.com/advisories/GHSA-j8r2-6x86-q33q diff --git a/changelog/64595.security b/changelog/64595.security deleted file mode 100644 index 737603b7704..00000000000 --- a/changelog/64595.security +++ /dev/null @@ -1,11 +0,0 @@ -Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) - -This only really impacts pip installs of Salt and the windows onedir since the linux and macos onedir build every package dependency from source, not from pre-existing wheels. - -Also resolves the following cryptography advisories: - -Due to: - * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 - * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r - -There is no security upgrade available for Py3.5 diff --git a/changelog/64720.security b/changelog/64720.security deleted file mode 100644 index 56008704290..00000000000 --- a/changelog/64720.security +++ /dev/null @@ -1,3 +0,0 @@ -Bump to `certifi==2023.07.22` due to https://github.com/advisories/GHSA-xqr8-7jwr-rhp7 - -Python 3.5 cannot get the updated requirements since certifi no longer supports this python version diff --git a/changelog/cve-2023-20897.security b/changelog/cve-2023-20897.security deleted file mode 100644 index 80949fa4cf1..00000000000 --- a/changelog/cve-2023-20897.security +++ /dev/null @@ -1,2 +0,0 @@ -fix CVE-2023-20897 by catching exception instead of letting exception disrupt connection - diff --git a/changelog/cve-2023-20898.security b/changelog/cve-2023-20898.security deleted file mode 100644 index 44f1729192d..00000000000 --- a/changelog/cve-2023-20898.security +++ /dev/null @@ -1 +0,0 @@ -Fixed gitfs cachedir_basename to avoid hash collisions. Added MP Lock to gitfs. These changes should stop race conditions. diff --git a/doc/man/salt-api.1 b/doc/man/salt-api.1 index d16ccecdc62..bb220cc6de7 100644 --- a/doc/man/salt-api.1 +++ b/doc/man/salt-api.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-API" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-API" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-api \- salt-api Command . diff --git a/doc/man/salt-call.1 b/doc/man/salt-call.1 index ff7840d000a..6d5d600a3b0 100644 --- a/doc/man/salt-call.1 +++ b/doc/man/salt-call.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CALL" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-CALL" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-call \- salt-call Documentation . diff --git a/doc/man/salt-cloud.1 b/doc/man/salt-cloud.1 index cf8c8fb4d77..4393e2c7759 100644 --- a/doc/man/salt-cloud.1 +++ b/doc/man/salt-cloud.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CLOUD" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-CLOUD" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-cloud \- Salt Cloud Command . diff --git a/doc/man/salt-cp.1 b/doc/man/salt-cp.1 index c8b9e7e1d4b..cedd853c3ba 100644 --- a/doc/man/salt-cp.1 +++ b/doc/man/salt-cp.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CP" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-CP" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-cp \- salt-cp Documentation . diff --git a/doc/man/salt-key.1 b/doc/man/salt-key.1 index 376306fa084..9986c6e6e81 100644 --- a/doc/man/salt-key.1 +++ b/doc/man/salt-key.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-KEY" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-KEY" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-key \- salt-key Documentation . diff --git a/doc/man/salt-master.1 b/doc/man/salt-master.1 index 3bf84df2768..0cbb11f0b41 100644 --- a/doc/man/salt-master.1 +++ b/doc/man/salt-master.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-MASTER" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-MASTER" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-master \- salt-master Documentation . diff --git a/doc/man/salt-minion.1 b/doc/man/salt-minion.1 index 24c8fb9e66f..6eb093ddadf 100644 --- a/doc/man/salt-minion.1 +++ b/doc/man/salt-minion.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-MINION" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-MINION" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-minion \- salt-minion Documentation . diff --git a/doc/man/salt-proxy.1 b/doc/man/salt-proxy.1 index 1ff82816ff0..1293e29076d 100644 --- a/doc/man/salt-proxy.1 +++ b/doc/man/salt-proxy.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-PROXY" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-PROXY" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-proxy \- salt-proxy Documentation . diff --git a/doc/man/salt-run.1 b/doc/man/salt-run.1 index 246d55f2407..ef26eb23f8b 100644 --- a/doc/man/salt-run.1 +++ b/doc/man/salt-run.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-RUN" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-RUN" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-run \- salt-run Documentation . diff --git a/doc/man/salt-ssh.1 b/doc/man/salt-ssh.1 index 40f96b83d11..7fc3e8ce933 100644 --- a/doc/man/salt-ssh.1 +++ b/doc/man/salt-ssh.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-SSH" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-SSH" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-ssh \- salt-ssh Documentation . diff --git a/doc/man/salt-syndic.1 b/doc/man/salt-syndic.1 index f9f9d24d465..61f63c517c6 100644 --- a/doc/man/salt-syndic.1 +++ b/doc/man/salt-syndic.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-SYNDIC" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT-SYNDIC" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt-syndic \- salt-syndic Documentation . diff --git a/doc/man/salt.1 b/doc/man/salt.1 index 56d3a69e834..f32b35f818e 100644 --- a/doc/man/salt.1 +++ b/doc/man/salt.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SALT" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME salt \- salt . diff --git a/doc/man/salt.7 b/doc/man/salt.7 index 5b46f8fecbc..ea0b55e322c 100644 --- a/doc/man/salt.7 +++ b/doc/man/salt.7 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT" "7" "Sep 26, 2022" "3005" "Salt" +.TH "SALT" "7" "Jul 31, 2023" "3005" "Salt" .SH NAME salt \- Salt Documentation . @@ -151127,7 +151127,7 @@ salt \(aq*\(aq cmd.powershell_all "dir mydirectory" force_list=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.retcode(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.retcode(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute a shell command and return the command\(aqs return code. .INDENT 7.0 .TP @@ -151386,7 +151386,7 @@ salt \(aq*\(aq cmd.retcode "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, encoded_cmd=False, raise_err=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, encoded_cmd=False, raise_err=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute the passed command and return the output as a string .INDENT 7.0 .TP @@ -151767,7 +151767,7 @@ salt \(aq*\(aq cmd.run cmd=\(aqsed \-e s/=/:/g\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_all(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, redirect_stderr=False, password=None, encoded_cmd=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_all(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, redirect_stderr=False, password=None, encoded_cmd=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute the passed command and return a dict of return data .INDENT 7.0 .TP @@ -152110,7 +152110,7 @@ salt \(aq*\(aq cmd.run_all "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_bg(cmd, cwd=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, timeout=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_bg(cmd, cwd=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, timeout=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) New in version 2016.3.0. .sp @@ -152411,7 +152411,7 @@ salt \(aq*\(aq cmd.run_bg cmd=\(aqls \-lR / | sed \-e s/=/:/g > /tmp/dontwait\(a .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_chroot(root, cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=True, binds=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqquiet\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_chroot(root, cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=True, binds=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqquiet\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) New in version 2014.7.0. .sp @@ -152632,7 +152632,7 @@ salt \(aq*\(aq cmd.run_chroot /var/lib/lxc/container_name/rootfs \(aqsh /tmp/boo .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_stderr(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_stderr(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute a command and only return the standard error .INDENT 7.0 .TP @@ -152909,7 +152909,7 @@ salt \(aq*\(aq cmd.run_stderr "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_stdout(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_stdout(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute a command, and only return the standard out .INDENT 7.0 .TP @@ -153186,7 +153186,7 @@ salt \(aq*\(aq cmd.run_stdout "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.script(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, saltenv=None, use_vt=False, bg=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.script(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, saltenv=None, use_vt=False, bg=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Download a script from a remote location and execute the script locally. The script can be located on the salt master file server or on an HTTP/FTP server. @@ -153462,7 +153462,7 @@ salt \(aq*\(aq cmd.script salt://scripts/runme.sh stdin=\(aqone\entwo\enthree\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.script_retcode(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, python_shell=None, env=None, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, saltenv=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.script_retcode(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, saltenv=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Download a script from a remote location and execute the script locally. The script can be located on the salt master file server or on an HTTP/FTP server. @@ -153687,7 +153687,7 @@ salt \(aq*\(aq cmd.script_retcode salt://scripts/runme.sh stdin=\(aqone\entwo\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.shell(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/sh\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.shell(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute the passed command and return the output as a string. .sp New in version 2015.5.0. @@ -192875,7 +192875,7 @@ Passes through all the parameters described in the \fI\%utils.http.query function\fP: .INDENT 7.0 .TP -.B salt.utils.http.query(url, method=\(aqGET\(aq, params=None, data=None, data_file=None, header_dict=None, header_list=None, header_file=None, username=None, password=None, auth=None, decode=False, decode_type=\(aqauto\(aq, status=False, headers=False, text=False, cookies=None, cookie_jar=None, cookie_format=\(aqlwp\(aq, persist_session=False, session_cookie_jar=None, data_render=False, data_renderer=None, header_render=False, header_renderer=None, template_dict=None, test=False, test_url=None, node=\(aqminion\(aq, port=80, opts=None, backend=None, ca_bundle=None, verify_ssl=None, cert=None, text_out=None, headers_out=None, decode_out=None, stream=False, streaming_callback=None, header_callback=None, handle=False, agent=\(aqSalt/3005+0na.a0d3c44\(aq, hide_fields=None, raise_error=True, formdata=False, formdata_fieldname=None, formdata_filename=None, decode_body=True, **kwargs) +.B salt.utils.http.query(url, method=\(aqGET\(aq, params=None, data=None, data_file=None, header_dict=None, header_list=None, header_file=None, username=None, password=None, auth=None, decode=False, decode_type=\(aqauto\(aq, status=False, headers=False, text=False, cookies=None, cookie_jar=None, cookie_format=\(aqlwp\(aq, persist_session=False, session_cookie_jar=None, data_render=False, data_renderer=None, header_render=False, header_renderer=None, template_dict=None, test=False, test_url=None, node=\(aqminion\(aq, port=80, opts=None, backend=None, ca_bundle=None, verify_ssl=None, cert=None, text_out=None, headers_out=None, decode_out=None, stream=False, streaming_callback=None, header_callback=None, handle=False, agent=\(aqSalt/3005.1+63.g5ea80bb539\(aq, hide_fields=None, raise_error=True, formdata=False, formdata_fieldname=None, formdata_filename=None, decode_body=True, **kwargs) Query a resource, and decode the return data .UNINDENT .INDENT 7.0 @@ -335748,8 +335748,8 @@ Alternate constructor that accept multiple recipients and rooms .B filter(record) Determine if the specified record is to be logged. .sp -Is the specified record to be logged? Returns 0 for no, nonzero for -yes. If deemed appropriate, the record may be modified in\-place. +Returns True if the record should be logged, or False otherwise. +If deemed appropriate, the record may be modified in\-place. .UNINDENT .UNINDENT .INDENT 0.0 @@ -448748,7 +448748,7 @@ installed2 .UNINDENT .INDENT 0.0 .TP -.B salt.states.zcbuildout.installed(name, config=\(aqbuildout.cfg\(aq, quiet=False, parts=None, user=None, env=(), buildout_ver=None, test_release=False, distribute=None, new_st=None, offline=False, newest=False, python=\(aq/__w/salt/salt/.nox/docs\-man\-compress\-false\-update\-true\-clean\-true/bin/python\(aq, debug=False, verbose=False, unless=None, onlyif=None, use_vt=False, loglevel=\(aqdebug\(aq, **kwargs) +.B salt.states.zcbuildout.installed(name, config=\(aqbuildout.cfg\(aq, quiet=False, parts=None, user=None, env=(), buildout_ver=None, test_release=False, distribute=None, new_st=None, offline=False, newest=False, python=\(aq/home/ch3ll/git/salt/.nox/docs\-man\-compress\-false\-update\-true\-clean\-true/bin/python\(aq, debug=False, verbose=False, unless=None, onlyif=None, use_vt=False, loglevel=\(aqdebug\(aq, **kwargs) Install buildout in a specific directory .sp It is a thin wrapper to modules.buildout.buildout @@ -468050,6 +468050,99 @@ Add sample and shuffle functions from random (#62225) .IP \(bu 2 Add " python" subcommand to allow execution or arbitrary scripts via bundled Python runtime (#62381) .UNINDENT +.SS Salt 3005.1 Release Notes +.sp +Version 3005.1 is a bug fix release for 3005\&. +.SS Fixed +.INDENT 0.0 +.IP \(bu 2 +Fix arch parsing issue in apt source files (#62247) +.IP \(bu 2 +Fixed parsing CDROM apt sources (#62474) +.IP \(bu 2 +Use str() method instead of repo_line for when python3\-apt is installed or not in aptpkg.py. (#62546) +.IP \(bu 2 +Remove the connection_timeout from netmiko_connection_args before netmiko_connection_args is added to __context__["netmiko_device"]["args"] which is passed along to the Netmiko library. (#62547) +.IP \(bu 2 +fixes #62553 by checking for disabled master_type before starting master connection and skipping it if set. (#62553) +.IP \(bu 2 +Fix runas with cmd module when using the onedir bundled packages (#62565) +.IP \(bu 2 +Fix the Pyinstaller hooks to preserve the environment if None is passed. (#62567, #62628) +.IP \(bu 2 +pkgrepo.managed sets wrong permissions on keys installed to /etc/apt/keyring (#62569) +.IP \(bu 2 +pkgrepo.managed creates zero byte gpg files when dearmoring contents to the same filename (#62570) +.IP \(bu 2 +Ensure default values for IPC Buffers are correct type (#62591) +.IP \(bu 2 +Fix a hang on salt\-ssh when using sudo. (#62603) +.IP \(bu 2 +Renderers now have access to the correct set of salt functions. (#62610, #62620) +.IP \(bu 2 +Fix including Jinja template from absolute path (#62611) +.IP \(bu 2 +include jmespath in package requirements (#62613) +.IP \(bu 2 +Fix pkgrepo.managed signed\-by in test=true mode (#62662) +.IP \(bu 2 +Ensure the status of the service is captured when the beacon function is called, even when the event is not being emitted. (#62675) +.IP \(bu 2 +The sub proxies controlled by Deltaproxy need to have their own req_channel otherwise there are timeout exceptions when the __master_req_channel_payload is fired and reacted on. (#62708) +.UNINDENT +.SS Salt 3005.2 Release Notes +.sp +Version 3005.2 is a CVE security fix release for 3005\&. +.SS Changed +.INDENT 0.0 +.IP \(bu 2 +Additional required package upgrades +.INDENT 2.0 +.IP \(bu 2 +It\(aqs now \fIpyzmq>=20.0.0\fP on all platforms, and \fI<=22.0.3\fP just for windows. +.IP \(bu 2 +Upgrade to \fIpyopenssl==23.0.0\fP due to the cryptography upgrade. (#63757) +.UNINDENT +.UNINDENT +.SS Security +.INDENT 0.0 +.IP \(bu 2 +fix CVE\-2023\-20897 by catching exception instead of letting exception disrupt connection (cve\-2023\-20897) +.IP \(bu 2 +Fixed gitfs cachedir_basename to avoid hash collisions. Added MP Lock to gitfs. These changes should stop race conditions. (cve\-2023\-20898) +.IP \(bu 2 +Upgrade to \fIrequests==2.31.0\fP +.INDENT 2.0 +.TP +.B Due to: +.INDENT 7.0 +.IP \(bu 2 +\fI\%https://github.com/advisories/GHSA\-j8r2\-6x86\-q33q\fP (#64336) +.UNINDENT +.UNINDENT +.IP \(bu 2 +Upgrade to \fIcryptography==41.0.2\(ga(and therefor \(gapyopenssl==23.2.0\fP due to \fI\%https://github.com/advisories/GHSA\-5cpq\-8wj7\-hf2v\fP) +.sp +This only really impacts pip installs of Salt and the windows onedir since the linux and macos onedir build every package dependency from source, not from pre\-existing wheels. +.sp +Also resolves the following cryptography advisories: +.INDENT 2.0 +.TP +.B Due to: +.INDENT 7.0 +.IP \(bu 2 +\fI\%https://github.com/advisories/GHSA\-x4qr\-2fvf\-3mr5\fP +.IP \(bu 2 +\fI\%https://github.com/advisories/GHSA\-w7pp\-m8wf\-vj6r\fP +.UNINDENT +.UNINDENT +.sp +There is no security upgrade available for Py3.5 (#64595) +.IP \(bu 2 +Bump to \fIcertifi==2023.07.22\fP due to \fI\%https://github.com/advisories/GHSA\-xqr8\-7jwr\-rhp7\fP +.sp +Python 3.5 cannot get the updated requirements since certifi no longer supports this python version (#64720) +.UNINDENT .SS Salt 3004 Release Notes \- Codename Silicon .SS New Features .SS Transactional System Support (MicroOS) diff --git a/doc/man/spm.1 b/doc/man/spm.1 index 7fbb94b78da..1f7fdb0f12f 100644 --- a/doc/man/spm.1 +++ b/doc/man/spm.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SPM" "1" "Sep 26, 2022" "3005.1" "Salt" +.TH "SPM" "1" "Jul 31, 2023" "3005" "Salt" .SH NAME spm \- Salt Package Manager Command . diff --git a/doc/topics/releases/3005.2.rst b/doc/topics/releases/3005.2.rst new file mode 100644 index 00000000000..8a4d77a6d50 --- /dev/null +++ b/doc/topics/releases/3005.2.rst @@ -0,0 +1,40 @@ +.. _release-3005-2: + +========================= +Salt 3005.2 Release Notes +========================= + +Version 3005.2 is a CVE security fix release for :ref:`3005 `. + + +Changed +------- + +- Additional required package upgrades + + * It's now `pyzmq>=20.0.0` on all platforms, and `<=22.0.3` just for windows. + * Upgrade to `pyopenssl==23.0.0` due to the cryptography upgrade. (#63757) + + +Security +-------- + +- fix CVE-2023-20897 by catching exception instead of letting exception disrupt connection (cve-2023-20897) +- Fixed gitfs cachedir_basename to avoid hash collisions. Added MP Lock to gitfs. These changes should stop race conditions. (cve-2023-20898) +- Upgrade to `requests==2.31.0` + + Due to: + * https://github.com/advisories/GHSA-j8r2-6x86-q33q (#64336) +- Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) + + Also resolves the following cryptography advisories: + + Due to: + * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 + * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r + + There is no security upgrade available for Py3.5 (#64595) +- Bump to `certifi==2023.07.22` due to https://github.com/advisories/GHSA-xqr8-7jwr-rhp7 + + Python 3.5 cannot get the updated requirements since certifi no longer supports this python version (#64720) + From a59113907eb5beb8efb81442f2adfb473b22fbc5 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Tue, 1 Aug 2023 16:39:38 -0600 Subject: [PATCH 112/132] Fix the request and pyzmq requirements --- requirements/base.txt | 4 +--- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.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.5/linux.txt | 2 +- requirements/static/ci/py3.6/cloud.txt | 2 +- requirements/static/ci/py3.6/docs.txt | 2 +- requirements/static/ci/py3.6/lint.txt | 2 +- requirements/static/ci/py3.6/linux.txt | 2 +- requirements/static/ci/py3.7/cloud.txt | 2 +- requirements/static/ci/py3.7/docs.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/docs.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/docs.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/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.5/linux.txt | 2 +- requirements/static/pkg/py3.6/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/zeromq.txt | 2 +- 41 files changed, 41 insertions(+), 43 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 8d5cc0fc4c0..63e524d2238 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -3,9 +3,7 @@ jmespath msgpack>=0.5,!=0.5.5 PyYAML MarkupSafe -requests>=2.31.0 ; python_version >= "3.7" -requests<=2.27.1 ; python_version == "3.6" -requests<=2.25.1 ; python_version == "3.5" +requests>=1.0.0 distro>=1.0.1 contextvars psutil>=5.0.0 diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 92040882dc6..96be05ea777 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -755,7 +755,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 e64fdd42454..eb471cbf601 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -751,7 +751,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index a97516184f5..76e28d5c941 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -728,7 +728,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 7c078e12452..a2eccc60b7f 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -747,7 +747,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index af027dfab85..ffcbf496ef5 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -727,7 +727,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 612cabbf5c8..1217c0925a4 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -782,7 +782,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.5/linux.txt b/requirements/static/ci/py3.5/linux.txt index cd224abefb8..560ab0df011 100644 --- a/requirements/static/ci/py3.5/linux.txt +++ b/requirements/static/ci/py3.5/linux.txt @@ -814,7 +814,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 ; python_version == "3.5" +requests==2.25.1 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index bfe9af9325c..be1bc344e21 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -777,7 +777,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 ; python_version == "3.6" +requests==2.25.1 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index 3a8e34cc3a7..3a2c32fbaa8 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -750,7 +750,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 ; python_version == "3.6" +requests==2.25.1 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index d4ef3e342d1..2946e3602ba 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -751,7 +751,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.26.0 ; python_version == "3.6" +requests==2.26.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 3b1e742b78a..1c81008cda0 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -804,7 +804,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.25.1 ; python_version == "3.6" +requests==2.25.1 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 5ce026d6c4a..3ab03b5188b 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -799,7 +799,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 6d261cf7fbe..2b69b8d562a 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -771,7 +771,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 e2f95767f10..5af25521993 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -787,7 +787,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 2b42d2212bb..39c615da5da 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -772,7 +772,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 fd7feba0e98..153b484c6cb 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -820,7 +820,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index db5085bf72e..61068ac5053 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -789,7 +789,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index be0de480f07..113c7002d0a 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -763,7 +763,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 85a5a42a51f..939ec982d68 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -778,7 +778,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 9277abed520..fde5b62903a 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -764,7 +764,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 d1bd56d3238..67a8485624a 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -811,7 +811,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index fb2b4c6d03c..8564f90fc77 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -792,7 +792,7 @@ requests-ntlm==1.1.0 # via pywinrm requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 634d37cac14..9c681d8a8bb 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -785,7 +785,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index 20365b35b24..42dba531832 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -764,7 +764,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index cd704be1d75..610259c2293 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -781,7 +781,7 @@ pyzmq==23.2.0 ; python_version >= "3.6" # pytest-salt-factories requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 0e921ad27c4..9a70a2f1074 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -765,7 +765,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.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 8c0db482190..dc44b9a8e3c 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -816,7 +816,7 @@ redis==3.5.3 # via redis-py-cluster requests-oauthlib==1.3.0 # via msrest -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 4509a6f2f95..ce87a983341 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -90,7 +90,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # apache-libcloud diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 340febd1dfa..57c9a1dbe07 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 3363481323d..59ecad320c9 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.5/linux.txt b/requirements/static/pkg/py3.5/linux.txt index f72b043c2f1..7556cbbdea3 100644 --- a/requirements/static/pkg/py3.5/linux.txt +++ b/requirements/static/pkg/py3.5/linux.txt @@ -76,7 +76,7 @@ pyyaml==5.3.1 # via -r requirements/base.txt pyzmq==19.0.2 ; python_version < "3.6" # via -r requirements/zeromq.txt -requests==2.25.1 ; python_version == "3.5" +requests==2.25.1 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 89d93a2edb4..f49dfbcd7c5 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -79,7 +79,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.25.1 ; python_version == "3.6" +requests==2.25.1 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index e120db506e8..9e5c89424c1 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index 148e303522a..b2ad7768268 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 8284d972b36..333bfcf8587 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index a470ba4b0a4..d23e802f641 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -75,7 +75,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index a780337dc71..b875bfefc2b 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -92,7 +92,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via # -r requirements/base.txt # apache-libcloud diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 353035a0411..c101f06b8f8 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -79,7 +79,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt setproctitle==1.1.10 # via -r requirements/static/pkg/freebsd.in diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index bf0d8b54f95..61ac2f9a3ee 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -77,7 +77,7 @@ pyyaml==6.0.1 # via -r requirements/base.txt pyzmq==23.2.0 ; python_version >= "3.6" # via -r requirements/zeromq.txt -requests==2.31.0 ; python_version >= "3.7" +requests==2.31.0 # via -r requirements/base.txt rpm-vercmp==0.1.2 # via -r requirements/static/pkg/linux.in diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt index e6ea79b525d..2c1f009e02d 100644 --- a/requirements/zeromq.txt +++ b/requirements/zeromq.txt @@ -1,7 +1,7 @@ -r base.txt -r crypto.txt -pyzmq<20.0.0; python_version < "3.6" +pyzmq<=20.0.0; python_version < "3.6" pyzmq>=20.0.0; python_version >= "3.6" # We can't use 23+ on Windows until they fix this: # https://github.com/zeromq/pyzmq/issues/1472 From 901487d189d37ec54ceb8cf6d71bf876df615bac Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Tue, 1 Aug 2023 21:50:08 -0500 Subject: [PATCH 113/132] base64 hash --- salt/utils/gitfs.py | 21 +++++++++++++++++++-- tests/pytests/unit/utils/test_gitfs.py | 8 +++++--- tests/unit/utils/test_gitfs.py | 4 ++-- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index f53eea65d48..45e4bd38886 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -3,6 +3,7 @@ Classes which provide the shared base for GitFS, git_pillar, and winrepo """ +import base64 import contextlib import copy import errno @@ -16,6 +17,7 @@ import os import shlex import shutil import stat +import string import subprocess import time import weakref @@ -457,7 +459,7 @@ class GitProvider: hash_type = getattr(hashlib, self.opts.get("hash_type", "md5")) # Generate full id. The full id is made from these parts name-id-env-_root. - # Full id stops collections in the gitfs cache. + # Full id helps decrease the chances of collections in the gitfs cache. self._full_id = "-".join( [ getattr(self, "name", ""), @@ -468,7 +470,22 @@ class GitProvider: ) # We loaded this data from yaml configuration files, so, its safe # to use UTF-8 - self.cachedir_basename = f"{getattr(self, 'name', '')}-{hash_type(self._full_id.encode('utf-8')).hexdigest()}" + base64_hash = str( + base64.b64encode(hash_type(self._full_id.encode("utf-8")).digest()), + encoding="ascii", # base64 only outputs ascii + ).replace( + "/", "_" + ) # replace "/" with "_" to not cause trouble with file system + + # limit name length to 19, so we don't eat up all the path length for windows + # this is due to pygit2 limitations + # replace any unknown char with "_" to not cause trouble with file system + name_chars = string.ascii_letters + string.digits + "-" + cache_name = "".join( + c if c in name_chars else "_" for c in getattr(self, "name", "")[:19] + ) + + self.cachedir_basename = f"{cache_name}-{base64_hash}" self.cachedir = salt.utils.path.join(cache_root, self.cachedir_basename) self.linkdir = salt.utils.path.join(cache_root, "links", self.cachedir_basename) diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 91313b74e85..193413e34b1 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -254,7 +254,9 @@ def test_full_id_pygit2(_prepare_provider): ) def test_get_cachedir_basename_pygit2(_prepare_provider): basename = _prepare_provider.get_cachedir_basename() - assert len(basename) > 1 + # Note: if you are changing the length of basename + # keep in mind that pygit2 will error out on large file paths on Windows + assert len(basename) == 45 assert basename[0] == "-" - # check that a valid hex is given - assert all(c in string.hexdigits for c in basename[1:]) + # check that a valid base64 is given '/' -> '_' + assert all(c in string.ascii_letters + string.digits + "+_=" for c in basename[1:]) diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index b82fd4bff63..31c3babbabd 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -124,13 +124,13 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): def test_get_cachedir_basename(self): self.assertEqual( self.main_class.remotes[0].get_cachedir_basename(), - "-b4dcbd51b08742ec23eaf96d192d29b417ec137ea7ca0c0de2515cfaf6e26860", + "-tNy9UbCHQuwj6vltGS0ptBfsE36nygwN4lFc+vbiaGA=", ) def test_get_cachedir_base_with_name(self): self.assertEqual( self.main_class.remotes[1].get_cachedir_basename(), - "repo2-4218c2f8e303c6ea24cc541d8748e523d5b443c3050170a43a1a00be253b56aa", + "repo2-QhjC+OMDxuokzFQdh0jlI9W0Q8MFAXCkOhoAviU7Vqo=", ) def test_git_provider_mp_lock(self): From 5bab279151534bb9962af8618de66aac6a297e7b Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Wed, 2 Aug 2023 08:50:14 -0600 Subject: [PATCH 114/132] [3005.2] Update cryptography to 41.0.3 --- CHANGELOG.md | 3 ++- doc/topics/releases/3005.2.rst | 3 ++- requirements/darwin.txt | 2 +- requirements/static/ci/py3.10/cloud.txt | 2 +- requirements/static/ci/py3.10/darwin.txt | 2 +- requirements/static/ci/py3.10/docs.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/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.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 | 2 +- requirements/static/pkg/freebsd.in | 2 +- requirements/static/pkg/linux.in | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.10/freebsd.txt | 2 +- requirements/static/pkg/py3.10/linux.txt | 2 +- requirements/static/pkg/py3.7/freebsd.txt | 2 +- requirements/static/pkg/py3.7/linux.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/freebsd.txt | 2 +- requirements/static/pkg/py3.8/linux.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/freebsd.txt | 2 +- requirements/static/pkg/py3.9/linux.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- requirements/windows.txt | 2 +- 44 files changed, 46 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d3bbf08aac..ed8b393dbc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,11 +28,12 @@ Security Due to: * https://github.com/advisories/GHSA-j8r2-6x86-q33q (#64336) -- Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) +- Upgrade to `cryptography==41.0.3`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-jm77-qphf-c4w8) Also resolves the following cryptography advisories: Due to: + * https://github.com/advisories/GHSA-5cpq-8wj7-hf2v * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r diff --git a/doc/topics/releases/3005.2.rst b/doc/topics/releases/3005.2.rst index 8a4d77a6d50..d802408f9c8 100644 --- a/doc/topics/releases/3005.2.rst +++ b/doc/topics/releases/3005.2.rst @@ -25,11 +25,12 @@ Security Due to: * https://github.com/advisories/GHSA-j8r2-6x86-q33q (#64336) -- Upgrade to `cryptography==41.0.2`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-5cpq-8wj7-hf2v) +- Upgrade to `cryptography==41.0.3`(and therefor `pyopenssl==23.2.0` due to https://github.com/advisories/GHSA-jm77-qphf-c4w8) Also resolves the following cryptography advisories: Due to: + * https://github.com/advisories/GHSA-5cpq-8wj7-hf2v * https://github.com/advisories/GHSA-x4qr-2fvf-3mr5 * https://github.com/advisories/GHSA-w7pp-m8wf-vj6r diff --git a/requirements/darwin.txt b/requirements/darwin.txt index 06ef5dc9daf..a6e2074c711 100644 --- a/requirements/darwin.txt +++ b/requirements/darwin.txt @@ -5,7 +5,7 @@ apache-libcloud>=2.4.0 backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' cherrypy>=17.4.1 -cryptography>=41.0.2 ; python_version >= "3.7" +cryptography>=41.0.3 ; python_version >= "3.7" cryptography<=40.0.2 ; python_version == "3.6" cryptography<=3.2.1 ; python_version <= "3.5" gitpython>=2.1.15 ; python_version <= "3.6" diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 96be05ea777..c0e9ae8c548 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -383,7 +383,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index eb471cbf601..e7e10828b40 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -386,7 +386,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/darwin.txt # adal diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 76e28d5c941..828f99a2af0 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index a2eccc60b7f..ab874f05e18 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -382,7 +382,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # adal diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index ffcbf496ef5..4be2e27c68b 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 1217c0925a4..cf3c4f71239 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -396,7 +396,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index 3ab03b5188b..fb3916f56c1 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -390,7 +390,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 2b69b8d562a..20fbea8daeb 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -399,7 +399,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 5af25521993..c037fb7d6b8 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -389,7 +389,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # adal diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 39c615da5da..1f6e5f83e11 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -397,7 +397,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 153b484c6cb..062c7f229ef 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -403,7 +403,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 25c55a98eb8..65a05470c76 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -74,7 +74,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 61068ac5053..5fca7d5f376 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 113c7002d0a..1738b18708e 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -397,7 +397,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 939ec982d68..d0a8ac4b716 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -387,7 +387,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # adal diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index fde5b62903a..4aa8c6692e7 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -395,7 +395,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 67a8485624a..3df6f01e25e 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -401,7 +401,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 94f0c306ff2..9b0fbb8c1ba 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 8564f90fc77..33fde5294f1 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -388,7 +388,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 9c681d8a8bb..e468231282f 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -391,7 +391,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/darwin.txt # adal diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index 42dba531832..8827b0db372 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -395,7 +395,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 610259c2293..7e4af5a13bf 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -387,7 +387,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # adal diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index 9a70a2f1074..ecac15705bf 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -393,7 +393,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==1.0.15 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index dc44b9a8e3c..888599e84c8 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -403,7 +403,7 @@ contextvars==2.4 # via -r requirements/base.txt croniter==0.3.29 ; sys_platform != "win32" # via -r requirements/static/ci/common.in -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # adal diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index 1fb6bc9e6a1..e4f66fd1e6b 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -72,7 +72,7 @@ colorama==0.4.1 # via pytest contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # etcd3-py diff --git a/requirements/static/pkg/freebsd.in b/requirements/static/pkg/freebsd.in index 48f511e22de..91530fb8290 100644 --- a/requirements/static/pkg/freebsd.in +++ b/requirements/static/pkg/freebsd.in @@ -1,7 +1,7 @@ # This file only exists to trigger the right static compiled requirements destination # Any non hard dependencies of Salt for FreeBSD can go here cherrypy -cryptography>=41.0.2 ; python_version >= "3.7" +cryptography>=41.0.3 ; python_version >= "3.7" cryptography<=40.0.2 ; python_version == "3.6" cryptography<=3.2.1 ; python_version <= "3.5" backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' diff --git a/requirements/static/pkg/linux.in b/requirements/static/pkg/linux.in index ff1595bc4a2..580dd832418 100644 --- a/requirements/static/pkg/linux.in +++ b/requirements/static/pkg/linux.in @@ -1,7 +1,7 @@ # This file only exists to trigger the right static compiled requirements destination. # Any non hard dependencies of Salt for linux can go here cherrypy -cryptography>=41.0.2 ; python_version >= "3.7" +cryptography>=41.0.3 ; python_version >= "3.7" cryptography<=40.0.2 ; python_version == "3.6" cryptography<=3.2.1 ; python_version <= "3.5" backports.ssl_match_hostname>=3.7.0.1; python_version < '3.7' diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index ce87a983341..5776d6dfc1a 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/darwin.txt # pyopenssl diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 57c9a1dbe07..c25bc90a4b5 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # pyopenssl diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 59ecad320c9..9944c2e4d1d 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index 9e5c89424c1..f8c2f0a56a2 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # pyopenssl diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index b2ad7768268..0585f5aa5c7 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index 6c99a1e2f50..c3b56c5209e 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 333bfcf8587..8baa680c8dd 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # pyopenssl diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index d23e802f641..35882187a40 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index ce2f8ea36f8..c4da5b5ecd5 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index b875bfefc2b..c8809108906 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -18,7 +18,7 @@ cherrypy==18.6.1 # via -r requirements/darwin.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/darwin.txt # pyopenssl diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index c101f06b8f8..748fbd5a1a3 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/freebsd.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/freebsd.in # pyopenssl diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 61ac2f9a3ee..f59b9cb4cce 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -16,7 +16,7 @@ cherrypy==18.6.1 # via -r requirements/static/pkg/linux.in contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/static/pkg/linux.in # pyopenssl diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 8212006aec5..2a26af01628 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -20,7 +20,7 @@ cherrypy==18.6.1 # via -r requirements/windows.txt contextvars==2.4 # via -r requirements/base.txt -cryptography==41.0.2 ; python_version >= "3.7" +cryptography==41.0.3 ; python_version >= "3.7" # via # -r requirements/windows.txt # pyopenssl diff --git a/requirements/windows.txt b/requirements/windows.txt index 5f9c363b507..9ff5e016095 100644 --- a/requirements/windows.txt +++ b/requirements/windows.txt @@ -11,7 +11,7 @@ certifi>=2022.12.7 ; python_version >= "3.6" certifi<=2021.10.8 ; python_version <= "3.5" cffi>=1.14.5 cherrypy>=18.6.1 -cryptography>=41.0.2 ; python_version >= "3.7" +cryptography>=41.0.3 ; python_version >= "3.7" cryptography<=40.0.2 ; python_version == "3.6" cryptography<=3.2.1 ; python_version <= "3.5" gitpython>=2.1.15 ; python_version <= "3.6" From 0bb8192f8a0aa3936f436cf0c4d3671191474386 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Wed, 2 Aug 2023 14:19:01 -0500 Subject: [PATCH 115/132] stop branch collision --- salt/utils/gitfs.py | 12 ++++++++++-- tests/pytests/unit/utils/test_gitfs.py | 3 ++- tests/unit/utils/test_gitfs.py | 9 +++++---- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index 45e4bd38886..3f56ee6deb8 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -458,14 +458,22 @@ class GitProvider: failhard(self.role) hash_type = getattr(hashlib, self.opts.get("hash_type", "md5")) - # Generate full id. The full id is made from these parts name-id-env-_root. + # Generate full id. # Full id helps decrease the chances of collections in the gitfs cache. + try: + target = str(self.get_checkout_target()) + except AttributeError: + target = "" self._full_id = "-".join( [ getattr(self, "name", ""), - self.id.replace(" ", "-"), + self.id, getattr(self, "env", ""), getattr(self, "_root", ""), + self.role, + getattr(self, "base", ""), + getattr(self, "branch", ""), + target ] ) # We loaded this data from yaml configuration files, so, its safe diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 193413e34b1..76c9409a1af 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -3,6 +3,7 @@ import string import time import pytest + import salt.config import salt.fileserver.gitfs import salt.utils.gitfs @@ -245,7 +246,7 @@ def test_checkout_pygit2(_prepare_provider): ) def test_full_id_pygit2(_prepare_provider): assert _prepare_provider.full_id().startswith("-") - assert _prepare_provider.full_id().endswith("/pygit2-repo--") + assert _prepare_provider.full_id().endswith("/pygit2-repo---gitfs-master--") @pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index 31c3babbabd..563599a5d56 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -6,6 +6,7 @@ any remotes. import tempfile import pytest + import salt.ext.tornado.ioloop import salt.fileserver.gitfs import salt.utils.files @@ -114,23 +115,23 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): self.assertFalse(self.main_class.remotes[1].fetched) def test_full_id(self): - self.assertEqual(self.main_class.remotes[0].full_id(), "-file://repo1.git--") + self.assertEqual(self.main_class.remotes[0].full_id(), "-file://repo1.git---gitfs-master--") def test_full_id_with_name(self): self.assertEqual( - self.main_class.remotes[1].full_id(), "repo2-file://repo2.git--" + self.main_class.remotes[1].full_id(), "repo2-file://repo2.git---gitfs-master--" ) def test_get_cachedir_basename(self): self.assertEqual( self.main_class.remotes[0].get_cachedir_basename(), - "-tNy9UbCHQuwj6vltGS0ptBfsE36nygwN4lFc+vbiaGA=", + "-jXhnbGDemchtZwTwaD2s6VOaVvs98a7w+AtiYlmOVb0=", ) def test_get_cachedir_base_with_name(self): self.assertEqual( self.main_class.remotes[1].get_cachedir_basename(), - "repo2-QhjC+OMDxuokzFQdh0jlI9W0Q8MFAXCkOhoAviU7Vqo=", + "repo2-nuezpiDtjQRFC0ZJDByvi+F6Vb8ZhfoH41n_KFxTGsU=", ) def test_git_provider_mp_lock(self): From e9fd7dd3d9f14184a7528e6c8b1c4d438bdb0da3 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Wed, 2 Aug 2023 14:39:42 -0500 Subject: [PATCH 116/132] run pre --- salt/utils/gitfs.py | 2 +- tests/unit/utils/test_gitfs.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index 3f56ee6deb8..386977b6c54 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -473,7 +473,7 @@ class GitProvider: self.role, getattr(self, "base", ""), getattr(self, "branch", ""), - target + target, ] ) # We loaded this data from yaml configuration files, so, its safe diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index 563599a5d56..6d8e97a239e 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -115,11 +115,14 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): self.assertFalse(self.main_class.remotes[1].fetched) def test_full_id(self): - self.assertEqual(self.main_class.remotes[0].full_id(), "-file://repo1.git---gitfs-master--") + self.assertEqual( + self.main_class.remotes[0].full_id(), "-file://repo1.git---gitfs-master--" + ) def test_full_id_with_name(self): self.assertEqual( - self.main_class.remotes[1].full_id(), "repo2-file://repo2.git---gitfs-master--" + self.main_class.remotes[1].full_id(), + "repo2-file://repo2.git---gitfs-master--", ) def test_get_cachedir_basename(self): From fc8d83d76b10b028917a0394554a1340d1dc1de1 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Wed, 2 Aug 2023 17:35:09 -0500 Subject: [PATCH 117/132] pre --- tests/pytests/unit/utils/test_gitfs.py | 1 - tests/unit/utils/test_gitfs.py | 1 - 2 files changed, 2 deletions(-) diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 76c9409a1af..6969e3c9ab3 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -3,7 +3,6 @@ import string import time import pytest - import salt.config import salt.fileserver.gitfs import salt.utils.gitfs diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index 6d8e97a239e..e24a3f62b8f 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -6,7 +6,6 @@ any remotes. import tempfile import pytest - import salt.ext.tornado.ioloop import salt.fileserver.gitfs import salt.utils.files From 9dfd548ca698a78597b5d94486d452a3e7ace181 Mon Sep 17 00:00:00 2001 From: ScriptAutomate Date: Wed, 10 May 2023 14:02:43 -0500 Subject: [PATCH 118/132] Update banners and links --- doc/_themes/saltstack2/layout.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/_themes/saltstack2/layout.html b/doc/_themes/saltstack2/layout.html index 04bff89e1fb..001844f7cd2 100644 --- a/doc/_themes/saltstack2/layout.html +++ b/doc/_themes/saltstack2/layout.html @@ -152,7 +152,7 @@ - +
- +
{% endif %} @@ -295,7 +295,7 @@ {% else %} {% endif %} #}--> - + {% if build_type=="next" %} From 333412bbc4b5a5157edb965c7dbcd133c9f21970 Mon Sep 17 00:00:00 2001 From: twangboy Date: Thu, 24 Aug 2023 14:07:43 -0600 Subject: [PATCH 119/132] fix 3005.2 build for MacOS --- pkg/osx/pkg-scripts/postinstall | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/osx/pkg-scripts/postinstall b/pkg/osx/pkg-scripts/postinstall index a460e118fce..ac8961fd07f 100755 --- a/pkg/osx/pkg-scripts/postinstall +++ b/pkg/osx/pkg-scripts/postinstall @@ -19,7 +19,7 @@ ############################################################################### # Define Variables ############################################################################### -PY_DOT_VERSION=3.9.16 +PY_DOT_VERSION=3.9.17 INSTALL_DIR="/opt/salt" BIN_DIR="$INSTALL_DIR/bin" CONFIG_DIR="/etc/salt" From 759ae290c558f78348d38448e63e23c5efbf775a Mon Sep 17 00:00:00 2001 From: MKLeb Date: Tue, 5 Sep 2023 18:13:42 -0400 Subject: [PATCH 120/132] Add proxy script to `console_scripts` --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index bd11ff95f7a..ca47612c4fd 100755 --- a/setup.py +++ b/setup.py @@ -1216,6 +1216,7 @@ class SaltDistribution(distutils.dist.Distribution): "salt-key = salt.scripts:salt_key", "salt-master = salt.scripts:salt_master", "salt-minion = salt.scripts:salt_minion", + "salt-proxy = salt.scripts:salt_proxy", "salt-ssh = salt.scripts:salt_ssh", "salt-syndic = salt.scripts:salt_syndic", "spm = salt.scripts:salt_spm", From 4adf83b1da9df0dcdb0f7675a3ffbaffa5ae13f7 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 25 Aug 2023 10:15:50 +0100 Subject: [PATCH 121/132] Bump to Python `3.9.18` due to CVE-2023-40217 Signed-off-by: Pedro Algarvio --- pkg/osx/build_env.sh | 2 +- pkg/osx/package.sh | 2 +- pkg/osx/pkg-scripts/postinstall | 2 +- pkg/osx/sign_binaries.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/osx/build_env.sh b/pkg/osx/build_env.sh index b4b791c4c9f..877c8dabbf4 100755 --- a/pkg/osx/build_env.sh +++ b/pkg/osx/build_env.sh @@ -59,7 +59,7 @@ export MACOSX_DEPLOYMENT_TARGET # Versions we're going to install PY_VERSION=3.9 -PY_DOT_VERSION=3.9.17 +PY_DOT_VERSION=3.9.18 ZMQ_VERSION=4.3.4 LIBSODIUM_VERSION=1.0.18 diff --git a/pkg/osx/package.sh b/pkg/osx/package.sh index e4ac0a3d61d..df768d869fe 100755 --- a/pkg/osx/package.sh +++ b/pkg/osx/package.sh @@ -94,7 +94,7 @@ echo "**** Setting Variables" SRCDIR=`git rev-parse --show-toplevel` PKGRESOURCES=$SRCDIR/pkg/osx PY_VERSION=3.9 -PY_DOT_VERSION=3.9.17 +PY_DOT_VERSION=3.9.18 ################################################################################ # Make sure this is the Salt Repository diff --git a/pkg/osx/pkg-scripts/postinstall b/pkg/osx/pkg-scripts/postinstall index ac8961fd07f..f3c0489953d 100755 --- a/pkg/osx/pkg-scripts/postinstall +++ b/pkg/osx/pkg-scripts/postinstall @@ -19,7 +19,7 @@ ############################################################################### # Define Variables ############################################################################### -PY_DOT_VERSION=3.9.17 +PY_DOT_VERSION=3.9.18 INSTALL_DIR="/opt/salt" BIN_DIR="$INSTALL_DIR/bin" CONFIG_DIR="/etc/salt" diff --git a/pkg/osx/sign_binaries.sh b/pkg/osx/sign_binaries.sh index bcaaf8f9760..c03a8235b39 100755 --- a/pkg/osx/sign_binaries.sh +++ b/pkg/osx/sign_binaries.sh @@ -68,7 +68,7 @@ quit_on_error() { echo "**** Setting Variables" INSTALL_DIR=/opt/salt PY_VERSION=3.9 -PY_DOT_VERSION=3.9.17 +PY_DOT_VERSION=3.9.18 CMD_OUTPUT=$(mktemp -t cmd.log) SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) From 79b71313ab6505501d997b9caa8d8b8f74b72b8c Mon Sep 17 00:00:00 2001 From: MKLeb Date: Mon, 11 Sep 2023 14:34:05 -0400 Subject: [PATCH 122/132] Bump pygithub to >=3.1.35 --- requirements/darwin.txt | 2 +- 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/docs.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/docs.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 | 2 +- requirements/static/ci/py3.8/cloud.txt | 2 +- requirements/static/ci/py3.8/docs.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 | 2 +- requirements/static/ci/py3.9/cloud.txt | 2 +- requirements/static/ci/py3.9/darwin.txt | 2 +- requirements/static/ci/py3.9/docs.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 | 2 +- requirements/static/pkg/py3.10/darwin.txt | 2 +- requirements/static/pkg/py3.7/windows.txt | 2 +- requirements/static/pkg/py3.8/windows.txt | 2 +- requirements/static/pkg/py3.9/darwin.txt | 2 +- requirements/static/pkg/py3.9/windows.txt | 2 +- requirements/windows.txt | 2 +- 33 files changed, 33 insertions(+), 33 deletions(-) diff --git a/requirements/darwin.txt b/requirements/darwin.txt index a6e2074c711..c723a896dee 100644 --- a/requirements/darwin.txt +++ b/requirements/darwin.txt @@ -9,7 +9,7 @@ cryptography>=41.0.3 ; python_version >= "3.7" cryptography<=40.0.2 ; python_version == "3.6" cryptography<=3.2.1 ; python_version <= "3.5" gitpython>=2.1.15 ; python_version <= "3.6" -gitpython>=3.1.30 ; python_version >= "3.7" +gitpython>=3.1.35 ; python_version >= "3.7" idna>=2.8 linode-python>=1.1.1 mako>=1.0.7 diff --git a/requirements/static/ci/common.in b/requirements/static/ci/common.in index 0bca349a53d..6defcad9fde 100644 --- a/requirements/static/ci/common.in +++ b/requirements/static/ci/common.in @@ -17,7 +17,7 @@ dnspython docker etcd3-py==0.1.6 ; python_version >= '3.6' gitpython>=2.1.15 ; python_version <= "3.6" -gitpython>=3.1.30 ; python_version >= "3.7" +gitpython>=3.1.35 ; python_version >= "3.7" jmespath jsonschema junos-eznc==2.4.0; 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 c0e9ae8c548..84a17a57933 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -427,7 +427,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index e7e10828b40..6725d76cafb 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -428,7 +428,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via # -r requirements/darwin.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 828f99a2af0..5fa86b1cc9c 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -429,7 +429,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index ab874f05e18..4de08ee486f 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -425,7 +425,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 4be2e27c68b..9fb36c3b357 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -425,7 +425,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index cf3c4f71239..dbbc7f94b97 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -439,7 +439,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index fb3916f56c1..8a6a86bc53f 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -439,7 +439,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 20fbea8daeb..b99ff436bbb 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -443,7 +443,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index c037fb7d6b8..098811c2533 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -437,7 +437,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 1f6e5f83e11..d995e9c3999 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -439,7 +439,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index 062c7f229ef..039f18a3c3a 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -451,7 +451,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 65a05470c76..9c9e2415345 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -113,7 +113,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 5fca7d5f376..ae3a2330f51 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -437,7 +437,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index 1738b18708e..704100ccc31 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -441,7 +441,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index d0a8ac4b716..64b895815d6 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -435,7 +435,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 4aa8c6692e7..ebe72d749e2 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -437,7 +437,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index 3df6f01e25e..77b2c36a5d1 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -449,7 +449,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 9b0fbb8c1ba..ca5e306b800 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -111,7 +111,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index 33fde5294f1..9495c538ecc 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -437,7 +437,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.1.0 # via kubernetes diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index e468231282f..d47db18063f 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -438,7 +438,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via # -r requirements/darwin.txt # -r requirements/static/ci/common.in diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index 8827b0db372..12d672d4a38 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -439,7 +439,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 7e4af5a13bf..7ebc98e63a3 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -435,7 +435,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index ecac15705bf..084f5cb6724 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -435,7 +435,7 @@ geomet==0.2.1.post1 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==2.0.1 # via kubernetes diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index 888599e84c8..b8125669def 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -451,7 +451,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/static/ci/common.in google-auth==1.6.3 # via kubernetes diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index e4f66fd1e6b..d98e73e91f6 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -111,7 +111,7 @@ geomet==0.1.2 # via cassandra-driver gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via # -r requirements/static/ci/common.in # -r requirements/windows.txt diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index 5776d6dfc1a..9d6409d28c8 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -26,7 +26,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/darwin.txt idna==2.8 # via diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index c3b56c5209e..90f0ad64b9f 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -28,7 +28,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/windows.txt idna==2.8 # via requests diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index c4da5b5ecd5..ecccae81ab4 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -28,7 +28,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/windows.txt idna==2.8 # via requests diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index c8809108906..6ccf6601b30 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -26,7 +26,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.5 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/darwin.txt idna==2.8 # via diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index 2a26af01628..e4555f86448 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -28,7 +28,7 @@ distro==1.5.0 # via -r requirements/base.txt gitdb==4.0.7 # via gitpython -gitpython==3.1.30 ; python_version >= "3.7" +gitpython==3.1.35 ; python_version >= "3.7" # via -r requirements/windows.txt idna==2.8 # via requests diff --git a/requirements/windows.txt b/requirements/windows.txt index 9ff5e016095..9784054f921 100644 --- a/requirements/windows.txt +++ b/requirements/windows.txt @@ -15,7 +15,7 @@ cryptography>=41.0.3 ; python_version >= "3.7" cryptography<=40.0.2 ; python_version == "3.6" cryptography<=3.2.1 ; python_version <= "3.5" gitpython>=2.1.15 ; python_version <= "3.6" -gitpython>=3.1.30 ; python_version >= "3.7" +gitpython>=3.1.35 ; python_version >= "3.7" ioloop>=0.1a0 libnacl>=1.8.0 lxml>=4.6.3 From ebfd6e110feb4da81a0716886af8fb26e1c79c12 Mon Sep 17 00:00:00 2001 From: MKLeb Date: Mon, 11 Sep 2023 14:37:27 -0400 Subject: [PATCH 123/132] changelog --- changelog/65167.security | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 changelog/65167.security diff --git a/changelog/65167.security b/changelog/65167.security new file mode 100644 index 00000000000..72cb8711f19 --- /dev/null +++ b/changelog/65167.security @@ -0,0 +1,2 @@ +Update to `gitpython>=3.1.35` due to https://github.com/advisories/GHSA-wfm5-v35h-vwf4 and https://github.com/advisories/GHSA-cwvm-v4w8-q58c + From 3c452cb0492f74528a0060e98f8bd7b62e1bd6de Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Wed, 6 Sep 2023 15:39:33 -0500 Subject: [PATCH 124/132] port fix env --- changelog/65002.fixed | 1 + salt/utils/cache.py | 32 ++ salt/utils/gitfs.py | 302 ++++++++------ .../functional/pillar/test_git_pillar.py | 261 ++++++++++++ tests/pytests/functional/utils/test_cache.py | 82 ++++ tests/pytests/functional/utils/test_gitfs.py | 239 +++++++++++ tests/pytests/functional/utils/test_pillar.py | 329 +++++++++++++++ .../pytests/functional/utils/test_winrepo.py | 128 ++++++ tests/pytests/unit/test_minion.py | 379 +++++++++--------- tests/pytests/unit/utils/test_gitfs.py | 20 +- tests/unit/utils/test_gitfs.py | 21 +- 11 files changed, 1448 insertions(+), 346 deletions(-) create mode 100644 changelog/65002.fixed create mode 100644 tests/pytests/functional/pillar/test_git_pillar.py create mode 100644 tests/pytests/functional/utils/test_cache.py create mode 100644 tests/pytests/functional/utils/test_gitfs.py create mode 100644 tests/pytests/functional/utils/test_pillar.py create mode 100644 tests/pytests/functional/utils/test_winrepo.py diff --git a/changelog/65002.fixed b/changelog/65002.fixed new file mode 100644 index 00000000000..b61b1a431ab --- /dev/null +++ b/changelog/65002.fixed @@ -0,0 +1 @@ +Fix __env__ and improve cache cleaning see more info at pull #65017. \ No newline at end of file diff --git a/salt/utils/cache.py b/salt/utils/cache.py index 9868cc65df5..c9bab85f75a 100644 --- a/salt/utils/cache.py +++ b/salt/utils/cache.py @@ -6,6 +6,7 @@ import functools import logging import os import re +import shutil import time import salt.config @@ -15,6 +16,8 @@ import salt.utils.data import salt.utils.dictupdate import salt.utils.files import salt.utils.msgpack +import salt.utils.path +import salt.version from salt.utils.zeromq import zmq log = logging.getLogger(__name__) @@ -330,3 +333,32 @@ def context_cache(func): return func(*args, **kwargs) return context_cache_wrap + + +def verify_cache_version(cache_path): + """ + Check that the cached version matches the Salt version. + If the cached version does not match the Salt version, wipe the cache. + + :return: ``True`` if cache version matches, otherwise ``False`` + """ + if not os.path.isdir(cache_path): + os.makedirs(cache_path) + with salt.utils.files.fopen( + salt.utils.path.join(cache_path, "cache_version"), "a+" + ) as file: + file.seek(0) + data = "\n".join(file.readlines()) + if data != salt.version.__version__: + log.warning(f"Cache version mismatch clearing: {repr(cache_path)}") + file.truncate(0) + file.write(salt.version.__version__) + for item in os.listdir(cache_path): + if item != "cache_version": + item_path = salt.utils.path.join(cache_path, item) + if os.path.isfile(item_path): + os.remove(item_path) + else: + shutil.rmtree(item_path) + return False + return True diff --git a/salt/utils/gitfs.py b/salt/utils/gitfs.py index 386977b6c54..dd2392366e9 100644 --- a/salt/utils/gitfs.py +++ b/salt/utils/gitfs.py @@ -17,7 +17,6 @@ import os import shlex import shutil import stat -import string import subprocess import time import weakref @@ -25,6 +24,7 @@ from datetime import datetime import salt.ext.tornado.ioloop import salt.fileserver +import salt.utils.cache import salt.utils.configparser import salt.utils.data import salt.utils.files @@ -252,7 +252,6 @@ class GitProvider: val_cb=lambda x, y: str(y), ) self.conf = copy.deepcopy(per_remote_defaults) - # Remove the 'salt://' from the beginning of any globally-defined # per-saltenv mountpoints for saltenv, saltenv_conf in self.global_saltenv.items(): @@ -456,49 +455,38 @@ class GitProvider: self.id, ) failhard(self.role) - - hash_type = getattr(hashlib, self.opts.get("hash_type", "md5")) - # Generate full id. - # Full id helps decrease the chances of collections in the gitfs cache. - try: - target = str(self.get_checkout_target()) - except AttributeError: - target = "" - self._full_id = "-".join( - [ - getattr(self, "name", ""), - self.id, - getattr(self, "env", ""), - getattr(self, "_root", ""), - self.role, - getattr(self, "base", ""), - getattr(self, "branch", ""), - target, - ] + if hasattr(self, "name"): + self._cache_basehash = self.name + else: + hash_type = getattr(hashlib, self.opts.get("hash_type", "md5")) + # We loaded this data from yaml configuration files, so, its safe + # to use UTF-8 + self._cache_basehash = str( + base64.b64encode(hash_type(self.id.encode("utf-8")).digest()), + encoding="ascii", # base64 only outputs ascii + ).replace( + "/", "_" + ) # replace "/" with "_" to not cause trouble with file system + self._cache_hash = salt.utils.path.join(cache_root, self._cache_basehash) + self._cache_basename = "_" + if self.id.startswith("__env__"): + try: + self._cache_basename = self.get_checkout_target() + except AttributeError: + log.critical(f"__env__ cant generate basename: {self.role} {self.id}") + failhard(self.role) + self._cache_full_basename = salt.utils.path.join( + self._cache_basehash, self._cache_basename ) - # We loaded this data from yaml configuration files, so, its safe - # to use UTF-8 - base64_hash = str( - base64.b64encode(hash_type(self._full_id.encode("utf-8")).digest()), - encoding="ascii", # base64 only outputs ascii - ).replace( - "/", "_" - ) # replace "/" with "_" to not cause trouble with file system - - # limit name length to 19, so we don't eat up all the path length for windows - # this is due to pygit2 limitations - # replace any unknown char with "_" to not cause trouble with file system - name_chars = string.ascii_letters + string.digits + "-" - cache_name = "".join( - c if c in name_chars else "_" for c in getattr(self, "name", "")[:19] + self._cachedir = salt.utils.path.join(self._cache_hash, self._cache_basename) + self._salt_working_dir = salt.utils.path.join( + cache_root, "work", self._cache_full_basename ) - - self.cachedir_basename = f"{cache_name}-{base64_hash}" - self.cachedir = salt.utils.path.join(cache_root, self.cachedir_basename) - self.linkdir = salt.utils.path.join(cache_root, "links", self.cachedir_basename) - - if not os.path.isdir(self.cachedir): - os.makedirs(self.cachedir) + self._linkdir = salt.utils.path.join( + cache_root, "links", self._cache_full_basename + ) + if not os.path.isdir(self._cachedir): + os.makedirs(self._cachedir) try: self.new = self.init_remote() @@ -510,12 +498,32 @@ class GitProvider: msg += " Perhaps git is not available." log.critical(msg, exc_info=True) failhard(self.role) + self.verify_auth() + self.setup_callbacks() + if not os.path.isdir(self._salt_working_dir): + os.makedirs(self._salt_working_dir) + self.fetch_request_check() - def full_id(self): - return self._full_id + def get_cache_basehash(self): + return self._cache_basehash - def get_cachedir_basename(self): - return self.cachedir_basename + def get_cache_hash(self): + return self._cache_hash + + def get_cache_basename(self): + return self._cache_basename + + def get_cache_full_basename(self): + return self._cache_full_basename + + def get_cachedir(self): + return self._cachedir + + def get_linkdir(self): + return self._linkdir + + def get_salt_working_dir(self): + return self._salt_working_dir def _get_envs_from_ref_paths(self, refs): """ @@ -644,7 +652,7 @@ class GitProvider: # No need to pass an environment to self.root() here since per-saltenv # configuration is a gitfs-only feature and check_root() is not used # for gitfs. - root_dir = salt.utils.path.join(self.cachedir, self.root()).rstrip(os.sep) + root_dir = salt.utils.path.join(self._cachedir, self.root()).rstrip(os.sep) if os.path.isdir(root_dir): return root_dir log.error( @@ -816,7 +824,7 @@ class GitProvider: desired_refspecs, ) if refspecs != desired_refspecs: - conf.set_multivar(remote_section, "fetch", self.refspecs) + conf.set_multivar(remote_section, "fetch", desired_refspecs) log.debug( "Refspecs for %s remote '%s' set to %s", self.role, @@ -849,6 +857,7 @@ class GitProvider: self.id, desired_ssl_verify, ) + self._ssl_verfiy = self.opts.get(f"{self.role}_ssl_verify", None) conf_changed = True # Write changes, if necessary @@ -1069,7 +1078,7 @@ class GitProvider: """ raise NotImplementedError() - def checkout(self): + def checkout(self, fetch_on_fail=True): """ This function must be overridden in a sub-class """ @@ -1192,6 +1201,21 @@ class GitProvider: else: self.url = self.id + def fetch_request_check(self): + fetch_request = salt.utils.path.join(self._salt_working_dir, "fetch_request") + if os.path.isfile(fetch_request): + log.debug(f"Fetch request: {self._salt_working_dir}") + try: + os.remove(fetch_request) + except OSError as exc: + log.error( + f"Failed to remove Fetch request: {self._salt_working_dir} {exc}", + exc_info=True, + ) + self.fetch() + return True + return False + @property def linkdir_walk(self): """ @@ -1218,14 +1242,14 @@ class GitProvider: dirs = [] self._linkdir_walk.append( ( - salt.utils.path.join(self.linkdir, *parts[: idx + 1]), + salt.utils.path.join(self._linkdir, *parts[: idx + 1]), dirs, [], ) ) try: # The linkdir itself goes at the beginning - self._linkdir_walk.insert(0, (self.linkdir, [parts[0]], [])) + self._linkdir_walk.insert(0, (self._linkdir, [parts[0]], [])) except IndexError: pass return self._linkdir_walk @@ -1275,13 +1299,17 @@ class GitPython(GitProvider): role, ) - def checkout(self): + def checkout(self, fetch_on_fail=True): """ Checkout the configured branch/tag. We catch an "Exception" class here instead of a specific exception class because the exceptions raised by GitPython when running these functions vary in different versions of GitPython. + + fetch_on_fail + If checkout fails perform a fetch then try to checkout again. """ + self.fetch_request_check() tgt_ref = self.get_checkout_target() try: head_sha = self.repo.rev_parse("HEAD").hexsha @@ -1345,6 +1373,15 @@ class GitPython(GitProvider): except Exception: # pylint: disable=broad-except continue return self.check_root() + if fetch_on_fail: + log.debug( + "Failed to checkout %s from %s remote '%s': fetch and try again", + tgt_ref, + self.role, + self.id, + ) + self.fetch() + return self.checkout(fetch_on_fail=False) log.error( "Failed to checkout %s from %s remote '%s': remote ref does not exist", tgt_ref, @@ -1360,16 +1397,16 @@ class GitPython(GitProvider): initialized by this function. """ new = False - if not os.listdir(self.cachedir): + if not os.listdir(self._cachedir): # Repo cachedir is empty, initialize a new repo there - self.repo = git.Repo.init(self.cachedir) + self.repo = git.Repo.init(self._cachedir) new = True else: # Repo cachedir exists, try to attach try: - self.repo = git.Repo(self.cachedir) + self.repo = git.Repo(self._cachedir) except git.exc.InvalidGitRepositoryError: - log.error(_INVALID_REPO, self.cachedir, self.url, self.role) + log.error(_INVALID_REPO, self._cachedir, self.url, self.role) return new self.gitdir = salt.utils.path.join(self.repo.working_dir, ".git") @@ -1603,10 +1640,14 @@ class Pygit2(GitProvider): except AttributeError: return obj.get_object() - def checkout(self): + def checkout(self, fetch_on_fail=True): """ Checkout the configured branch/tag + + fetch_on_fail + If checkout fails perform a fetch then try to checkout again. """ + self.fetch_request_check() tgt_ref = self.get_checkout_target() local_ref = "refs/heads/" + tgt_ref remote_ref = "refs/remotes/origin/" + tgt_ref @@ -1796,6 +1837,15 @@ class Pygit2(GitProvider): exc_info=True, ) return None + if fetch_on_fail: + log.debug( + "Failed to checkout %s from %s remote '%s': fetch and try again", + tgt_ref, + self.role, + self.id, + ) + self.fetch() + return self.checkout(fetch_on_fail=False) log.error( "Failed to checkout %s from %s remote '%s': remote ref does not exist", tgt_ref, @@ -1837,16 +1887,16 @@ class Pygit2(GitProvider): home = os.path.expanduser("~") pygit2.settings.search_path[pygit2.GIT_CONFIG_LEVEL_GLOBAL] = home new = False - if not os.listdir(self.cachedir): + if not os.listdir(self._cachedir): # Repo cachedir is empty, initialize a new repo there - self.repo = pygit2.init_repository(self.cachedir) + self.repo = pygit2.init_repository(self._cachedir) new = True else: # Repo cachedir exists, try to attach try: - self.repo = pygit2.Repository(self.cachedir) + self.repo = pygit2.Repository(self._cachedir) except KeyError: - log.error(_INVALID_REPO, self.cachedir, self.url, self.role) + log.error(_INVALID_REPO, self._cachedir, self.url, self.role) return new self.gitdir = salt.utils.path.join(self.repo.workdir, ".git") @@ -2366,6 +2416,7 @@ class GitBase: self.file_list_cachedir = salt.utils.path.join( self.opts["cachedir"], "file_lists", self.role ) + salt.utils.cache.verify_cache_version(self.cache_root) if init_remotes: self.init_remotes( remotes if remotes is not None else [], @@ -2488,7 +2539,7 @@ class GitBase: # Don't allow collisions in cachedir naming cachedir_map = {} for repo in self.remotes: - cachedir_map.setdefault(repo.cachedir, []).append(repo.id) + cachedir_map.setdefault(repo.get_cachedir(), []).append(repo.id) collisions = [x for x in cachedir_map if len(cachedir_map[x]) > 1] if collisions: @@ -2505,48 +2556,42 @@ class GitBase: if any(x.new for x in self.remotes): self.write_remote_map() + def _remove_cache_dir(self, cache_dir): + try: + shutil.rmtree(cache_dir) + except OSError as exc: + log.error( + "Unable to remove old %s remote cachedir %s: %s", + self.role, + cache_dir, + exc, + ) + return False + log.debug("%s removed old cachedir %s", self.role, cache_dir) + return True + + def _iter_remote_hashes(self): + for item in os.listdir(self.cache_root): + if item in ("hash", "refs", "links", "work"): + continue + if os.path.isdir(salt.utils.path.join(self.cache_root, item)): + yield item + def clear_old_remotes(self): """ Remove cache directories for remotes no longer configured """ - try: - cachedir_ls = os.listdir(self.cache_root) - except OSError: - cachedir_ls = [] - # Remove actively-used remotes from list - for repo in self.remotes: - try: - cachedir_ls.remove(repo.cachedir_basename) - except ValueError: - pass - to_remove = [] - for item in cachedir_ls: - if item in ("hash", "refs"): - continue - path = salt.utils.path.join(self.cache_root, item) - if os.path.isdir(path): - to_remove.append(path) - failed = [] - if to_remove: - for rdir in to_remove: - try: - shutil.rmtree(rdir) - except OSError as exc: - log.error( - "Unable to remove old %s remote cachedir %s: %s", - self.role, - rdir, - exc, - ) - failed.append(rdir) - else: - log.debug("%s removed old cachedir %s", self.role, rdir) - for fdir in failed: - to_remove.remove(fdir) - ret = bool(to_remove) - if ret: + change = False + # Remove all hash dirs not part of this group + remote_set = {r.get_cache_basehash() for r in self.remotes} + for item in self._iter_remote_hashes(): + if item not in remote_set: + change = self._remove_cache_dir( + salt.utils.path.join(self.cache_root, item) or change + ) + if not change: self.write_remote_map() - return ret + return change def clear_cache(self): """ @@ -2605,6 +2650,27 @@ class GitBase: name = getattr(repo, "name", None) if not remotes or (repo.id, name) in remotes or name in remotes: try: + # Find and place fetch_request file for all the other branches for this repo + repo_work_hash = os.path.split(repo.get_salt_working_dir())[0] + for branch in os.listdir(repo_work_hash): + # Don't place fetch request in current branch being updated + if branch == repo.get_cache_basename(): + continue + branch_salt_dir = salt.utils.path.join(repo_work_hash, branch) + fetch_path = salt.utils.path.join( + branch_salt_dir, "fetch_request" + ) + if os.path.isdir(branch_salt_dir): + try: + with salt.utils.files.fopen(fetch_path, "w"): + pass + except OSError as exc: # pylint: disable=broad-except + log.error( + f"Failed to make fetch request: {fetch_path} {exc}", + exc_info=True, + ) + else: + log.error(f"Failed to make fetch request: {fetch_path}") if repo.fetch(): # We can't just use the return value from repo.fetch() # because the data could still have changed if old @@ -2859,7 +2925,7 @@ class GitBase: for repo in self.remotes: fp_.write( salt.utils.stringutils.to_str( - "{} = {}\n".format(repo.cachedir_basename, repo.id) + "{} = {}\n".format(repo.get_cache_basehash(), repo.id) ) ) except OSError: @@ -2867,7 +2933,7 @@ class GitBase: else: log.info("Wrote new %s remote map to %s", self.role, remote_map) - def do_checkout(self, repo): + def do_checkout(self, repo, fetch_on_fail=True): """ Common code for git_pillar/winrepo to handle locking and checking out of a repo. @@ -2875,7 +2941,7 @@ class GitBase: time_start = time.time() while time.time() - time_start <= 5: try: - return repo.checkout() + return repo.checkout(fetch_on_fail=fetch_on_fail) except GitLockError as exc: if exc.errno == errno.EEXIST: time.sleep(0.1) @@ -3270,14 +3336,17 @@ class GitPillar(GitBase): role = "git_pillar" - def checkout(self): + def checkout(self, fetch_on_fail=True): """ Checkout the targeted branches/tags from the git_pillar remotes + + fetch_on_fail + If checkout fails perform a fetch then try to checkout again. """ self.pillar_dirs = OrderedDict() self.pillar_linked_dirs = [] for repo in self.remotes: - cachedir = self.do_checkout(repo) + cachedir = self.do_checkout(repo, fetch_on_fail=fetch_on_fail) if cachedir is not None: # Figure out which environment this remote should be assigned if repo.branch == "__env__" and hasattr(repo, "all_saltenvs"): @@ -3294,8 +3363,8 @@ class GitPillar(GitBase): env = "base" if tgt == repo.base else tgt if repo._mountpoint: if self.link_mountpoint(repo): - self.pillar_dirs[repo.linkdir] = env - self.pillar_linked_dirs.append(repo.linkdir) + self.pillar_dirs[repo.get_linkdir()] = env + self.pillar_linked_dirs.append(repo.get_linkdir()) else: self.pillar_dirs[cachedir] = env @@ -3304,17 +3373,19 @@ class GitPillar(GitBase): Ensure that the mountpoint is present in the correct location and points at the correct path """ - lcachelink = salt.utils.path.join(repo.linkdir, repo._mountpoint) - lcachedest = salt.utils.path.join(repo.cachedir, repo.root()).rstrip(os.sep) + lcachelink = salt.utils.path.join(repo.get_linkdir(), repo._mountpoint) + lcachedest = salt.utils.path.join(repo.get_cachedir(), repo.root()).rstrip( + os.sep + ) wipe_linkdir = False create_link = False try: with repo.gen_lock(lock_type="mountpoint", timeout=10): - walk_results = list(os.walk(repo.linkdir, followlinks=False)) + walk_results = list(os.walk(repo.get_linkdir(), followlinks=False)) if walk_results != repo.linkdir_walk: log.debug( "Results of walking %s differ from expected results", - repo.linkdir, + repo.get_linkdir(), ) log.debug("Walk results: %s", walk_results) log.debug("Expected results: %s", repo.linkdir_walk) @@ -3375,7 +3446,7 @@ class GitPillar(GitBase): # Wiping implies that we need to create the link create_link = True try: - shutil.rmtree(repo.linkdir) + shutil.rmtree(repo.get_linkdir()) except OSError: pass try: @@ -3434,12 +3505,15 @@ class WinRepo(GitBase): # out the repos. winrepo_dirs = {} - def checkout(self): + def checkout(self, fetch_on_fail=True): """ Checkout the targeted branches/tags from the winrepo remotes + + fetch_on_fail + If checkout fails perform a fetch then try to checkout again. """ self.winrepo_dirs = {} for repo in self.remotes: - cachedir = self.do_checkout(repo) + cachedir = self.do_checkout(repo, fetch_on_fail=fetch_on_fail) if cachedir is not None: self.winrepo_dirs[repo.id] = cachedir diff --git a/tests/pytests/functional/pillar/test_git_pillar.py b/tests/pytests/functional/pillar/test_git_pillar.py new file mode 100644 index 00000000000..23df72f9cd0 --- /dev/null +++ b/tests/pytests/functional/pillar/test_git_pillar.py @@ -0,0 +1,261 @@ +import pytest +from salt.pillar.git_pillar import ext_pillar +from salt.utils.immutabletypes import ImmutableDict, ImmutableList +from tests.support.mock import patch + +pytestmark = [ + pytest.mark.slow_test, +] + + +try: + import git # pylint: disable=unused-import + + HAS_GITPYTHON = True +except ImportError: + HAS_GITPYTHON = False + + +try: + import pygit2 # pylint: disable=unused-import + + HAS_PYGIT2 = True +except ImportError: + HAS_PYGIT2 = False + + +skipif_no_gitpython = pytest.mark.skipif(not HAS_GITPYTHON, reason="Missing gitpython") +skipif_no_pygit2 = pytest.mark.skipif(not HAS_PYGIT2, reason="Missing pygit2") + + +@pytest.fixture +def git_pillar_opts(salt_master, tmp_path): + opts = dict(salt_master.config) + opts["cachedir"] = str(tmp_path) + for key, item in opts.items(): + if isinstance(item, ImmutableDict): + opts[key] = dict(item) + elif isinstance(item, ImmutableList): + opts[key] = list(item) + return opts + + +@pytest.fixture +def gitpython_pillar_opts(git_pillar_opts): + git_pillar_opts["verified_git_pillar_provider"] = "gitpython" + return git_pillar_opts + + +@pytest.fixture +def pygit2_pillar_opts(git_pillar_opts): + git_pillar_opts["verified_git_pillar_provider"] = "pygit2" + return git_pillar_opts + + +def _get_ext_pillar(minion, pillar_opts, grains, *repos): + with patch("salt.pillar.git_pillar.__opts__", pillar_opts, create=True): + with patch("salt.pillar.git_pillar.__grains__", grains, create=True): + return ext_pillar(minion, None, *repos) + + +def _test_simple(pillar_opts, grains): + data = _get_ext_pillar( + "minion", + pillar_opts, + grains, + "https://github.com/saltstack/salt-test-pillar-gitfs.git", + ) + assert data == {"key": "value"} + + +@skipif_no_gitpython +def test_gitpython_simple(gitpython_pillar_opts, grains): + _test_simple(gitpython_pillar_opts, grains) + + +@skipif_no_pygit2 +def test_pygit2_simple(pygit2_pillar_opts, grains): + _test_simple(pygit2_pillar_opts, grains) + + +def _test_missing_env(pillar_opts, grains): + data = _get_ext_pillar( + "minion", + pillar_opts, + grains, + { + "https://github.com/saltstack/salt-test-pillar-gitfs.git": [ + {"env": "misssing"} + ] + }, + ) + assert data == {} + + +@skipif_no_gitpython +def test_gitpython_missing_env(gitpython_pillar_opts, grains): + _test_missing_env(gitpython_pillar_opts, grains) + + +@skipif_no_pygit2 +def test_pygit2_missing_env(pygit2_pillar_opts, grains): + _test_missing_env(pygit2_pillar_opts, grains) + + +def _test_env(pillar_opts, grains): + data = _get_ext_pillar( + "minion", + pillar_opts, + grains, + { + "other https://github.com/saltstack/salt-test-pillar-gitfs-2.git": [ + {"env": "other_env"} + ] + }, + ) + assert data == {"other": "env"} + + +@skipif_no_gitpython +def test_gitpython_env(gitpython_pillar_opts, grains): + _test_env(gitpython_pillar_opts, grains) + + +@skipif_no_pygit2 +def test_pygit2_env(pygit2_pillar_opts, grains): + _test_env(pygit2_pillar_opts, grains) + + +def _test_branch(pillar_opts, grains): + data = _get_ext_pillar( + "minion", + pillar_opts, + grains, + "branch https://github.com/saltstack/salt-test-pillar-gitfs.git", + ) + assert data == {"key": "data"} + + +@skipif_no_gitpython +def test_gitpython_branch(gitpython_pillar_opts, grains): + _test_branch(gitpython_pillar_opts, grains) + + +@skipif_no_pygit2 +def test_pygit2_branch(pygit2_pillar_opts, grains): + _test_branch(pygit2_pillar_opts, grains) + + +def _test_simple_dynamic(pillar_opts, grains): + data = _get_ext_pillar( + "minion", + pillar_opts, + grains, + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git", + ) + assert data == {"key": "value"} + + +@skipif_no_gitpython +def test_gitpython_simple_dynamic(gitpython_pillar_opts, grains): + _test_simple_dynamic(gitpython_pillar_opts, grains) + + +@skipif_no_pygit2 +def test_pygit2_simple_dynamic(pygit2_pillar_opts, grains): + _test_simple_dynamic(pygit2_pillar_opts, grains) + + +def _test_missing_env_dynamic(pillar_opts, grains): + data = _get_ext_pillar( + "minion", + pillar_opts, + grains, + { + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git": [ + {"env": "misssing"} + ] + }, + ) + assert data == {} + + +@skipif_no_gitpython +def test_gitpython_missing_env_dynamic(gitpython_pillar_opts, grains): + _test_missing_env_dynamic(gitpython_pillar_opts, grains) + + +@skipif_no_pygit2 +def test_pygit2_missing_env_dynamic(pygit2_pillar_opts, grains): + _test_missing_env_dynamic(pygit2_pillar_opts, grains) + + +def _test_pillarenv_dynamic(pillar_opts, grains): + pillar_opts["pillarenv"] = "branch" + data = _get_ext_pillar( + "minion", + pillar_opts, + grains, + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git", + ) + assert data == {"key": "data"} + + +@skipif_no_gitpython +def test_gitpython_pillarenv_dynamic(gitpython_pillar_opts, grains): + _test_pillarenv_dynamic(gitpython_pillar_opts, grains) + + +@skipif_no_pygit2 +def test_pygit2_pillarenv_dynamic(pygit2_pillar_opts, grains): + _test_pillarenv_dynamic(pygit2_pillar_opts, grains) + + +def _test_multiple(pillar_opts, grains): + pillar_opts["pillarenv"] = "branch" + data = _get_ext_pillar( + "minion", + pillar_opts, + grains, + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git", + "other https://github.com/saltstack/salt-test-pillar-gitfs-2.git", + ) + assert data == {"key": "data"} + + +@skipif_no_gitpython +def test_gitpython_multiple(gitpython_pillar_opts, grains): + _test_multiple(gitpython_pillar_opts, grains) + + +@skipif_no_pygit2 +def test_pygit2_multiple(pygit2_pillar_opts, grains): + _test_multiple(pygit2_pillar_opts, grains) + + +def _test_multiple_2(pillar_opts, grains): + data = _get_ext_pillar( + "minion", + pillar_opts, + grains, + "https://github.com/saltstack/salt-test-pillar-gitfs.git", + "https://github.com/saltstack/salt-test-pillar-gitfs-2.git", + ) + assert data == { + "key": "value", + "key1": "value1", + "key2": "value2", + "key4": "value4", + "data1": "d", + "data2": "d2", + } + + +@skipif_no_gitpython +def test_gitpython_multiple_2(gitpython_pillar_opts, grains): + _test_multiple_2(gitpython_pillar_opts, grains) + + +@skipif_no_pygit2 +def test_pygit2_multiple_2(pygit2_pillar_opts, grains): + _test_multiple_2(pygit2_pillar_opts, grains) diff --git a/tests/pytests/functional/utils/test_cache.py b/tests/pytests/functional/utils/test_cache.py new file mode 100644 index 00000000000..cfb94408048 --- /dev/null +++ b/tests/pytests/functional/utils/test_cache.py @@ -0,0 +1,82 @@ +import os + +import pytest +import salt.utils.cache +import salt.utils.files +import salt.utils.path +import salt.version + +_DUMMY_FILES = ( + "data.txt", + "foo.t2", + "bar.t3", + "nested/test", + "nested/cache.txt", + "n/n1/n2/n3/n4/n5", +) + + +def _make_dummy_files(tmp_path): + for full_path in _DUMMY_FILES: + full_path = salt.utils.path.join(tmp_path, full_path) + path, _ = os.path.split(full_path) + if not os.path.isdir(path): + os.makedirs(path) + with salt.utils.files.fopen(full_path, "w") as file: + file.write("data") + + +def _dummy_files_exists(tmp_path): + """ + True if all files exists + False if all files are missing + None if some files exists and others are missing + """ + ret = None + for full_path in _DUMMY_FILES: + full_path = salt.utils.path.join(tmp_path, full_path) + is_file = os.path.isfile(full_path) + if ret is None: + ret = is_file + elif ret is not is_file: + return None # Some files are found and others are missing + return ret + + +def test_verify_cache_version_bad_path(): + with pytest.raises(ValueError): + # cache version should fail if given bad file python + salt.utils.cache.verify_cache_version("\0/bad/path") + + +def test_verify_cache_version(tmp_path): + # cache version should make dir if it does not exist + tmp_path = str(salt.utils.path.join(str(tmp_path), "work", "salt")) + cache_version = salt.utils.path.join(tmp_path, "cache_version") + + # check that cache clears when no cache_version is present + _make_dummy_files(tmp_path) + assert salt.utils.cache.verify_cache_version(tmp_path) is False + assert _dummy_files_exists(tmp_path) is False + + # check that cache_version has correct salt version + with salt.utils.files.fopen(cache_version, "r") as file: + assert "\n".join(file.readlines()) == salt.version.__version__ + + # check that cache does not get clear when check is called multiple times + _make_dummy_files(tmp_path) + for _ in range(3): + assert salt.utils.cache.verify_cache_version(tmp_path) is True + assert _dummy_files_exists(tmp_path) is True + + # check that cache clears when a different version is present + with salt.utils.files.fopen(cache_version, "w") as file: + file.write("-1") + assert salt.utils.cache.verify_cache_version(tmp_path) is False + assert _dummy_files_exists(tmp_path) is False + + # check that cache does not get clear when check is called multiple times + _make_dummy_files(tmp_path) + for _ in range(3): + assert salt.utils.cache.verify_cache_version(tmp_path) is True + assert _dummy_files_exists(tmp_path) is True diff --git a/tests/pytests/functional/utils/test_gitfs.py b/tests/pytests/functional/utils/test_gitfs.py new file mode 100644 index 00000000000..ce8ff076d30 --- /dev/null +++ b/tests/pytests/functional/utils/test_gitfs.py @@ -0,0 +1,239 @@ +import os.path + +import pytest +from salt.fileserver.gitfs import PER_REMOTE_ONLY, PER_REMOTE_OVERRIDES +from salt.utils.gitfs import GitFS, GitPython, Pygit2 +from salt.utils.immutabletypes import ImmutableDict, ImmutableList + +pytestmark = [ + pytest.mark.slow_test, +] + + +try: + import git # pylint: disable=unused-import + + HAS_GITPYTHON = True +except ImportError: + HAS_GITPYTHON = False + + +try: + import pygit2 # pylint: disable=unused-import + + HAS_PYGIT2 = True +except ImportError: + HAS_PYGIT2 = False + + +skipif_no_gitpython = pytest.mark.skipif(not HAS_GITPYTHON, reason="Missing gitpython") +skipif_no_pygit2 = pytest.mark.skipif(not HAS_PYGIT2, reason="Missing pygit2") + + +@pytest.fixture +def gitfs_opts(salt_factories, tmp_path): + config_defaults = {"cachedir": str(tmp_path)} + factory = salt_factories.salt_master_daemon( + "gitfs-functional-master", defaults=config_defaults + ) + config_defaults = dict(factory.config) + for key, item in config_defaults.items(): + if isinstance(item, ImmutableDict): + config_defaults[key] = dict(item) + elif isinstance(item, ImmutableList): + config_defaults[key] = list(item) + return config_defaults + + +@pytest.fixture +def gitpython_gitfs_opts(gitfs_opts): + gitfs_opts["verified_gitfs_provider"] = "gitpython" + GitFS.instance_map.clear() # wipe instance_map object map for clean run + return gitfs_opts + + +@pytest.fixture +def pygit2_gitfs_opts(gitfs_opts): + gitfs_opts["verified_gitfs_provider"] = "pygit2" + GitFS.instance_map.clear() # wipe instance_map object map for clean run + return gitfs_opts + + +def _get_gitfs(opts, *remotes): + return GitFS( + opts, + remotes, + per_remote_overrides=PER_REMOTE_OVERRIDES, + per_remote_only=PER_REMOTE_ONLY, + ) + + +def _test_gitfs_simple(gitfs_opts): + g = _get_gitfs( + gitfs_opts, + {"https://github.com/saltstack/salt-test-pillar-gitfs.git": [{"name": "bob"}]}, + ) + g.fetch_remotes() + assert len(g.remotes) == 1 + assert set(g.file_list({"saltenv": "main"})) == {".gitignore", "README.md"} + + +@skipif_no_gitpython +def test_gitpython_gitfs_simple(gitpython_gitfs_opts): + _test_gitfs_simple(gitpython_gitfs_opts) + + +@skipif_no_pygit2 +def test_pygit2_gitfs_simple(pygit2_gitfs_opts): + _test_gitfs_simple(pygit2_gitfs_opts) + + +def _test_gitfs_simple_base(gitfs_opts): + g = _get_gitfs( + gitfs_opts, "https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + g.fetch_remotes() + assert len(g.remotes) == 1 + assert set(g.file_list({"saltenv": "base"})) == { + ".gitignore", + "README.md", + "file.sls", + "top.sls", + } + + +@skipif_no_gitpython +def test_gitpython_gitfs_simple_base(gitpython_gitfs_opts): + _test_gitfs_simple_base(gitpython_gitfs_opts) + + +@skipif_no_pygit2 +def test_pygit2_gitfs_simple_base(pygit2_gitfs_opts): + _test_gitfs_simple_base(pygit2_gitfs_opts) + + +@skipif_no_gitpython +def test_gitpython_gitfs_provider(gitpython_gitfs_opts): + g = _get_gitfs( + gitpython_gitfs_opts, "https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + assert len(g.remotes) == 1 + assert g.provider == "gitpython" + assert isinstance(g.remotes[0], GitPython) + + +@skipif_no_pygit2 +def test_pygit2_gitfs_provider(pygit2_gitfs_opts): + g = _get_gitfs( + pygit2_gitfs_opts, "https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + assert len(g.remotes) == 1 + assert g.provider == "pygit2" + assert isinstance(g.remotes[0], Pygit2) + + +def _test_gitfs_minion(gitfs_opts): + gitfs_opts["__role"] = "minion" + g = _get_gitfs( + gitfs_opts, "https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + g.fetch_remotes() + assert len(g.remotes) == 1 + assert set(g.file_list({"saltenv": "base"})) == { + ".gitignore", + "README.md", + "file.sls", + "top.sls", + } + assert set(g.file_list({"saltenv": "main"})) == {".gitignore", "README.md"} + + +@skipif_no_gitpython +def test_gitpython_gitfs_minion(gitpython_gitfs_opts): + _test_gitfs_minion(gitpython_gitfs_opts) + + +@skipif_no_pygit2 +def test_pygit2_gitfs_minion(pygit2_gitfs_opts): + _test_gitfs_minion(pygit2_gitfs_opts) + + +def _test_fetch_request_with_mountpoint(opts): + mpoint = [{"mountpoint": "salt/m"}] + p = _get_gitfs( + opts, + {"https://github.com/saltstack/salt-test-pillar-gitfs.git": mpoint}, + ) + p.fetch_remotes() + assert len(p.remotes) == 1 + repo = p.remotes[0] + assert repo.mountpoint("testmount") == "salt/m" + assert set(p.file_list({"saltenv": "testmount"})) == { + "salt/m/test_dir1/testfile3", + "salt/m/test_dir1/test_dir2/testfile2", + "salt/m/.gitignore", + "salt/m/README.md", + "salt/m/test_dir1/test_dir2/testfile1", + } + + +@skipif_no_gitpython +def test_gitpython_fetch_request_with_mountpoint(gitpython_gitfs_opts): + _test_fetch_request_with_mountpoint(gitpython_gitfs_opts) + + +@skipif_no_pygit2 +def test_pygit2_fetch_request_with_mountpoint(pygit2_gitfs_opts): + _test_fetch_request_with_mountpoint(pygit2_gitfs_opts) + + +def _test_name(opts): + p = _get_gitfs( + opts, + { + "https://github.com/saltstack/salt-test-pillar-gitfs.git": [ + {"name": "name1"} + ] + }, + { + "https://github.com/saltstack/salt-test-pillar-gitfs.git": [ + {"name": "name2"} + ] + }, + ) + p.fetch_remotes() + assert len(p.remotes) == 2 + repo = p.remotes[0] + repo2 = p.remotes[1] + assert repo.get_cache_basehash() == "name1" + assert repo2.get_cache_basehash() == "name2" + + +@skipif_no_gitpython +def test_gitpython_name(gitpython_gitfs_opts): + _test_name(gitpython_gitfs_opts) + + +@skipif_no_pygit2 +def test_pygit2_name(pygit2_gitfs_opts): + _test_name(pygit2_gitfs_opts) + + +def _test_remote_map(opts): + p = _get_gitfs( + opts, + "https://github.com/saltstack/salt-test-pillar-gitfs.git", + ) + p.fetch_remotes() + assert len(p.remotes) == 1 + assert os.path.isfile(os.path.join(opts["cachedir"], "gitfs", "remote_map.txt")) + + +@skipif_no_gitpython +def test_gitpython_remote_map(gitpython_gitfs_opts): + _test_remote_map(gitpython_gitfs_opts) + + +@skipif_no_pygit2 +def test_pygit2_remote_map(pygit2_gitfs_opts): + _test_remote_map(pygit2_gitfs_opts) diff --git a/tests/pytests/functional/utils/test_pillar.py b/tests/pytests/functional/utils/test_pillar.py new file mode 100644 index 00000000000..840be9d78ad --- /dev/null +++ b/tests/pytests/functional/utils/test_pillar.py @@ -0,0 +1,329 @@ +import os + +import pytest +from salt.pillar.git_pillar import GLOBAL_ONLY, PER_REMOTE_ONLY, PER_REMOTE_OVERRIDES +from salt.utils.gitfs import GitPillar, GitPython, Pygit2 +from salt.utils.immutabletypes import ImmutableDict, ImmutableList + +pytestmark = [ + pytest.mark.slow_test, +] + + +try: + import git # pylint: disable=unused-import + + HAS_GITPYTHON = True +except ImportError: + HAS_GITPYTHON = False + + +try: + import pygit2 # pylint: disable=unused-import + + HAS_PYGIT2 = True +except ImportError: + HAS_PYGIT2 = False + + +skipif_no_gitpython = pytest.mark.skipif(not HAS_GITPYTHON, reason="Missing gitpython") +skipif_no_pygit2 = pytest.mark.skipif(not HAS_PYGIT2, reason="Missing pygit2") + + +@pytest.fixture +def pillar_opts(salt_factories, tmp_path): + config_defaults = {"cachedir": str(tmp_path)} + factory = salt_factories.salt_master_daemon( + "pillar-functional-master", defaults=config_defaults + ) + config_defaults = dict(factory.config) + for key, item in config_defaults.items(): + if isinstance(item, ImmutableDict): + config_defaults[key] = dict(item) + elif isinstance(item, ImmutableList): + config_defaults[key] = list(item) + return config_defaults + + +@pytest.fixture +def gitpython_pillar_opts(pillar_opts): + pillar_opts["verified_git_pillar_provider"] = "gitpython" + return pillar_opts + + +@pytest.fixture +def pygit2_pillar_opts(pillar_opts): + pillar_opts["verified_git_pillar_provider"] = "pygit2" + return pillar_opts + + +def _get_pillar(opts, *remotes): + return GitPillar( + opts, + remotes, + per_remote_overrides=PER_REMOTE_OVERRIDES, + per_remote_only=PER_REMOTE_ONLY, + global_only=GLOBAL_ONLY, + ) + + +@skipif_no_gitpython +def test_gitpython_pillar_provider(gitpython_pillar_opts): + p = _get_pillar( + gitpython_pillar_opts, "https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + assert len(p.remotes) == 1 + assert p.provider == "gitpython" + assert isinstance(p.remotes[0], GitPython) + + +@skipif_no_pygit2 +def test_pygit2_pillar_provider(pygit2_pillar_opts): + p = _get_pillar( + pygit2_pillar_opts, "https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + assert len(p.remotes) == 1 + assert p.provider == "pygit2" + assert isinstance(p.remotes[0], Pygit2) + + +def _test_env(opts): + p = _get_pillar( + opts, "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + assert len(p.remotes) == 1 + p.checkout() + repo = p.remotes[0] + # test that two different pillarenvs can exist at the same time + files = set(os.listdir(repo.get_cachedir())) + for f in (".gitignore", "README.md", "file.sls", "top.sls"): + assert f in files + opts["pillarenv"] = "main" + p2 = _get_pillar( + opts, "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + assert len(p.remotes) == 1 + p2.checkout() + repo2 = p2.remotes[0] + files = set(os.listdir(repo2.get_cachedir())) + for f in (".gitignore", "README.md"): + assert f in files + for f in ("file.sls", "top.sls", "back.sls", "rooms.sls"): + assert f not in files + assert repo.get_cachedir() != repo2.get_cachedir() + files = set(os.listdir(repo.get_cachedir())) + for f in (".gitignore", "README.md", "file.sls", "top.sls"): + assert f in files + + # double check cache paths + assert ( + repo.get_cache_hash() == repo2.get_cache_hash() + ) # __env__ repos share same hash + assert repo.get_cache_basename() != repo2.get_cache_basename() + assert repo.get_linkdir() != repo2.get_linkdir() + assert repo.get_salt_working_dir() != repo2.get_salt_working_dir() + assert repo.get_cache_basename() == "master" + assert repo2.get_cache_basename() == "main" + + assert repo.get_cache_basename() in repo.get_cachedir() + assert ( + os.path.join(repo.get_cache_basehash(), repo.get_cache_basename()) + == repo.get_cache_full_basename() + ) + assert repo.get_linkdir() not in repo.get_cachedir() + assert repo.get_salt_working_dir() not in repo.get_cachedir() + + +@skipif_no_gitpython +def test_gitpython_env(gitpython_pillar_opts): + _test_env(gitpython_pillar_opts) + + +@skipif_no_pygit2 +def test_pygit2_env(pygit2_pillar_opts): + _test_env(pygit2_pillar_opts) + + +def _test_checkout_fetch_on_fail(opts): + p = _get_pillar(opts, "https://github.com/saltstack/salt-test-pillar-gitfs.git") + p.checkout(fetch_on_fail=False) # TODO write me + + +@skipif_no_gitpython +def test_gitpython_checkout_fetch_on_fail(gitpython_pillar_opts): + _test_checkout_fetch_on_fail(gitpython_pillar_opts) + + +@skipif_no_pygit2 +def test_pygit2_checkout_fetch_on_fail(pygit2_pillar_opts): + _test_checkout_fetch_on_fail(pygit2_pillar_opts) + + +def _test_multiple_repos(opts): + p = _get_pillar( + opts, + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git", + "main https://github.com/saltstack/salt-test-pillar-gitfs.git", + "branch https://github.com/saltstack/salt-test-pillar-gitfs.git", + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs-2.git", + "other https://github.com/saltstack/salt-test-pillar-gitfs-2.git", + ) + p.checkout() + assert len(p.remotes) == 5 + # make sure all repos dont share cache and working dir + assert len({r.get_cachedir() for r in p.remotes}) == 5 + assert len({r.get_salt_working_dir() for r in p.remotes}) == 5 + + p2 = _get_pillar( + opts, + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git", + "main https://github.com/saltstack/salt-test-pillar-gitfs.git", + "branch https://github.com/saltstack/salt-test-pillar-gitfs.git", + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs-2.git", + "other https://github.com/saltstack/salt-test-pillar-gitfs-2.git", + ) + p2.checkout() + assert len(p2.remotes) == 5 + # make sure that repos are given same cache dir + for repo, repo2 in zip(p.remotes, p2.remotes): + assert repo.get_cachedir() == repo2.get_cachedir() + assert repo.get_salt_working_dir() == repo2.get_salt_working_dir() + opts["pillarenv"] = "main" + p3 = _get_pillar( + opts, + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git", + "main https://github.com/saltstack/salt-test-pillar-gitfs.git", + "branch https://github.com/saltstack/salt-test-pillar-gitfs.git", + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs-2.git", + "other https://github.com/saltstack/salt-test-pillar-gitfs-2.git", + ) + p3.checkout() + # check that __env__ has different cache with different pillarenv + assert p.remotes[0].get_cachedir() != p3.remotes[0].get_cachedir() + assert p.remotes[1].get_cachedir() == p3.remotes[1].get_cachedir() + assert p.remotes[2].get_cachedir() == p3.remotes[2].get_cachedir() + assert p.remotes[3].get_cachedir() != p3.remotes[3].get_cachedir() + assert p.remotes[4].get_cachedir() == p3.remotes[4].get_cachedir() + + # check that other branch data is in cache + files = set(os.listdir(p.remotes[4].get_cachedir())) + for f in (".gitignore", "README.md", "file.sls", "top.sls", "other_env.sls"): + assert f in files + + +@skipif_no_gitpython +def test_gitpython_multiple_repos(gitpython_pillar_opts): + _test_multiple_repos(gitpython_pillar_opts) + + +@skipif_no_pygit2 +def test_pygit2_multiple_repos(pygit2_pillar_opts): + _test_multiple_repos(pygit2_pillar_opts) + + +def _test_fetch_request(opts): + p = _get_pillar( + opts, + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git", + "other https://github.com/saltstack/salt-test-pillar-gitfs-2.git", + ) + frequest = os.path.join(p.remotes[0].get_salt_working_dir(), "fetch_request") + frequest_other = os.path.join(p.remotes[1].get_salt_working_dir(), "fetch_request") + opts["pillarenv"] = "main" + p2 = _get_pillar( + opts, "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + frequest2 = os.path.join(p2.remotes[0].get_salt_working_dir(), "fetch_request") + assert frequest != frequest2 + assert os.path.isfile(frequest) is False + assert os.path.isfile(frequest2) is False + assert os.path.isfile(frequest_other) is False + p.fetch_remotes() + assert os.path.isfile(frequest) is False + # fetch request was placed + assert os.path.isfile(frequest2) is True + p2.checkout() + # fetch request was found + assert os.path.isfile(frequest2) is False + p2.fetch_remotes() + assert os.path.isfile(frequest) is True + assert os.path.isfile(frequest2) is False + assert os.path.isfile(frequest_other) is False + for _ in range(3): + p2.fetch_remotes() + assert os.path.isfile(frequest) is True + assert os.path.isfile(frequest2) is False + assert os.path.isfile(frequest_other) is False + # fetch request should still be processed even on fetch_on_fail=False + p.checkout(fetch_on_fail=False) + assert os.path.isfile(frequest) is False + assert os.path.isfile(frequest2) is False + assert os.path.isfile(frequest_other) is False + + +@skipif_no_gitpython +def test_gitpython_fetch_request(gitpython_pillar_opts): + _test_fetch_request(gitpython_pillar_opts) + + +@skipif_no_pygit2 +def test_pygit2_fetch_request(pygit2_pillar_opts): + _test_fetch_request(pygit2_pillar_opts) + + +def _test_clear_old_remotes(opts): + p = _get_pillar( + opts, + "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git", + "other https://github.com/saltstack/salt-test-pillar-gitfs-2.git", + ) + repo = p.remotes[0] + repo2 = p.remotes[1] + opts["pillarenv"] = "main" + p2 = _get_pillar( + opts, "__env__ https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + repo3 = p2.remotes[0] + assert os.path.isdir(repo.get_cachedir()) is True + assert os.path.isdir(repo2.get_cachedir()) is True + assert os.path.isdir(repo3.get_cachedir()) is True + p.clear_old_remotes() + assert os.path.isdir(repo.get_cachedir()) is True + assert os.path.isdir(repo2.get_cachedir()) is True + assert os.path.isdir(repo3.get_cachedir()) is True + p2.clear_old_remotes() + assert os.path.isdir(repo.get_cachedir()) is True + assert os.path.isdir(repo2.get_cachedir()) is False + assert os.path.isdir(repo3.get_cachedir()) is True + + +@skipif_no_gitpython +def test_gitpython_clear_old_remotes(gitpython_pillar_opts): + _test_clear_old_remotes(gitpython_pillar_opts) + + +@skipif_no_pygit2 +def test_pygit2_clear_old_remotes(pygit2_pillar_opts): + _test_clear_old_remotes(pygit2_pillar_opts) + + +def _test_remote_map(opts): + p = _get_pillar( + opts, + "https://github.com/saltstack/salt-test-pillar-gitfs.git", + ) + p.fetch_remotes() + assert len(p.remotes) == 1 + assert os.path.isfile( + os.path.join(opts["cachedir"], "git_pillar", "remote_map.txt") + ) + + +@skipif_no_gitpython +def test_gitpython_remote_map(gitpython_pillar_opts): + _test_remote_map(gitpython_pillar_opts) + + +@skipif_no_pygit2 +def test_pygit2_remote_map(pygit2_pillar_opts): + _test_remote_map(pygit2_pillar_opts) diff --git a/tests/pytests/functional/utils/test_winrepo.py b/tests/pytests/functional/utils/test_winrepo.py new file mode 100644 index 00000000000..5071ef37574 --- /dev/null +++ b/tests/pytests/functional/utils/test_winrepo.py @@ -0,0 +1,128 @@ +import os + +import pytest +from salt.runners.winrepo import GLOBAL_ONLY, PER_REMOTE_ONLY, PER_REMOTE_OVERRIDES +from salt.utils.gitfs import GitPython, Pygit2, WinRepo +from salt.utils.immutabletypes import ImmutableDict, ImmutableList + +pytestmark = [ + pytest.mark.slow_test, +] + + +try: + import git # pylint: disable=unused-import + + HAS_GITPYTHON = True +except ImportError: + HAS_GITPYTHON = False + + +try: + import pygit2 # pylint: disable=unused-import + + HAS_PYGIT2 = True +except ImportError: + HAS_PYGIT2 = False + + +skipif_no_gitpython = pytest.mark.skipif(not HAS_GITPYTHON, reason="Missing gitpython") +skipif_no_pygit2 = pytest.mark.skipif(not HAS_PYGIT2, reason="Missing pygit2") + + +@pytest.fixture +def winrepo_opts(salt_factories, tmp_path): + config_defaults = {"cachedir": str(tmp_path)} + factory = salt_factories.salt_master_daemon( + "winrepo-functional-master", defaults=config_defaults + ) + config_defaults = dict(factory.config) + for key, item in config_defaults.items(): + if isinstance(item, ImmutableDict): + config_defaults[key] = dict(item) + elif isinstance(item, ImmutableList): + config_defaults[key] = list(item) + return config_defaults + + +@pytest.fixture +def gitpython_winrepo_opts(winrepo_opts): + winrepo_opts["verified_winrepo_provider"] = "gitpython" + return winrepo_opts + + +@pytest.fixture +def pygit2_winrepo_opts(winrepo_opts): + winrepo_opts["verified_winrepo_provider"] = "pygit2" + return winrepo_opts + + +def _get_winrepo(opts, *remotes): + return WinRepo( + opts, + remotes, + per_remote_overrides=PER_REMOTE_OVERRIDES, + per_remote_only=PER_REMOTE_ONLY, + global_only=GLOBAL_ONLY, + ) + + +@skipif_no_gitpython +def test_gitpython_winrepo_provider(gitpython_winrepo_opts): + w = _get_winrepo( + gitpython_winrepo_opts, + "https://github.com/saltstack/salt-test-pillar-gitfs.git", + ) + assert len(w.remotes) == 1 + assert w.provider == "gitpython" + assert isinstance(w.remotes[0], GitPython) + + +@skipif_no_pygit2 +def test_pygit2_winrepo_provider(pygit2_winrepo_opts): + w = _get_winrepo( + pygit2_winrepo_opts, "https://github.com/saltstack/salt-test-pillar-gitfs.git" + ) + assert len(w.remotes) == 1 + assert w.provider == "pygit2" + assert isinstance(w.remotes[0], Pygit2) + + +def _test_winrepo_simple(opts): + w = _get_winrepo(opts, "https://github.com/saltstack/salt-test-pillar-gitfs.git") + assert len(w.remotes) == 1 + w.checkout() + repo = w.remotes[0] + files = set(os.listdir(repo.get_cachedir())) + for f in (".gitignore", "README.md", "file.sls", "top.sls"): + assert f in files + + +@skipif_no_gitpython +def test_gitpython_winrepo_simple(gitpython_winrepo_opts): + _test_winrepo_simple(gitpython_winrepo_opts) + + +@skipif_no_pygit2 +def test_pygit2_winrepo_simple(pygit2_winrepo_opts): + _test_winrepo_simple(pygit2_winrepo_opts) + + +def _test_remote_map(opts): + p = _get_winrepo( + opts, + "https://github.com/saltstack/salt-test-pillar-gitfs.git", + ) + p.fetch_remotes() + assert len(p.remotes) == 1 + assert os.path.isfile(os.path.join(opts["cachedir"], "winrepo", "remote_map.txt")) + + +@skipif_no_gitpython +def test_gitpython_remote_map(gitpython_winrepo_opts): + _test_remote_map(gitpython_winrepo_opts) + + +@skipif_no_pygit2 +def test_pygit2_remote_map(pygit2_winrepo_opts): + _test_remote_map(pygit2_winrepo_opts) diff --git a/tests/pytests/unit/test_minion.py b/tests/pytests/unit/test_minion.py index 9bb22a0aa5d..984cb6ece86 100644 --- a/tests/pytests/unit/test_minion.py +++ b/tests/pytests/unit/test_minion.py @@ -20,35 +20,33 @@ from tests.support.mock import MagicMock, patch log = logging.getLogger(__name__) -def test_minion_load_grains_false(): +def test_minion_load_grains_false(minion_opts): """ Minion does not generate grains when load_grains is False """ - opts = {"random_startup_delay": 0, "grains": {"foo": "bar"}} + minion_opts["grains"] = {"foo": "bar"} with patch("salt.loader.grains") as grainsfunc: - minion = salt.minion.Minion(opts, load_grains=False) - assert minion.opts["grains"] == opts["grains"] + minion = salt.minion.Minion(minion_opts, load_grains=False) + assert minion.opts["grains"] == minion_opts["grains"] grainsfunc.assert_not_called() -def test_minion_load_grains_true(): +def test_minion_load_grains_true(minion_opts): """ Minion generates grains when load_grains is True """ - opts = {"random_startup_delay": 0, "grains": {}} with patch("salt.loader.grains") as grainsfunc: - minion = salt.minion.Minion(opts, load_grains=True) + minion = salt.minion.Minion(minion_opts, load_grains=True) assert minion.opts["grains"] != {} grainsfunc.assert_called() -def test_minion_load_grains_default(): +def test_minion_load_grains_default(minion_opts): """ Minion load_grains defaults to True """ - opts = {"random_startup_delay": 0, "grains": {}} with patch("salt.loader.grains") as grainsfunc: - minion = salt.minion.Minion(opts) + minion = salt.minion.Minion(minion_opts) assert minion.opts["grains"] != {} grainsfunc.assert_called() @@ -68,19 +66,18 @@ def test_minion_load_grains_default(): ), ], ) -def test_send_req_fires_completion_event(event): +def test_send_req_fires_completion_event(event, minion_opts): event_enter = MagicMock() event_enter.send.side_effect = event[1] event = MagicMock() event.__enter__.return_value = event_enter with patch("salt.utils.event.get_event", return_value=event): - opts = salt.config.DEFAULT_MINION_OPTS.copy() - opts["random_startup_delay"] = 0 - opts["return_retry_tries"] = 30 - opts["grains"] = {} + minion_opts["random_startup_delay"] = 0 + minion_opts["return_retry_tries"] = 30 + minion_opts["grains"] = {} with patch("salt.loader.grains"): - minion = salt.minion.Minion(opts) + minion = salt.minion.Minion(minion_opts) load = {"load": "value"} timeout = 60 @@ -98,7 +95,8 @@ def test_send_req_fires_completion_event(event): if "fire_event" in call[0]: condition_event_tag = ( len(call.args) > 1 - and call.args[1] == "__master_req_channel_payload" + and call.args[1] + == f"__master_req_channel_payload/{minion_opts['master']}" ) condition_event_tag_error = "{} != {}; Call(number={}): {}".format( idx, call, call.args[1], "__master_req_channel_payload" @@ -118,7 +116,7 @@ def test_send_req_fires_completion_event(event): assert rtn -async def test_send_req_async_regression_62453(): +async def test_send_req_async_regression_62453(minion_opts): event_enter = MagicMock() event_enter.send.side_effect = ( lambda data, tag, cb=None, timeout=60: salt.ext.tornado.gen.maybe_future(True) @@ -126,12 +124,11 @@ async def test_send_req_async_regression_62453(): event = MagicMock() event.__enter__.return_value = event_enter - opts = salt.config.DEFAULT_MINION_OPTS.copy() - opts["random_startup_delay"] = 0 - opts["return_retry_tries"] = 30 - opts["grains"] = {} + minion_opts["random_startup_delay"] = 0 + minion_opts["return_retry_tries"] = 30 + minion_opts["grains"] = {} with patch("salt.loader.grains"): - minion = salt.minion.Minion(opts) + minion = salt.minion.Minion(minion_opts) load = {"load": "value"} timeout = 60 @@ -141,22 +138,17 @@ async def test_send_req_async_regression_62453(): assert rtn is False -@patch("salt.channel.client.ReqChannel.factory") -def test_mine_send_tries(req_channel_factory): +def test_mine_send_tries(minion_opts): channel_enter = MagicMock() channel_enter.send.side_effect = lambda load, timeout, tries: tries channel = MagicMock() channel.__enter__.return_value = channel_enter - req_channel_factory.return_value = channel - opts = { - "random_startup_delay": 0, - "grains": {}, - "return_retry_tries": 20, - "minion_sign_messages": False, - } - with patch("salt.loader.grains"): - minion = salt.minion.Minion(opts) + minion_opts["return_retry_tries"] = 20 + with patch("salt.channel.client.ReqChannel.factory", return_value=channel), patch( + "salt.loader.grains" + ): + minion = salt.minion.Minion(minion_opts) minion.tok = "token" data = {} @@ -166,21 +158,20 @@ def test_mine_send_tries(req_channel_factory): assert rtn == 20 -def test_invalid_master_address(): - opts = salt.config.DEFAULT_MINION_OPTS.copy() - with patch.dict( - opts, +def test_invalid_master_address(minion_opts): + minion_opts.update( { "ipv6": False, "master": float("127.0"), "master_port": "4555", "retry_dns": False, - }, - ): - pytest.raises(SaltSystemExit, salt.minion.resolve_dns, opts) + } + ) + with pytest.raises(SaltSystemExit): + salt.minion.resolve_dns(minion_opts) -def test_source_int_name_local(): +def test_source_int_name_local(minion_opts): """ test when file_client local and source_interface_name is set @@ -199,9 +190,7 @@ def test_source_int_name_local(): ], } } - opts = salt.config.DEFAULT_MINION_OPTS.copy() - with patch.dict( - opts, + minion_opts.update( { "ipv6": False, "master": "127.0.0.1", @@ -211,8 +200,9 @@ def test_source_int_name_local(): "source_ret_port": 49017, "source_publish_port": 49018, }, - ), patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): - assert salt.minion.resolve_dns(opts) == { + ) + with patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): + assert salt.minion.resolve_dns(minion_opts) == { "master_ip": "127.0.0.1", "source_ip": "111.1.0.1", "source_ret_port": 49017, @@ -222,7 +212,7 @@ def test_source_int_name_local(): @pytest.mark.slow_test -def test_source_int_name_remote(): +def test_source_int_name_remote(minion_opts): """ test when file_client remote and source_interface_name is set and @@ -242,9 +232,7 @@ def test_source_int_name_remote(): ], } } - opts = salt.config.DEFAULT_MINION_OPTS.copy() - with patch.dict( - opts, + minion_opts.update( { "ipv6": False, "master": "127.0.0.1", @@ -254,8 +242,9 @@ def test_source_int_name_remote(): "source_ret_port": 49017, "source_publish_port": 49018, }, - ), patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): - assert salt.minion.resolve_dns(opts) == { + ) + with patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): + assert salt.minion.resolve_dns(minion_opts) == { "master_ip": "127.0.0.1", "source_ret_port": 49017, "source_publish_port": 49018, @@ -264,7 +253,7 @@ def test_source_int_name_remote(): @pytest.mark.slow_test -def test_source_address(): +def test_source_address(minion_opts): """ test when source_address is set """ @@ -282,9 +271,7 @@ def test_source_address(): ], } } - opts = salt.config.DEFAULT_MINION_OPTS.copy() - with patch.dict( - opts, + minion_opts.update( { "ipv6": False, "master": "127.0.0.1", @@ -295,8 +282,9 @@ def test_source_address(): "source_ret_port": 49017, "source_publish_port": 49018, }, - ), patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): - assert salt.minion.resolve_dns(opts) == { + ) + with patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): + assert salt.minion.resolve_dns(minion_opts) == { "source_publish_port": 49018, "source_ret_port": 49017, "master_uri": "tcp://127.0.0.1:4555", @@ -307,7 +295,7 @@ def test_source_address(): # Tests for _handle_decoded_payload in the salt.minion.Minion() class: 3 @pytest.mark.slow_test -def test_handle_decoded_payload_jid_match_in_jid_queue(): +def test_handle_decoded_payload_jid_match_in_jid_queue(minion_opts): """ Tests that the _handle_decoded_payload function returns when a jid is given that is already present in the jid_queue. @@ -317,11 +305,10 @@ def test_handle_decoded_payload_jid_match_in_jid_queue(): return None BEFORE any of the processes are spun up because we should be avoiding firing duplicate jobs. """ - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() mock_data = {"fun": "foo.bar", "jid": 123} mock_jid_queue = [123] minion = salt.minion.Minion( - mock_opts, + minion_opts, jid_queue=copy.copy(mock_jid_queue), io_loop=salt.ext.tornado.ioloop.IOLoop(), ) @@ -334,7 +321,7 @@ def test_handle_decoded_payload_jid_match_in_jid_queue(): @pytest.mark.slow_test -def test_handle_decoded_payload_jid_queue_addition(): +def test_handle_decoded_payload_jid_queue_addition(minion_opts): """ Tests that the _handle_decoded_payload function adds a jid to the minion's jid_queue when the new jid isn't already present in the jid_queue. @@ -347,11 +334,10 @@ def test_handle_decoded_payload_jid_queue_addition(): MagicMock(return_value=True), ): mock_jid = 11111 - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() mock_data = {"fun": "foo.bar", "jid": mock_jid} mock_jid_queue = [123, 456] minion = salt.minion.Minion( - mock_opts, + minion_opts, jid_queue=copy.copy(mock_jid_queue), io_loop=salt.ext.tornado.ioloop.IOLoop(), ) @@ -372,7 +358,7 @@ def test_handle_decoded_payload_jid_queue_addition(): @pytest.mark.slow_test -def test_handle_decoded_payload_jid_queue_reduced_minion_jid_queue_hwm(): +def test_handle_decoded_payload_jid_queue_reduced_minion_jid_queue_hwm(minion_opts): """ Tests that the _handle_decoded_payload function removes a jid from the minion's jid_queue when the minion's jid_queue high water mark (minion_jid_queue_hwm) is hit. @@ -384,12 +370,11 @@ def test_handle_decoded_payload_jid_queue_reduced_minion_jid_queue_hwm(): "salt.utils.process.SignalHandlingProcess.join", MagicMock(return_value=True), ): - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["minion_jid_queue_hwm"] = 2 + minion_opts["minion_jid_queue_hwm"] = 2 mock_data = {"fun": "foo.bar", "jid": 789} mock_jid_queue = [123, 456] minion = salt.minion.Minion( - mock_opts, + minion_opts, jid_queue=copy.copy(mock_jid_queue), io_loop=salt.ext.tornado.ioloop.IOLoop(), ) @@ -409,7 +394,7 @@ def test_handle_decoded_payload_jid_queue_reduced_minion_jid_queue_hwm(): @pytest.mark.slow_test -def test_process_count_max(): +def test_process_count_max(minion_opts): """ Tests that the _handle_decoded_payload function does not spawn more than the configured amount of processes, as per process_count_max. @@ -427,13 +412,12 @@ def test_process_count_max(): MagicMock(return_value=salt.ext.tornado.concurrent.Future()), ): process_count_max = 10 - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["__role"] = "minion" - mock_opts["minion_jid_queue_hwm"] = 100 - mock_opts["process_count_max"] = process_count_max + minion_opts["__role"] = "minion" + minion_opts["minion_jid_queue_hwm"] = 100 + minion_opts["process_count_max"] = process_count_max io_loop = salt.ext.tornado.ioloop.IOLoop() - minion = salt.minion.Minion(mock_opts, jid_queue=[], io_loop=io_loop) + minion = salt.minion.Minion(minion_opts, jid_queue=[], io_loop=io_loop) try: # mock gen.sleep to throw a special Exception when called, so that we detect it @@ -475,7 +459,7 @@ def test_process_count_max(): @pytest.mark.slow_test -def test_beacons_before_connect(): +def test_beacons_before_connect(minion_opts): """ Tests that the 'beacons_before_connect' option causes the beacons to be initialized before connect. """ @@ -489,11 +473,10 @@ def test_beacons_before_connect(): "salt.utils.process.SignalHandlingProcess.join", MagicMock(return_value=True), ): - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["beacons_before_connect"] = True + minion_opts["beacons_before_connect"] = True io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(mock_opts, io_loop=io_loop) + minion = salt.minion.Minion(minion_opts, io_loop=io_loop) try: try: @@ -509,7 +492,7 @@ def test_beacons_before_connect(): @pytest.mark.slow_test -def test_scheduler_before_connect(): +def test_scheduler_before_connect(minion_opts): """ Tests that the 'scheduler_before_connect' option causes the scheduler to be initialized before connect. """ @@ -523,11 +506,10 @@ def test_scheduler_before_connect(): "salt.utils.process.SignalHandlingProcess.join", MagicMock(return_value=True), ): - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["scheduler_before_connect"] = True + minion_opts["scheduler_before_connect"] = True io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(mock_opts, io_loop=io_loop) + minion = salt.minion.Minion(minion_opts, io_loop=io_loop) try: try: minion.tune_in(start=True) @@ -541,7 +523,7 @@ def test_scheduler_before_connect(): minion.destroy() -def test_minion_module_refresh(tmp_path): +def test_minion_module_refresh(minion_opts): """ Tests that the 'module_refresh' just return in case there is no 'schedule' because destroy method was already called. @@ -554,13 +536,13 @@ def test_minion_module_refresh(tmp_path): MagicMock(return_value=True), ): try: - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["cachedir"] = str(tmp_path) minion = salt.minion.Minion( - mock_opts, + minion_opts, io_loop=salt.ext.tornado.ioloop.IOLoop(), ) - minion.schedule = salt.utils.schedule.Schedule(mock_opts, {}, returners={}) + minion.schedule = salt.utils.schedule.Schedule( + minion_opts, {}, returners={} + ) assert hasattr(minion, "schedule") minion.destroy() assert not hasattr(minion, "schedule") @@ -569,7 +551,7 @@ def test_minion_module_refresh(tmp_path): minion.destroy() -def test_minion_module_refresh_beacons_refresh(tmp_path): +def test_minion_module_refresh_beacons_refresh(minion_opts): """ Tests that 'module_refresh' calls beacons_refresh and that the minion object has a beacons attribute with beacons. @@ -582,13 +564,13 @@ def test_minion_module_refresh_beacons_refresh(tmp_path): MagicMock(return_value=True), ): try: - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["cachedir"] = str(tmp_path) minion = salt.minion.Minion( - mock_opts, + minion_opts, io_loop=salt.ext.tornado.ioloop.IOLoop(), ) - minion.schedule = salt.utils.schedule.Schedule(mock_opts, {}, returners={}) + minion.schedule = salt.utils.schedule.Schedule( + minion_opts, {}, returners={} + ) assert not hasattr(minion, "beacons") minion.module_refresh() assert hasattr(minion, "beacons") @@ -600,7 +582,9 @@ def test_minion_module_refresh_beacons_refresh(tmp_path): @pytest.mark.slow_test -def test_when_ping_interval_is_set_the_callback_should_be_added_to_periodic_callbacks(): +def test_when_ping_interval_is_set_the_callback_should_be_added_to_periodic_callbacks( + minion_opts, +): with patch("salt.minion.Minion.ctx", MagicMock(return_value={})), patch( "salt.minion.Minion.sync_connect_master", MagicMock(side_effect=RuntimeError("stop execution")), @@ -611,11 +595,10 @@ def test_when_ping_interval_is_set_the_callback_should_be_added_to_periodic_call "salt.utils.process.SignalHandlingProcess.join", MagicMock(return_value=True), ): - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["ping_interval"] = 10 + minion_opts["ping_interval"] = 10 io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(mock_opts, io_loop=io_loop) + minion = salt.minion.Minion(minion_opts, io_loop=io_loop) try: try: minion.connected = MagicMock(side_effect=(False, True)) @@ -631,14 +614,13 @@ def test_when_ping_interval_is_set_the_callback_should_be_added_to_periodic_call @pytest.mark.slow_test -def test_when_passed_start_event_grains(): - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() +def test_when_passed_start_event_grains(minion_opts): # provide mock opts an os grain since we'll look for it later. - mock_opts["grains"]["os"] = "linux" - mock_opts["start_event_grains"] = ["os"] + minion_opts["grains"]["os"] = "linux" + minion_opts["start_event_grains"] = ["os"] io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(mock_opts, io_loop=io_loop) + minion = salt.minion.Minion(minion_opts, io_loop=io_loop) try: minion.tok = MagicMock() minion._send_req_sync = MagicMock() @@ -654,11 +636,10 @@ def test_when_passed_start_event_grains(): @pytest.mark.slow_test -def test_when_not_passed_start_event_grains(): - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() +def test_when_not_passed_start_event_grains(minion_opts): io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(mock_opts, io_loop=io_loop) + minion = salt.minion.Minion(minion_opts, io_loop=io_loop) try: minion.tok = MagicMock() minion._send_req_sync = MagicMock() @@ -671,12 +652,11 @@ def test_when_not_passed_start_event_grains(): @pytest.mark.slow_test -def test_when_other_events_fired_and_start_event_grains_are_set(): - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["start_event_grains"] = ["os"] +def test_when_other_events_fired_and_start_event_grains_are_set(minion_opts): + minion_opts["start_event_grains"] = ["os"] io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(mock_opts, io_loop=io_loop) + minion = salt.minion.Minion(minion_opts, io_loop=io_loop) try: minion.tok = MagicMock() minion._send_req_sync = MagicMock() @@ -689,14 +669,12 @@ def test_when_other_events_fired_and_start_event_grains_are_set(): @pytest.mark.slow_test -def test_minion_retry_dns_count(): +def test_minion_retry_dns_count(minion_opts): """ Tests that the resolve_dns will retry dns look ups for a maximum of 3 times before raising a SaltMasterUnresolvableError exception. """ - opts = salt.config.DEFAULT_MINION_OPTS.copy() - with patch.dict( - opts, + minion_opts.update( { "ipv6": False, "master": "dummy", @@ -704,19 +682,19 @@ def test_minion_retry_dns_count(): "retry_dns": 1, "retry_dns_count": 3, }, - ): - pytest.raises(SaltMasterUnresolvableError, salt.minion.resolve_dns, opts) + ) + with pytest.raises(SaltMasterUnresolvableError): + salt.minion.resolve_dns(minion_opts) @pytest.mark.slow_test -def test_gen_modules_executors(): +def test_gen_modules_executors(minion_opts): """ Ensure gen_modules is called with the correct arguments #54429 """ - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(mock_opts, io_loop=io_loop) + minion = salt.minion.Minion(minion_opts, io_loop=io_loop) class MockPillarCompiler: def compile_pillar(self): @@ -724,47 +702,49 @@ def test_gen_modules_executors(): try: with patch("salt.pillar.get_pillar", return_value=MockPillarCompiler()): - with patch("salt.loader.executors") as execmock: + with patch("salt.loader.executors", mock=MagicMock()) as execmock: minion.gen_modules() - assert execmock.called_with(minion.opts, minion.functions) + execmock.assert_called_once_with( + minion.opts, functions=minion.functions, proxy=minion.proxy, context={} + ) finally: minion.destroy() -@patch("salt.utils.process.default_signals") -@pytest.mark.slow_test -def test_reinit_crypto_on_fork(def_mock): +def test_reinit_crypto_on_fork(minion_opts): """ Ensure salt.utils.crypt.reinit_crypto() is executed when forking for new job """ - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["multiprocessing"] = True + minion_opts["multiprocessing"] = True + with patch("salt.utils.process.default_signals"): - io_loop = salt.ext.tornado.ioloop.IOLoop() - io_loop.make_current() - minion = salt.minion.Minion(mock_opts, io_loop=io_loop) + io_loop = salt.ext.tornado.ioloop.IOLoop() + io_loop.make_current() + minion = salt.minion.Minion(minion_opts, io_loop=io_loop) - job_data = {"jid": "test-jid", "fun": "test.ping"} + job_data = {"jid": "test-jid", "fun": "test.ping"} - def mock_start(self): - # pylint: disable=comparison-with-callable - assert ( - len( - [ - x - for x in self._after_fork_methods - if x[0] == salt.utils.crypt.reinit_crypto - ] + def mock_start(self): + # pylint: disable=comparison-with-callable + assert ( + len( + [ + x + for x in self._after_fork_methods + if x[0] == salt.utils.crypt.reinit_crypto + ] + ) + == 1 ) - == 1 - ) - # pylint: enable=comparison-with-callable + # pylint: enable=comparison-with-callable - with patch.object(salt.utils.process.SignalHandlingProcess, "start", mock_start): - io_loop.run_sync(lambda: minion._handle_decoded_payload(job_data)) + with patch.object( + salt.utils.process.SignalHandlingProcess, "start", mock_start + ): + io_loop.run_sync(lambda: minion._handle_decoded_payload(job_data)) -def test_minion_manage_schedule(): +def test_minion_manage_schedule(minion_opts): """ Tests that the manage_schedule will call the add function, adding schedule data into opts. @@ -779,7 +759,6 @@ def test_minion_manage_schedule(): "salt.utils.process.SignalHandlingProcess.join", MagicMock(return_value=True), ): - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() @@ -787,9 +766,9 @@ def test_minion_manage_schedule(): try: mock_functions = {"test.ping": None} - minion = salt.minion.Minion(mock_opts, io_loop=io_loop) + minion = salt.minion.Minion(minion_opts, io_loop=io_loop) minion.schedule = salt.utils.schedule.Schedule( - mock_opts, + minion_opts, mock_functions, returners={}, new_instance=True, @@ -822,7 +801,7 @@ def test_minion_manage_schedule(): del minion -def test_minion_manage_beacons(): +def test_minion_manage_beacons(minion_opts): """ Tests that the manage_beacons will call the add function, adding beacon data into opts. @@ -838,15 +817,14 @@ def test_minion_manage_beacons(): MagicMock(return_value=True), ): try: - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["beacons"] = {} + minion_opts["beacons"] = {} io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() mock_functions = {"test.ping": None} - minion = salt.minion.Minion(mock_opts, io_loop=io_loop) - minion.beacons = salt.beacons.Beacon(mock_opts, mock_functions) + minion = salt.minion.Minion(minion_opts, io_loop=io_loop) + minion.beacons = salt.beacons.Beacon(minion_opts, mock_functions) bdata = [{"salt-master": "stopped"}, {"apache2": "stopped"}] data = {"name": "ps", "beacon_data": bdata, "func": "add"} @@ -891,7 +869,7 @@ def test_prep_ip_port(): @pytest.mark.skip_if_not_root -def test_sock_path_len(): +def test_sock_path_len(minion_opts): """ This tests whether or not a larger hash causes the sock path to exceed the system's max sock path length. See the below link for more @@ -899,33 +877,32 @@ def test_sock_path_len(): https://github.com/saltstack/salt/issues/12172#issuecomment-43903643 """ - opts = { - "id": "salt-testing", - "hash_type": "sha512", - "sock_dir": os.path.join(salt.syspaths.SOCK_DIR, "minion"), - "extension_modules": "", - } - opts = salt.config.DEFAULT_MINION_OPTS.copy() - with patch.dict(opts, opts): - try: - event_publisher = event.AsyncEventPublisher(opts) - result = True - except ValueError: - # There are rare cases where we operate a closed socket, especially in containers. - # In this case, don't fail the test because we'll catch it down the road. - result = True - except SaltSystemExit: - result = False + minion_opts.update( + { + "id": "salt-testing", + "hash_type": "sha512", + "sock_dir": os.path.join(salt.syspaths.SOCK_DIR, "minion"), + "extension_modules": "", + } + ) + try: + event_publisher = event.AsyncEventPublisher(minion_opts) + result = True + except ValueError: + # There are rare cases where we operate a closed socket, especially in containers. + # In this case, don't fail the test because we'll catch it down the road. + result = True + except SaltSystemExit: + result = False assert result @pytest.mark.skip_on_windows(reason="Skippin, no Salt master running on Windows.") -async def test_master_type_failover(): +async def test_master_type_failover(minion_opts): """ Tests master_type "failover" to not fall back to 127.0.0.1 address when master does not resolve in DNS """ - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts.update( + minion_opts.update( { "master_type": "failover", "master": ["master1", "master2"], @@ -960,16 +937,15 @@ async def test_master_type_failover(): "salt.channel.client.AsyncPubChannel.factory", mock_channel_factory ), patch("salt.loader.grains", MagicMock(return_value=[])): with pytest.raises(SaltClientError): - minion = salt.minion.Minion(mock_opts) + minion = salt.minion.Minion(minion_opts) await minion.connect_master() -async def test_master_type_failover_no_masters(): +async def test_master_type_failover_no_masters(minion_opts): """ Tests master_type "failover" to not fall back to 127.0.0.1 address when no master can be resolved """ - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts.update( + minion_opts.update( { "master_type": "failover", "master": ["master1", "master2"], @@ -986,7 +962,7 @@ async def test_master_type_failover_no_masters(): "salt.loader.grains", MagicMock(return_value=[]) ): with pytest.raises(SaltClientError): - minion = salt.minion.Minion(mock_opts) + minion = salt.minion.Minion(minion_opts) await minion.connect_master() @@ -998,19 +974,18 @@ def test_config_cache_path_overrides(): assert mminion.opts["cachedir"] == cachedir -def test_minion_grains_refresh_pre_exec_false(): +def test_minion_grains_refresh_pre_exec_false(minion_opts): """ Minion does not refresh grains when grains_refresh_pre_exec is False """ - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["multiprocessing"] = False - mock_opts["grains_refresh_pre_exec"] = False + minion_opts["multiprocessing"] = False + minion_opts["grains_refresh_pre_exec"] = False mock_data = {"fun": "foo.bar", "jid": 123} with patch("salt.loader.grains") as grainsfunc, patch( "salt.minion.Minion._target", MagicMock(return_value=True) ): minion = salt.minion.Minion( - mock_opts, + minion_opts, jid_queue=None, io_loop=salt.ext.tornado.ioloop.IOLoop(), load_grains=False, @@ -1022,19 +997,18 @@ def test_minion_grains_refresh_pre_exec_false(): minion.destroy() -def test_minion_grains_refresh_pre_exec_true(): +def test_minion_grains_refresh_pre_exec_true(minion_opts): """ Minion refreshes grains when grains_refresh_pre_exec is True """ - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts["multiprocessing"] = False - mock_opts["grains_refresh_pre_exec"] = True + minion_opts["multiprocessing"] = False + minion_opts["grains_refresh_pre_exec"] = True mock_data = {"fun": "foo.bar", "jid": 123} with patch("salt.loader.grains") as grainsfunc, patch( "salt.minion.Minion._target", MagicMock(return_value=True) ): minion = salt.minion.Minion( - mock_opts, + minion_opts, jid_queue=None, io_loop=salt.ext.tornado.ioloop.IOLoop(), load_grains=False, @@ -1049,7 +1023,7 @@ def test_minion_grains_refresh_pre_exec_true(): @pytest.mark.skip_on_darwin( reason="Skip on MacOS, where this does not raise an exception." ) -def test_valid_ipv4_master_address_ipv6_enabled(): +def test_valid_ipv4_master_address_ipv6_enabled(minion_opts): """ Tests that the lookups fail back to ipv4 when ipv6 fails. """ @@ -1067,9 +1041,7 @@ def test_valid_ipv4_master_address_ipv6_enabled(): ], } } - opts = salt.config.DEFAULT_MINION_OPTS.copy() - with patch.dict( - opts, + minion_opts.update( { "ipv6": True, "master": "127.0.0.1", @@ -1080,22 +1052,22 @@ def test_valid_ipv4_master_address_ipv6_enabled(): "source_ret_port": 49017, "source_publish_port": 49018, }, - ), patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): + ) + with patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): expected = { "source_publish_port": 49018, "master_uri": "tcp://127.0.0.1:4555", "source_ret_port": 49017, "master_ip": "127.0.0.1", } - assert salt.minion.resolve_dns(opts) == expected + assert salt.minion.resolve_dns(minion_opts) == expected -async def test_master_type_disable(): +async def test_master_type_disable(minion_opts): """ Tests master_type "disable" to not even attempt connecting to a master. """ - mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() - mock_opts.update( + minion_opts.update( { "master_type": "disable", "master": None, @@ -1105,11 +1077,11 @@ async def test_master_type_disable(): } ) - minion = salt.minion.Minion(mock_opts) + minion = salt.minion.Minion(minion_opts) try: try: - minion_man = salt.minion.MinionManager(mock_opts) + minion_man = salt.minion.MinionManager(minion_opts) minion_man._connect_minion(minion) except RuntimeError: pytest.fail("_connect_minion(minion) threw an error, This was not expected") @@ -1120,3 +1092,12 @@ async def test_master_type_disable(): assert minion.connected is False finally: minion.destroy() + + +async def test_syndic_async_req_channel(syndic_opts): + syndic_opts["_minion_conf_file"] = "" + syndic_opts["master_uri"] = "tcp://127.0.0.1:4506" + syndic = salt.minion.Syndic(syndic_opts) + syndic.pub_channel = MagicMock() + syndic.tune_in_no_block() + assert isinstance(syndic.async_req_channel, salt.channel.client.AsyncReqChannel) diff --git a/tests/pytests/unit/utils/test_gitfs.py b/tests/pytests/unit/utils/test_gitfs.py index 6969e3c9ab3..33e38fc8daf 100644 --- a/tests/pytests/unit/utils/test_gitfs.py +++ b/tests/pytests/unit/utils/test_gitfs.py @@ -1,5 +1,4 @@ import os -import string import time import pytest @@ -230,11 +229,11 @@ def test_checkout_pygit2(_prepare_provider): provider.init_remote() provider.fetch() provider.branch = "master" - assert provider.cachedir in provider.checkout() + assert provider.get_cachedir() in provider.checkout() provider.branch = "simple_tag" - assert provider.cachedir in provider.checkout() + assert provider.get_cachedir() in provider.checkout() provider.branch = "annotated_tag" - assert provider.cachedir in provider.checkout() + assert provider.get_cachedir() in provider.checkout() provider.branch = "does_not_exist" assert provider.checkout() is None @@ -243,20 +242,9 @@ def test_checkout_pygit2(_prepare_provider): @pytest.mark.skip_on_windows( reason="Skip Pygit2 on windows, due to pygit2 access error on windows" ) -def test_full_id_pygit2(_prepare_provider): - assert _prepare_provider.full_id().startswith("-") - assert _prepare_provider.full_id().endswith("/pygit2-repo---gitfs-master--") - - @pytest.mark.skipif(not HAS_PYGIT2, reason="This host lacks proper pygit2 support") @pytest.mark.skip_on_windows( reason="Skip Pygit2 on windows, due to pygit2 access error on windows" ) def test_get_cachedir_basename_pygit2(_prepare_provider): - basename = _prepare_provider.get_cachedir_basename() - # Note: if you are changing the length of basename - # keep in mind that pygit2 will error out on large file paths on Windows - assert len(basename) == 45 - assert basename[0] == "-" - # check that a valid base64 is given '/' -> '_' - assert all(c in string.ascii_letters + string.digits + "+_=" for c in basename[1:]) + assert "_" == _prepare_provider.get_cache_basename() diff --git a/tests/unit/utils/test_gitfs.py b/tests/unit/utils/test_gitfs.py index e24a3f62b8f..1e60abc2adb 100644 --- a/tests/unit/utils/test_gitfs.py +++ b/tests/unit/utils/test_gitfs.py @@ -113,27 +113,14 @@ class TestGitBase(TestCase, AdaptedConfigurationTestCaseMixin): self.assertTrue(self.main_class.remotes[0].fetched) self.assertFalse(self.main_class.remotes[1].fetched) - def test_full_id(self): - self.assertEqual( - self.main_class.remotes[0].full_id(), "-file://repo1.git---gitfs-master--" - ) - - def test_full_id_with_name(self): - self.assertEqual( - self.main_class.remotes[1].full_id(), - "repo2-file://repo2.git---gitfs-master--", - ) - def test_get_cachedir_basename(self): self.assertEqual( - self.main_class.remotes[0].get_cachedir_basename(), - "-jXhnbGDemchtZwTwaD2s6VOaVvs98a7w+AtiYlmOVb0=", + self.main_class.remotes[0].get_cache_basename(), + "_", ) - - def test_get_cachedir_base_with_name(self): self.assertEqual( - self.main_class.remotes[1].get_cachedir_basename(), - "repo2-nuezpiDtjQRFC0ZJDByvi+F6Vb8ZhfoH41n_KFxTGsU=", + self.main_class.remotes[1].get_cache_basename(), + "_", ) def test_git_provider_mp_lock(self): From 98970371e00dfea4942692dd39b27c2b1472b60a Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Wed, 6 Sep 2023 16:08:07 -0500 Subject: [PATCH 125/132] fix minion tests --- changelog/65002.fixed | 2 +- tests/pytests/unit/test_minion.py | 352 +++++++++++++++--------------- 2 files changed, 183 insertions(+), 171 deletions(-) diff --git a/changelog/65002.fixed b/changelog/65002.fixed index b61b1a431ab..86ed2d4bccd 100644 --- a/changelog/65002.fixed +++ b/changelog/65002.fixed @@ -1 +1 @@ -Fix __env__ and improve cache cleaning see more info at pull #65017. \ No newline at end of file +Fix __env__ and improve cache cleaning see more info at pull #65017. diff --git a/tests/pytests/unit/test_minion.py b/tests/pytests/unit/test_minion.py index 984cb6ece86..9ff608f4469 100644 --- a/tests/pytests/unit/test_minion.py +++ b/tests/pytests/unit/test_minion.py @@ -66,18 +66,19 @@ def test_minion_load_grains_default(minion_opts): ), ], ) -def test_send_req_fires_completion_event(event, minion_opts): +def test_send_req_fires_completion_event(event): event_enter = MagicMock() event_enter.send.side_effect = event[1] event = MagicMock() event.__enter__.return_value = event_enter with patch("salt.utils.event.get_event", return_value=event): - minion_opts["random_startup_delay"] = 0 - minion_opts["return_retry_tries"] = 30 - minion_opts["grains"] = {} + opts = salt.config.DEFAULT_MINION_OPTS.copy() + opts["random_startup_delay"] = 0 + opts["return_retry_tries"] = 30 + opts["grains"] = {} with patch("salt.loader.grains"): - minion = salt.minion.Minion(minion_opts) + minion = salt.minion.Minion(opts) load = {"load": "value"} timeout = 60 @@ -95,8 +96,7 @@ def test_send_req_fires_completion_event(event, minion_opts): if "fire_event" in call[0]: condition_event_tag = ( len(call.args) > 1 - and call.args[1] - == f"__master_req_channel_payload/{minion_opts['master']}" + and call.args[1] == "__master_req_channel_payload" ) condition_event_tag_error = "{} != {}; Call(number={}): {}".format( idx, call, call.args[1], "__master_req_channel_payload" @@ -116,7 +116,7 @@ def test_send_req_fires_completion_event(event, minion_opts): assert rtn -async def test_send_req_async_regression_62453(minion_opts): +async def test_send_req_async_regression_62453(): event_enter = MagicMock() event_enter.send.side_effect = ( lambda data, tag, cb=None, timeout=60: salt.ext.tornado.gen.maybe_future(True) @@ -124,11 +124,12 @@ async def test_send_req_async_regression_62453(minion_opts): event = MagicMock() event.__enter__.return_value = event_enter - minion_opts["random_startup_delay"] = 0 - minion_opts["return_retry_tries"] = 30 - minion_opts["grains"] = {} + opts = salt.config.DEFAULT_MINION_OPTS.copy() + opts["random_startup_delay"] = 0 + opts["return_retry_tries"] = 30 + opts["grains"] = {} with patch("salt.loader.grains"): - minion = salt.minion.Minion(minion_opts) + minion = salt.minion.Minion(opts) load = {"load": "value"} timeout = 60 @@ -138,16 +139,16 @@ async def test_send_req_async_regression_62453(minion_opts): assert rtn is False -def test_mine_send_tries(minion_opts): +@patch("salt.channel.client.ReqChannel.factory") +def test_mine_send_tries(req_channel_factory, minion_opts): channel_enter = MagicMock() channel_enter.send.side_effect = lambda load, timeout, tries: tries channel = MagicMock() channel.__enter__.return_value = channel_enter + req_channel_factory.return_value = channel minion_opts["return_retry_tries"] = 20 - with patch("salt.channel.client.ReqChannel.factory", return_value=channel), patch( - "salt.loader.grains" - ): + with patch("salt.loader.grains"): minion = salt.minion.Minion(minion_opts) minion.tok = "token" @@ -158,20 +159,21 @@ def test_mine_send_tries(minion_opts): assert rtn == 20 -def test_invalid_master_address(minion_opts): - minion_opts.update( +def test_invalid_master_address(): + opts = salt.config.DEFAULT_MINION_OPTS.copy() + with patch.dict( + opts, { "ipv6": False, "master": float("127.0"), "master_port": "4555", "retry_dns": False, - } - ) - with pytest.raises(SaltSystemExit): - salt.minion.resolve_dns(minion_opts) + }, + ): + pytest.raises(SaltSystemExit, salt.minion.resolve_dns, opts) -def test_source_int_name_local(minion_opts): +def test_source_int_name_local(): """ test when file_client local and source_interface_name is set @@ -190,7 +192,9 @@ def test_source_int_name_local(minion_opts): ], } } - minion_opts.update( + opts = salt.config.DEFAULT_MINION_OPTS.copy() + with patch.dict( + opts, { "ipv6": False, "master": "127.0.0.1", @@ -200,9 +204,8 @@ def test_source_int_name_local(minion_opts): "source_ret_port": 49017, "source_publish_port": 49018, }, - ) - with patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): - assert salt.minion.resolve_dns(minion_opts) == { + ), patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): + assert salt.minion.resolve_dns(opts) == { "master_ip": "127.0.0.1", "source_ip": "111.1.0.1", "source_ret_port": 49017, @@ -212,7 +215,7 @@ def test_source_int_name_local(minion_opts): @pytest.mark.slow_test -def test_source_int_name_remote(minion_opts): +def test_source_int_name_remote(): """ test when file_client remote and source_interface_name is set and @@ -232,7 +235,9 @@ def test_source_int_name_remote(minion_opts): ], } } - minion_opts.update( + opts = salt.config.DEFAULT_MINION_OPTS.copy() + with patch.dict( + opts, { "ipv6": False, "master": "127.0.0.1", @@ -242,9 +247,8 @@ def test_source_int_name_remote(minion_opts): "source_ret_port": 49017, "source_publish_port": 49018, }, - ) - with patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): - assert salt.minion.resolve_dns(minion_opts) == { + ), patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): + assert salt.minion.resolve_dns(opts) == { "master_ip": "127.0.0.1", "source_ret_port": 49017, "source_publish_port": 49018, @@ -253,7 +257,7 @@ def test_source_int_name_remote(minion_opts): @pytest.mark.slow_test -def test_source_address(minion_opts): +def test_source_address(): """ test when source_address is set """ @@ -271,7 +275,9 @@ def test_source_address(minion_opts): ], } } - minion_opts.update( + opts = salt.config.DEFAULT_MINION_OPTS.copy() + with patch.dict( + opts, { "ipv6": False, "master": "127.0.0.1", @@ -282,9 +288,8 @@ def test_source_address(minion_opts): "source_ret_port": 49017, "source_publish_port": 49018, }, - ) - with patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): - assert salt.minion.resolve_dns(minion_opts) == { + ), patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): + assert salt.minion.resolve_dns(opts) == { "source_publish_port": 49018, "source_ret_port": 49017, "master_uri": "tcp://127.0.0.1:4555", @@ -295,7 +300,7 @@ def test_source_address(minion_opts): # Tests for _handle_decoded_payload in the salt.minion.Minion() class: 3 @pytest.mark.slow_test -def test_handle_decoded_payload_jid_match_in_jid_queue(minion_opts): +def test_handle_decoded_payload_jid_match_in_jid_queue(): """ Tests that the _handle_decoded_payload function returns when a jid is given that is already present in the jid_queue. @@ -305,10 +310,11 @@ def test_handle_decoded_payload_jid_match_in_jid_queue(minion_opts): return None BEFORE any of the processes are spun up because we should be avoiding firing duplicate jobs. """ + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() mock_data = {"fun": "foo.bar", "jid": 123} mock_jid_queue = [123] minion = salt.minion.Minion( - minion_opts, + mock_opts, jid_queue=copy.copy(mock_jid_queue), io_loop=salt.ext.tornado.ioloop.IOLoop(), ) @@ -321,7 +327,7 @@ def test_handle_decoded_payload_jid_match_in_jid_queue(minion_opts): @pytest.mark.slow_test -def test_handle_decoded_payload_jid_queue_addition(minion_opts): +def test_handle_decoded_payload_jid_queue_addition(): """ Tests that the _handle_decoded_payload function adds a jid to the minion's jid_queue when the new jid isn't already present in the jid_queue. @@ -334,10 +340,11 @@ def test_handle_decoded_payload_jid_queue_addition(minion_opts): MagicMock(return_value=True), ): mock_jid = 11111 + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() mock_data = {"fun": "foo.bar", "jid": mock_jid} mock_jid_queue = [123, 456] minion = salt.minion.Minion( - minion_opts, + mock_opts, jid_queue=copy.copy(mock_jid_queue), io_loop=salt.ext.tornado.ioloop.IOLoop(), ) @@ -358,7 +365,7 @@ def test_handle_decoded_payload_jid_queue_addition(minion_opts): @pytest.mark.slow_test -def test_handle_decoded_payload_jid_queue_reduced_minion_jid_queue_hwm(minion_opts): +def test_handle_decoded_payload_jid_queue_reduced_minion_jid_queue_hwm(): """ Tests that the _handle_decoded_payload function removes a jid from the minion's jid_queue when the minion's jid_queue high water mark (minion_jid_queue_hwm) is hit. @@ -370,11 +377,12 @@ def test_handle_decoded_payload_jid_queue_reduced_minion_jid_queue_hwm(minion_op "salt.utils.process.SignalHandlingProcess.join", MagicMock(return_value=True), ): - minion_opts["minion_jid_queue_hwm"] = 2 + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["minion_jid_queue_hwm"] = 2 mock_data = {"fun": "foo.bar", "jid": 789} mock_jid_queue = [123, 456] minion = salt.minion.Minion( - minion_opts, + mock_opts, jid_queue=copy.copy(mock_jid_queue), io_loop=salt.ext.tornado.ioloop.IOLoop(), ) @@ -394,7 +402,7 @@ def test_handle_decoded_payload_jid_queue_reduced_minion_jid_queue_hwm(minion_op @pytest.mark.slow_test -def test_process_count_max(minion_opts): +def test_process_count_max(): """ Tests that the _handle_decoded_payload function does not spawn more than the configured amount of processes, as per process_count_max. @@ -412,12 +420,13 @@ def test_process_count_max(minion_opts): MagicMock(return_value=salt.ext.tornado.concurrent.Future()), ): process_count_max = 10 - minion_opts["__role"] = "minion" - minion_opts["minion_jid_queue_hwm"] = 100 - minion_opts["process_count_max"] = process_count_max + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["__role"] = "minion" + mock_opts["minion_jid_queue_hwm"] = 100 + mock_opts["process_count_max"] = process_count_max io_loop = salt.ext.tornado.ioloop.IOLoop() - minion = salt.minion.Minion(minion_opts, jid_queue=[], io_loop=io_loop) + minion = salt.minion.Minion(mock_opts, jid_queue=[], io_loop=io_loop) try: # mock gen.sleep to throw a special Exception when called, so that we detect it @@ -459,7 +468,7 @@ def test_process_count_max(minion_opts): @pytest.mark.slow_test -def test_beacons_before_connect(minion_opts): +def test_beacons_before_connect(): """ Tests that the 'beacons_before_connect' option causes the beacons to be initialized before connect. """ @@ -473,10 +482,11 @@ def test_beacons_before_connect(minion_opts): "salt.utils.process.SignalHandlingProcess.join", MagicMock(return_value=True), ): - minion_opts["beacons_before_connect"] = True + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["beacons_before_connect"] = True io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(minion_opts, io_loop=io_loop) + minion = salt.minion.Minion(mock_opts, io_loop=io_loop) try: try: @@ -492,7 +502,7 @@ def test_beacons_before_connect(minion_opts): @pytest.mark.slow_test -def test_scheduler_before_connect(minion_opts): +def test_scheduler_before_connect(): """ Tests that the 'scheduler_before_connect' option causes the scheduler to be initialized before connect. """ @@ -506,10 +516,11 @@ def test_scheduler_before_connect(minion_opts): "salt.utils.process.SignalHandlingProcess.join", MagicMock(return_value=True), ): - minion_opts["scheduler_before_connect"] = True + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["scheduler_before_connect"] = True io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(minion_opts, io_loop=io_loop) + minion = salt.minion.Minion(mock_opts, io_loop=io_loop) try: try: minion.tune_in(start=True) @@ -523,7 +534,7 @@ def test_scheduler_before_connect(minion_opts): minion.destroy() -def test_minion_module_refresh(minion_opts): +def test_minion_module_refresh(tmp_path): """ Tests that the 'module_refresh' just return in case there is no 'schedule' because destroy method was already called. @@ -536,13 +547,13 @@ def test_minion_module_refresh(minion_opts): MagicMock(return_value=True), ): try: + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["cachedir"] = str(tmp_path) minion = salt.minion.Minion( - minion_opts, + mock_opts, io_loop=salt.ext.tornado.ioloop.IOLoop(), ) - minion.schedule = salt.utils.schedule.Schedule( - minion_opts, {}, returners={} - ) + minion.schedule = salt.utils.schedule.Schedule(mock_opts, {}, returners={}) assert hasattr(minion, "schedule") minion.destroy() assert not hasattr(minion, "schedule") @@ -551,7 +562,7 @@ def test_minion_module_refresh(minion_opts): minion.destroy() -def test_minion_module_refresh_beacons_refresh(minion_opts): +def test_minion_module_refresh_beacons_refresh(tmp_path): """ Tests that 'module_refresh' calls beacons_refresh and that the minion object has a beacons attribute with beacons. @@ -564,13 +575,13 @@ def test_minion_module_refresh_beacons_refresh(minion_opts): MagicMock(return_value=True), ): try: + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["cachedir"] = str(tmp_path) minion = salt.minion.Minion( - minion_opts, + mock_opts, io_loop=salt.ext.tornado.ioloop.IOLoop(), ) - minion.schedule = salt.utils.schedule.Schedule( - minion_opts, {}, returners={} - ) + minion.schedule = salt.utils.schedule.Schedule(mock_opts, {}, returners={}) assert not hasattr(minion, "beacons") minion.module_refresh() assert hasattr(minion, "beacons") @@ -582,9 +593,7 @@ def test_minion_module_refresh_beacons_refresh(minion_opts): @pytest.mark.slow_test -def test_when_ping_interval_is_set_the_callback_should_be_added_to_periodic_callbacks( - minion_opts, -): +def test_when_ping_interval_is_set_the_callback_should_be_added_to_periodic_callbacks(): with patch("salt.minion.Minion.ctx", MagicMock(return_value={})), patch( "salt.minion.Minion.sync_connect_master", MagicMock(side_effect=RuntimeError("stop execution")), @@ -595,10 +604,11 @@ def test_when_ping_interval_is_set_the_callback_should_be_added_to_periodic_call "salt.utils.process.SignalHandlingProcess.join", MagicMock(return_value=True), ): - minion_opts["ping_interval"] = 10 + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["ping_interval"] = 10 io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(minion_opts, io_loop=io_loop) + minion = salt.minion.Minion(mock_opts, io_loop=io_loop) try: try: minion.connected = MagicMock(side_effect=(False, True)) @@ -614,13 +624,14 @@ def test_when_ping_interval_is_set_the_callback_should_be_added_to_periodic_call @pytest.mark.slow_test -def test_when_passed_start_event_grains(minion_opts): +def test_when_passed_start_event_grains(): + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() # provide mock opts an os grain since we'll look for it later. - minion_opts["grains"]["os"] = "linux" - minion_opts["start_event_grains"] = ["os"] + mock_opts["grains"]["os"] = "linux" + mock_opts["start_event_grains"] = ["os"] io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(minion_opts, io_loop=io_loop) + minion = salt.minion.Minion(mock_opts, io_loop=io_loop) try: minion.tok = MagicMock() minion._send_req_sync = MagicMock() @@ -636,10 +647,11 @@ def test_when_passed_start_event_grains(minion_opts): @pytest.mark.slow_test -def test_when_not_passed_start_event_grains(minion_opts): +def test_when_not_passed_start_event_grains(): + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(minion_opts, io_loop=io_loop) + minion = salt.minion.Minion(mock_opts, io_loop=io_loop) try: minion.tok = MagicMock() minion._send_req_sync = MagicMock() @@ -652,11 +664,12 @@ def test_when_not_passed_start_event_grains(minion_opts): @pytest.mark.slow_test -def test_when_other_events_fired_and_start_event_grains_are_set(minion_opts): - minion_opts["start_event_grains"] = ["os"] +def test_when_other_events_fired_and_start_event_grains_are_set(): + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["start_event_grains"] = ["os"] io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(minion_opts, io_loop=io_loop) + minion = salt.minion.Minion(mock_opts, io_loop=io_loop) try: minion.tok = MagicMock() minion._send_req_sync = MagicMock() @@ -669,12 +682,14 @@ def test_when_other_events_fired_and_start_event_grains_are_set(minion_opts): @pytest.mark.slow_test -def test_minion_retry_dns_count(minion_opts): +def test_minion_retry_dns_count(): """ Tests that the resolve_dns will retry dns look ups for a maximum of 3 times before raising a SaltMasterUnresolvableError exception. """ - minion_opts.update( + opts = salt.config.DEFAULT_MINION_OPTS.copy() + with patch.dict( + opts, { "ipv6": False, "master": "dummy", @@ -682,19 +697,19 @@ def test_minion_retry_dns_count(minion_opts): "retry_dns": 1, "retry_dns_count": 3, }, - ) - with pytest.raises(SaltMasterUnresolvableError): - salt.minion.resolve_dns(minion_opts) + ): + pytest.raises(SaltMasterUnresolvableError, salt.minion.resolve_dns, opts) @pytest.mark.slow_test -def test_gen_modules_executors(minion_opts): +def test_gen_modules_executors(): """ Ensure gen_modules is called with the correct arguments #54429 """ + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() - minion = salt.minion.Minion(minion_opts, io_loop=io_loop) + minion = salt.minion.Minion(mock_opts, io_loop=io_loop) class MockPillarCompiler: def compile_pillar(self): @@ -702,49 +717,47 @@ def test_gen_modules_executors(minion_opts): try: with patch("salt.pillar.get_pillar", return_value=MockPillarCompiler()): - with patch("salt.loader.executors", mock=MagicMock()) as execmock: + with patch("salt.loader.executors") as execmock: minion.gen_modules() - execmock.assert_called_once_with( - minion.opts, functions=minion.functions, proxy=minion.proxy, context={} - ) + assert execmock.called_with(minion.opts, minion.functions) finally: minion.destroy() -def test_reinit_crypto_on_fork(minion_opts): +@patch("salt.utils.process.default_signals") +@pytest.mark.slow_test +def test_reinit_crypto_on_fork(def_mock): """ Ensure salt.utils.crypt.reinit_crypto() is executed when forking for new job """ - minion_opts["multiprocessing"] = True - with patch("salt.utils.process.default_signals"): + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["multiprocessing"] = True - io_loop = salt.ext.tornado.ioloop.IOLoop() - io_loop.make_current() - minion = salt.minion.Minion(minion_opts, io_loop=io_loop) + io_loop = salt.ext.tornado.ioloop.IOLoop() + io_loop.make_current() + minion = salt.minion.Minion(mock_opts, io_loop=io_loop) - job_data = {"jid": "test-jid", "fun": "test.ping"} + job_data = {"jid": "test-jid", "fun": "test.ping"} - def mock_start(self): - # pylint: disable=comparison-with-callable - assert ( - len( - [ - x - for x in self._after_fork_methods - if x[0] == salt.utils.crypt.reinit_crypto - ] - ) - == 1 + def mock_start(self): + # pylint: disable=comparison-with-callable + assert ( + len( + [ + x + for x in self._after_fork_methods + if x[0] == salt.utils.crypt.reinit_crypto + ] ) - # pylint: enable=comparison-with-callable + == 1 + ) + # pylint: enable=comparison-with-callable - with patch.object( - salt.utils.process.SignalHandlingProcess, "start", mock_start - ): - io_loop.run_sync(lambda: minion._handle_decoded_payload(job_data)) + with patch.object(salt.utils.process.SignalHandlingProcess, "start", mock_start): + io_loop.run_sync(lambda: minion._handle_decoded_payload(job_data)) -def test_minion_manage_schedule(minion_opts): +def test_minion_manage_schedule(): """ Tests that the manage_schedule will call the add function, adding schedule data into opts. @@ -759,6 +772,7 @@ def test_minion_manage_schedule(minion_opts): "salt.utils.process.SignalHandlingProcess.join", MagicMock(return_value=True), ): + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() @@ -766,9 +780,9 @@ def test_minion_manage_schedule(minion_opts): try: mock_functions = {"test.ping": None} - minion = salt.minion.Minion(minion_opts, io_loop=io_loop) + minion = salt.minion.Minion(mock_opts, io_loop=io_loop) minion.schedule = salt.utils.schedule.Schedule( - minion_opts, + mock_opts, mock_functions, returners={}, new_instance=True, @@ -801,7 +815,7 @@ def test_minion_manage_schedule(minion_opts): del minion -def test_minion_manage_beacons(minion_opts): +def test_minion_manage_beacons(): """ Tests that the manage_beacons will call the add function, adding beacon data into opts. @@ -817,14 +831,15 @@ def test_minion_manage_beacons(minion_opts): MagicMock(return_value=True), ): try: - minion_opts["beacons"] = {} + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["beacons"] = {} io_loop = salt.ext.tornado.ioloop.IOLoop() io_loop.make_current() mock_functions = {"test.ping": None} - minion = salt.minion.Minion(minion_opts, io_loop=io_loop) - minion.beacons = salt.beacons.Beacon(minion_opts, mock_functions) + minion = salt.minion.Minion(mock_opts, io_loop=io_loop) + minion.beacons = salt.beacons.Beacon(mock_opts, mock_functions) bdata = [{"salt-master": "stopped"}, {"apache2": "stopped"}] data = {"name": "ps", "beacon_data": bdata, "func": "add"} @@ -869,7 +884,7 @@ def test_prep_ip_port(): @pytest.mark.skip_if_not_root -def test_sock_path_len(minion_opts): +def test_sock_path_len(): """ This tests whether or not a larger hash causes the sock path to exceed the system's max sock path length. See the below link for more @@ -877,32 +892,33 @@ def test_sock_path_len(minion_opts): https://github.com/saltstack/salt/issues/12172#issuecomment-43903643 """ - minion_opts.update( - { - "id": "salt-testing", - "hash_type": "sha512", - "sock_dir": os.path.join(salt.syspaths.SOCK_DIR, "minion"), - "extension_modules": "", - } - ) - try: - event_publisher = event.AsyncEventPublisher(minion_opts) - result = True - except ValueError: - # There are rare cases where we operate a closed socket, especially in containers. - # In this case, don't fail the test because we'll catch it down the road. - result = True - except SaltSystemExit: - result = False + opts = { + "id": "salt-testing", + "hash_type": "sha512", + "sock_dir": os.path.join(salt.syspaths.SOCK_DIR, "minion"), + "extension_modules": "", + } + opts = salt.config.DEFAULT_MINION_OPTS.copy() + with patch.dict(opts, opts): + try: + event_publisher = event.AsyncEventPublisher(opts) + result = True + except ValueError: + # There are rare cases where we operate a closed socket, especially in containers. + # In this case, don't fail the test because we'll catch it down the road. + result = True + except SaltSystemExit: + result = False assert result @pytest.mark.skip_on_windows(reason="Skippin, no Salt master running on Windows.") -async def test_master_type_failover(minion_opts): +async def test_master_type_failover(): """ Tests master_type "failover" to not fall back to 127.0.0.1 address when master does not resolve in DNS """ - minion_opts.update( + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts.update( { "master_type": "failover", "master": ["master1", "master2"], @@ -937,15 +953,16 @@ async def test_master_type_failover(minion_opts): "salt.channel.client.AsyncPubChannel.factory", mock_channel_factory ), patch("salt.loader.grains", MagicMock(return_value=[])): with pytest.raises(SaltClientError): - minion = salt.minion.Minion(minion_opts) + minion = salt.minion.Minion(mock_opts) await minion.connect_master() -async def test_master_type_failover_no_masters(minion_opts): +async def test_master_type_failover_no_masters(): """ Tests master_type "failover" to not fall back to 127.0.0.1 address when no master can be resolved """ - minion_opts.update( + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts.update( { "master_type": "failover", "master": ["master1", "master2"], @@ -962,7 +979,7 @@ async def test_master_type_failover_no_masters(minion_opts): "salt.loader.grains", MagicMock(return_value=[]) ): with pytest.raises(SaltClientError): - minion = salt.minion.Minion(minion_opts) + minion = salt.minion.Minion(mock_opts) await minion.connect_master() @@ -974,18 +991,19 @@ def test_config_cache_path_overrides(): assert mminion.opts["cachedir"] == cachedir -def test_minion_grains_refresh_pre_exec_false(minion_opts): +def test_minion_grains_refresh_pre_exec_false(): """ Minion does not refresh grains when grains_refresh_pre_exec is False """ - minion_opts["multiprocessing"] = False - minion_opts["grains_refresh_pre_exec"] = False + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["multiprocessing"] = False + mock_opts["grains_refresh_pre_exec"] = False mock_data = {"fun": "foo.bar", "jid": 123} with patch("salt.loader.grains") as grainsfunc, patch( "salt.minion.Minion._target", MagicMock(return_value=True) ): minion = salt.minion.Minion( - minion_opts, + mock_opts, jid_queue=None, io_loop=salt.ext.tornado.ioloop.IOLoop(), load_grains=False, @@ -997,18 +1015,19 @@ def test_minion_grains_refresh_pre_exec_false(minion_opts): minion.destroy() -def test_minion_grains_refresh_pre_exec_true(minion_opts): +def test_minion_grains_refresh_pre_exec_true(): """ Minion refreshes grains when grains_refresh_pre_exec is True """ - minion_opts["multiprocessing"] = False - minion_opts["grains_refresh_pre_exec"] = True + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts["multiprocessing"] = False + mock_opts["grains_refresh_pre_exec"] = True mock_data = {"fun": "foo.bar", "jid": 123} with patch("salt.loader.grains") as grainsfunc, patch( "salt.minion.Minion._target", MagicMock(return_value=True) ): minion = salt.minion.Minion( - minion_opts, + mock_opts, jid_queue=None, io_loop=salt.ext.tornado.ioloop.IOLoop(), load_grains=False, @@ -1023,7 +1042,7 @@ def test_minion_grains_refresh_pre_exec_true(minion_opts): @pytest.mark.skip_on_darwin( reason="Skip on MacOS, where this does not raise an exception." ) -def test_valid_ipv4_master_address_ipv6_enabled(minion_opts): +def test_valid_ipv4_master_address_ipv6_enabled(): """ Tests that the lookups fail back to ipv4 when ipv6 fails. """ @@ -1041,7 +1060,9 @@ def test_valid_ipv4_master_address_ipv6_enabled(minion_opts): ], } } - minion_opts.update( + opts = salt.config.DEFAULT_MINION_OPTS.copy() + with patch.dict( + opts, { "ipv6": True, "master": "127.0.0.1", @@ -1052,22 +1073,22 @@ def test_valid_ipv4_master_address_ipv6_enabled(minion_opts): "source_ret_port": 49017, "source_publish_port": 49018, }, - ) - with patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): + ), patch("salt.utils.network.interfaces", MagicMock(return_value=interfaces)): expected = { "source_publish_port": 49018, "master_uri": "tcp://127.0.0.1:4555", "source_ret_port": 49017, "master_ip": "127.0.0.1", } - assert salt.minion.resolve_dns(minion_opts) == expected + assert salt.minion.resolve_dns(opts) == expected -async def test_master_type_disable(minion_opts): +async def test_master_type_disable(): """ Tests master_type "disable" to not even attempt connecting to a master. """ - minion_opts.update( + mock_opts = salt.config.DEFAULT_MINION_OPTS.copy() + mock_opts.update( { "master_type": "disable", "master": None, @@ -1077,11 +1098,11 @@ async def test_master_type_disable(minion_opts): } ) - minion = salt.minion.Minion(minion_opts) + minion = salt.minion.Minion(mock_opts) try: try: - minion_man = salt.minion.MinionManager(minion_opts) + minion_man = salt.minion.MinionManager(mock_opts) minion_man._connect_minion(minion) except RuntimeError: pytest.fail("_connect_minion(minion) threw an error, This was not expected") @@ -1092,12 +1113,3 @@ async def test_master_type_disable(minion_opts): assert minion.connected is False finally: minion.destroy() - - -async def test_syndic_async_req_channel(syndic_opts): - syndic_opts["_minion_conf_file"] = "" - syndic_opts["master_uri"] = "tcp://127.0.0.1:4506" - syndic = salt.minion.Syndic(syndic_opts) - syndic.pub_channel = MagicMock() - syndic.tune_in_no_block() - assert isinstance(syndic.async_req_channel, salt.channel.client.AsyncReqChannel) From 83d090ead1b0f06c0ce9ba30b194798434ee58b9 Mon Sep 17 00:00:00 2001 From: cmcmarrow Date: Wed, 6 Sep 2023 17:27:06 -0500 Subject: [PATCH 126/132] port minion_opts --- tests/pytests/unit/conftest.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 tests/pytests/unit/conftest.py diff --git a/tests/pytests/unit/conftest.py b/tests/pytests/unit/conftest.py new file mode 100644 index 00000000000..8b92547505e --- /dev/null +++ b/tests/pytests/unit/conftest.py @@ -0,0 +1,19 @@ +import pytest +import salt.config + + +@pytest.fixture +def minion_opts(tmp_path): + """ + Default minion configuration with relative temporary paths to not require root permissions. + """ + root_dir = tmp_path / "minion" + opts = salt.config.DEFAULT_MINION_OPTS.copy() + opts["__role"] = "minion" + opts["root_dir"] = str(root_dir) + for name in ("cachedir", "pki_dir", "sock_dir", "conf_dir"): + dirpath = root_dir / name + dirpath.mkdir(parents=True) + opts[name] = str(dirpath) + opts["log_file"] = "logs/minion.log" + return opts From 7fe72df5f38830eef59c3dd64acd124bcecf37f1 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 13 Sep 2023 19:25:18 +0100 Subject: [PATCH 127/132] Remove the debian 10 specific code Signed-off-by: Pedro Algarvio --- noxfile.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/noxfile.py b/noxfile.py index 8e8d85cf4e2..39531d0554e 100644 --- a/noxfile.py +++ b/noxfile.py @@ -748,15 +748,6 @@ def _pytest(session, coverage, cmd_args): check=True, ) - if hasattr(platform, "dist"): - if platform.dist()[0] == "debian" and platform.dist()[1].startswith("10"): - subprocess.run( - ["sed", "-i", "/buster-backports/d", "/etc/apt/sources.list"], - check=True, - ) - subprocess.run(["apt-get", "update"], check=True) - subprocess.run(["apt-get", "upgrade", "debian-keyring", "-y"], check=True) - env = {"CI_RUN": "1" if CI_RUN else "0"} args = [ From da92d6947e3b4835a887e392e3eef1ac7cce10ed Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 13 Sep 2023 21:43:33 +0100 Subject: [PATCH 128/132] Skip problematic test on Debian 10 Signed-off-by: Pedro Algarvio --- tests/pytests/functional/modules/test_aptpkg.py | 17 ++++++++++++----- tests/pytests/functional/modules/test_pkg.py | 9 ++++++++- .../functional/states/pkgrepo/test_debian.py | 9 ++++++++- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/tests/pytests/functional/modules/test_aptpkg.py b/tests/pytests/functional/modules/test_aptpkg.py index 1a85986d269..d9e1fb7b394 100644 --- a/tests/pytests/functional/modules/test_aptpkg.py +++ b/tests/pytests/functional/modules/test_aptpkg.py @@ -12,6 +12,7 @@ import salt.modules.file as file import salt.modules.gpg as gpg import salt.utils.files import salt.utils.stringutils +import salt.version from tests.support.mock import Mock, patch pytestmark = [ @@ -82,8 +83,12 @@ def configure_loader_modules(minion_opts): } -@pytest.fixture() -def revert_repo_file(tmp_path): +@pytest.fixture +def revert_repo_file(tmp_path, grains): + if grains["os"] == "Debian" and grains["osmajorrelease"] == 10: + if salt.version.__saltstack_version__.info >= (3006, 0): + pytest.fail("Remove this whole Debian 10 check. It's only meant for 3005.x") + pytest.skip("Skipped on Debian 10 due to old AMI having issues") try: repo_file = pathlib.Path("/etc") / "apt" / "sources.list" backup = tmp_path / "repo_backup" @@ -270,13 +275,15 @@ def test_mod_repo_no_file(tmp_path, revert_repo_file): assert comp in ret -@pytest.fixture() +@pytest.fixture def add_key(request, get_key_file): """ """ key = Key(request.param) key.add_key() - yield request.param - key.del_key() + try: + yield request.param + finally: + key.del_key() @pytest.mark.parametrize("get_key_file", KEY_FILES, indirect=True) diff --git a/tests/pytests/functional/modules/test_pkg.py b/tests/pytests/functional/modules/test_pkg.py index 99058b3cc00..2214b87516f 100644 --- a/tests/pytests/functional/modules/test_pkg.py +++ b/tests/pytests/functional/modules/test_pkg.py @@ -9,6 +9,7 @@ import pytest import salt.utils.path import salt.utils.pkg import salt.utils.platform +import salt.version from saltfactories.utils.functional import Loaders log = logging.getLogger(__name__) @@ -39,6 +40,12 @@ def preserve_rhel_yum_conf(): @pytest.fixture(autouse=True) def refresh_db(ctx, grains, modules): + + if grains["os"] == "Debian" and grains["osmajorrelease"] == 10: + if salt.version.__saltstack_version__.info >= (3006, 0): + pytest.fail("Remove this whole Debian 10 check. It's only meant for 3005.x") + pytest.skip("Skipped on Debian 10 due to old AMI having issues") + if "refresh" not in ctx: modules.pkg.refresh_db() ctx["refresh"] = True @@ -210,7 +217,7 @@ def test_mod_del_repo_multiline_values(modules): @pytest.mark.flaky(max_runs=4) @pytest.mark.requires_salt_modules("pkg.owner") -def test_owner(modules): +def test_owner(modules, grains): """ test finding the package owning a file """ diff --git a/tests/pytests/functional/states/pkgrepo/test_debian.py b/tests/pytests/functional/states/pkgrepo/test_debian.py index 5c42d3add8f..534b455e737 100644 --- a/tests/pytests/functional/states/pkgrepo/test_debian.py +++ b/tests/pytests/functional/states/pkgrepo/test_debian.py @@ -9,6 +9,7 @@ import _pytest._version import attr import pytest import salt.utils.files +import salt.version from tests.conftest import CODE_DIR try: @@ -541,10 +542,16 @@ def test_repo_present_absent_trailing_slash_uri(pkgrepo, trailing_slash_repo_fil @pytest.mark.requires_salt_states("pkgrepo.managed", "pkgrepo.absent") -def test_repo_present_absent_no_trailing_slash_uri(pkgrepo, trailing_slash_repo_file): +def test_repo_present_absent_no_trailing_slash_uri( + pkgrepo, trailing_slash_repo_file, grains +): """ test adding a repo with a trailing slash in the uri """ + if grains["os"] == "Debian" and grains["osmajorrelease"] == 10: + if salt.version.__saltstack_version__.info >= (3006, 0): + pytest.fail("Remove this whole Debian 10 check. It's only meant for 3005.x") + pytest.skip("Skipped on Debian 10 due to old AMI having issues") # without the trailing slash repo_content = "deb http://www.deb-multimedia.org stable main" # initial creation From 16e5696ee20b16f0bd13fdce2aed360e8cbf23d0 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 14 Sep 2023 07:10:14 +0100 Subject: [PATCH 129/132] Generate 3005.3 changelog Signed-off-by: Pedro Algarvio --- CHANGELOG.md | 12 ++++++++++++ changelog/65002.fixed | 1 - changelog/65167.security | 2 -- 3 files changed, 12 insertions(+), 3 deletions(-) delete mode 100644 changelog/65002.fixed delete mode 100644 changelog/65167.security diff --git a/CHANGELOG.md b/CHANGELOG.md index ed8b393dbc4..f9fca0d973f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,18 @@ Versions are `MAJOR.PATCH`. # Changelog +## Salt v3005.3 (2023-09-14) + +### Fixed + +- Fix __env__ and improve cache cleaning see more info at pull #65017. (#65002) + + +### Security + +- Update to `gitpython>=3.1.35` due to https://github.com/advisories/GHSA-wfm5-v35h-vwf4 and https://github.com/advisories/GHSA-cwvm-v4w8-q58c (#65167) + + Salt v3005.2 (2023-07-31) ========================= diff --git a/changelog/65002.fixed b/changelog/65002.fixed deleted file mode 100644 index 86ed2d4bccd..00000000000 --- a/changelog/65002.fixed +++ /dev/null @@ -1 +0,0 @@ -Fix __env__ and improve cache cleaning see more info at pull #65017. diff --git a/changelog/65167.security b/changelog/65167.security deleted file mode 100644 index 72cb8711f19..00000000000 --- a/changelog/65167.security +++ /dev/null @@ -1,2 +0,0 @@ -Update to `gitpython>=3.1.35` due to https://github.com/advisories/GHSA-wfm5-v35h-vwf4 and https://github.com/advisories/GHSA-cwvm-v4w8-q58c - From 4e17aa85bab1e4178770595e7993c06a89725063 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 14 Sep 2023 07:42:17 +0100 Subject: [PATCH 130/132] Update man-pages Signed-off-by: Pedro Algarvio --- doc/man/salt-api.1 | 2 +- doc/man/salt-call.1 | 2 +- doc/man/salt-cloud.1 | 2 +- doc/man/salt-cp.1 | 2 +- doc/man/salt-key.1 | 2 +- doc/man/salt-master.1 | 2 +- doc/man/salt-minion.1 | 2 +- doc/man/salt-proxy.1 | 2 +- doc/man/salt-run.1 | 2 +- doc/man/salt-ssh.1 | 2 +- doc/man/salt-syndic.1 | 2 +- doc/man/salt.1 | 2 +- doc/man/salt.7 | 32 ++++++++++++++++---------------- doc/man/spm.1 | 2 +- noxfile.py | 9 ++++++++- 15 files changed, 37 insertions(+), 30 deletions(-) diff --git a/doc/man/salt-api.1 b/doc/man/salt-api.1 index bb220cc6de7..c42435a5ec1 100644 --- a/doc/man/salt-api.1 +++ b/doc/man/salt-api.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-API" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-API" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-api \- salt-api Command . diff --git a/doc/man/salt-call.1 b/doc/man/salt-call.1 index 6d5d600a3b0..d6778f60f25 100644 --- a/doc/man/salt-call.1 +++ b/doc/man/salt-call.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CALL" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-CALL" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-call \- salt-call Documentation . diff --git a/doc/man/salt-cloud.1 b/doc/man/salt-cloud.1 index 4393e2c7759..54690b7655c 100644 --- a/doc/man/salt-cloud.1 +++ b/doc/man/salt-cloud.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CLOUD" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-CLOUD" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-cloud \- Salt Cloud Command . diff --git a/doc/man/salt-cp.1 b/doc/man/salt-cp.1 index cedd853c3ba..1f03be91abe 100644 --- a/doc/man/salt-cp.1 +++ b/doc/man/salt-cp.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CP" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-CP" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-cp \- salt-cp Documentation . diff --git a/doc/man/salt-key.1 b/doc/man/salt-key.1 index 9986c6e6e81..568a2fd6396 100644 --- a/doc/man/salt-key.1 +++ b/doc/man/salt-key.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-KEY" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-KEY" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-key \- salt-key Documentation . diff --git a/doc/man/salt-master.1 b/doc/man/salt-master.1 index 0cbb11f0b41..86731be2685 100644 --- a/doc/man/salt-master.1 +++ b/doc/man/salt-master.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-MASTER" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-MASTER" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-master \- salt-master Documentation . diff --git a/doc/man/salt-minion.1 b/doc/man/salt-minion.1 index 6eb093ddadf..b53b93500d0 100644 --- a/doc/man/salt-minion.1 +++ b/doc/man/salt-minion.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-MINION" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-MINION" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-minion \- salt-minion Documentation . diff --git a/doc/man/salt-proxy.1 b/doc/man/salt-proxy.1 index 1293e29076d..b8e82cad1c0 100644 --- a/doc/man/salt-proxy.1 +++ b/doc/man/salt-proxy.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-PROXY" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-PROXY" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-proxy \- salt-proxy Documentation . diff --git a/doc/man/salt-run.1 b/doc/man/salt-run.1 index ef26eb23f8b..02b286b287e 100644 --- a/doc/man/salt-run.1 +++ b/doc/man/salt-run.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-RUN" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-RUN" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-run \- salt-run Documentation . diff --git a/doc/man/salt-ssh.1 b/doc/man/salt-ssh.1 index 7fc3e8ce933..98a488f2b08 100644 --- a/doc/man/salt-ssh.1 +++ b/doc/man/salt-ssh.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-SSH" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-SSH" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-ssh \- salt-ssh Documentation . diff --git a/doc/man/salt-syndic.1 b/doc/man/salt-syndic.1 index 61f63c517c6..19ee5394518 100644 --- a/doc/man/salt-syndic.1 +++ b/doc/man/salt-syndic.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-SYNDIC" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT-SYNDIC" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt-syndic \- salt-syndic Documentation . diff --git a/doc/man/salt.1 b/doc/man/salt.1 index f32b35f818e..2302acd4654 100644 --- a/doc/man/salt.1 +++ b/doc/man/salt.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SALT" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME salt \- salt . diff --git a/doc/man/salt.7 b/doc/man/salt.7 index ea0b55e322c..295694bb977 100644 --- a/doc/man/salt.7 +++ b/doc/man/salt.7 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT" "7" "Jul 31, 2023" "3005" "Salt" +.TH "SALT" "7" "Sep 14, 2023" "3005" "Salt" .SH NAME salt \- Salt Documentation . @@ -151127,7 +151127,7 @@ salt \(aq*\(aq cmd.powershell_all "dir mydirectory" force_list=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.retcode(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.retcode(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/usr/bin/fish\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute a shell command and return the command\(aqs return code. .INDENT 7.0 .TP @@ -151386,7 +151386,7 @@ salt \(aq*\(aq cmd.retcode "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, encoded_cmd=False, raise_err=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/usr/bin/fish\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, encoded_cmd=False, raise_err=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute the passed command and return the output as a string .INDENT 7.0 .TP @@ -151767,7 +151767,7 @@ salt \(aq*\(aq cmd.run cmd=\(aqsed \-e s/=/:/g\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_all(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, redirect_stderr=False, password=None, encoded_cmd=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_all(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/usr/bin/fish\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, redirect_stderr=False, password=None, encoded_cmd=False, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute the passed command and return a dict of return data .INDENT 7.0 .TP @@ -152110,7 +152110,7 @@ salt \(aq*\(aq cmd.run_all "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_bg(cmd, cwd=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, timeout=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_bg(cmd, cwd=None, runas=None, group=None, shell=\(aq/usr/bin/fish\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, timeout=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) New in version 2016.3.0. .sp @@ -152411,7 +152411,7 @@ salt \(aq*\(aq cmd.run_bg cmd=\(aqls \-lR / | sed \-e s/=/:/g > /tmp/dontwait\(a .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_chroot(root, cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=True, binds=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqquiet\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_chroot(root, cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/usr/bin/fish\(aq, python_shell=True, binds=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqquiet\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) New in version 2014.7.0. .sp @@ -152632,7 +152632,7 @@ salt \(aq*\(aq cmd.run_chroot /var/lib/lxc/container_name/rootfs \(aqsh /tmp/boo .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_stderr(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_stderr(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/usr/bin/fish\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute a command and only return the standard error .INDENT 7.0 .TP @@ -152909,7 +152909,7 @@ salt \(aq*\(aq cmd.run_stderr "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_stdout(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.run_stdout(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/usr/bin/fish\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute a command, and only return the standard out .INDENT 7.0 .TP @@ -153186,7 +153186,7 @@ salt \(aq*\(aq cmd.run_stdout "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.script(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, saltenv=None, use_vt=False, bg=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.script(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/usr/bin/fish\(aq, python_shell=None, env=None, template=None, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, saltenv=None, use_vt=False, bg=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Download a script from a remote location and execute the script locally. The script can be located on the salt master file server or on an HTTP/FTP server. @@ -153462,7 +153462,7 @@ salt \(aq*\(aq cmd.script salt://scripts/runme.sh stdin=\(aqone\entwo\enthree\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.script_retcode(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, saltenv=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.script_retcode(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/usr/bin/fish\(aq, python_shell=None, env=None, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, saltenv=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, use_vt=False, password=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Download a script from a remote location and execute the script locally. The script can be located on the salt master file server or on an HTTP/FTP server. @@ -153687,7 +153687,7 @@ salt \(aq*\(aq cmd.script_retcode salt://scripts/runme.sh stdin=\(aqone\entwo\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.shell(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) +.B salt.modules.cmdmod.shell(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/usr/bin/fish\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=None, use_vt=False, bg=False, password=None, prepend_path=None, success_retcodes=None, success_stdout=None, success_stderr=None, **kwargs) Execute the passed command and return the output as a string. .sp New in version 2015.5.0. @@ -192875,7 +192875,7 @@ Passes through all the parameters described in the \fI\%utils.http.query function\fP: .INDENT 7.0 .TP -.B salt.utils.http.query(url, method=\(aqGET\(aq, params=None, data=None, data_file=None, header_dict=None, header_list=None, header_file=None, username=None, password=None, auth=None, decode=False, decode_type=\(aqauto\(aq, status=False, headers=False, text=False, cookies=None, cookie_jar=None, cookie_format=\(aqlwp\(aq, persist_session=False, session_cookie_jar=None, data_render=False, data_renderer=None, header_render=False, header_renderer=None, template_dict=None, test=False, test_url=None, node=\(aqminion\(aq, port=80, opts=None, backend=None, ca_bundle=None, verify_ssl=None, cert=None, text_out=None, headers_out=None, decode_out=None, stream=False, streaming_callback=None, header_callback=None, handle=False, agent=\(aqSalt/3005.1+63.g5ea80bb539\(aq, hide_fields=None, raise_error=True, formdata=False, formdata_fieldname=None, formdata_filename=None, decode_body=True, **kwargs) +.B salt.utils.http.query(url, method=\(aqGET\(aq, params=None, data=None, data_file=None, header_dict=None, header_list=None, header_file=None, username=None, password=None, auth=None, decode=False, decode_type=\(aqauto\(aq, status=False, headers=False, text=False, cookies=None, cookie_jar=None, cookie_format=\(aqlwp\(aq, persist_session=False, session_cookie_jar=None, data_render=False, data_renderer=None, header_render=False, header_renderer=None, template_dict=None, test=False, test_url=None, node=\(aqminion\(aq, port=80, opts=None, backend=None, ca_bundle=None, verify_ssl=None, cert=None, text_out=None, headers_out=None, decode_out=None, stream=False, streaming_callback=None, header_callback=None, handle=False, agent=\(aqSalt/3005.2+47.gf78d44cb11\(aq, hide_fields=None, raise_error=True, formdata=False, formdata_fieldname=None, formdata_filename=None, decode_body=True, **kwargs) Query a resource, and decode the return data .UNINDENT .INDENT 7.0 @@ -448748,7 +448748,7 @@ installed2 .UNINDENT .INDENT 0.0 .TP -.B salt.states.zcbuildout.installed(name, config=\(aqbuildout.cfg\(aq, quiet=False, parts=None, user=None, env=(), buildout_ver=None, test_release=False, distribute=None, new_st=None, offline=False, newest=False, python=\(aq/home/ch3ll/git/salt/.nox/docs\-man\-compress\-false\-update\-true\-clean\-true/bin/python\(aq, debug=False, verbose=False, unless=None, onlyif=None, use_vt=False, loglevel=\(aqdebug\(aq, **kwargs) +.B salt.states.zcbuildout.installed(name, config=\(aqbuildout.cfg\(aq, quiet=False, parts=None, user=None, env=(), buildout_ver=None, test_release=False, distribute=None, new_st=None, offline=False, newest=False, python=\(aq/home/vampas/projects/SaltStack/salt/branches/freeze/.nox/docs\-man\-compress\-true\-update\-true\-clean\-true/bin/python\(aq, debug=False, verbose=False, unless=None, onlyif=None, use_vt=False, loglevel=\(aqdebug\(aq, **kwargs) Install buildout in a specific directory .sp It is a thin wrapper to modules.buildout.buildout @@ -468121,9 +468121,7 @@ Upgrade to \fIrequests==2.31.0\fP .UNINDENT .UNINDENT .IP \(bu 2 -Upgrade to \fIcryptography==41.0.2\(ga(and therefor \(gapyopenssl==23.2.0\fP due to \fI\%https://github.com/advisories/GHSA\-5cpq\-8wj7\-hf2v\fP) -.sp -This only really impacts pip installs of Salt and the windows onedir since the linux and macos onedir build every package dependency from source, not from pre\-existing wheels. +Upgrade to \fIcryptography==41.0.3\(ga(and therefor \(gapyopenssl==23.2.0\fP due to \fI\%https://github.com/advisories/GHSA\-jm77\-qphf\-c4w8\fP) .sp Also resolves the following cryptography advisories: .INDENT 2.0 @@ -468131,6 +468129,8 @@ Also resolves the following cryptography advisories: .B Due to: .INDENT 7.0 .IP \(bu 2 +\fI\%https://github.com/advisories/GHSA\-5cpq\-8wj7\-hf2v\fP +.IP \(bu 2 \fI\%https://github.com/advisories/GHSA\-x4qr\-2fvf\-3mr5\fP .IP \(bu 2 \fI\%https://github.com/advisories/GHSA\-w7pp\-m8wf\-vj6r\fP diff --git a/doc/man/spm.1 b/doc/man/spm.1 index 1f7fdb0f12f..a5d2a65458c 100644 --- a/doc/man/spm.1 +++ b/doc/man/spm.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SPM" "1" "Jul 31, 2023" "3005" "Salt" +.TH "SPM" "1" "Sep 14, 2023" "3005" "Salt" .SH NAME spm \- Salt Package Manager Command . diff --git a/noxfile.py b/noxfile.py index 39531d0554e..dc121f4a377 100644 --- a/noxfile.py +++ b/noxfile.py @@ -961,7 +961,14 @@ def docs(session, compress, update, clean): """ Build Salt's Documentation """ - session.notify("docs-html-{}(compress={})".format(session.python, compress)) + session.notify( + find_session_runner( + session, + "docs-html-{}".format(session.python), + compress=compress, + clean=clean, + ) + ) session.notify( find_session_runner( session, From 911160eb5d662caeaf6321eb9c16bfdb0acbcd06 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Thu, 14 Sep 2023 06:35:03 -0600 Subject: [PATCH 131/132] Add 3005.3 Release Notes --- doc/topics/releases/3005.3.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 doc/topics/releases/3005.3.rst diff --git a/doc/topics/releases/3005.3.rst b/doc/topics/releases/3005.3.rst new file mode 100644 index 00000000000..71d0f184c51 --- /dev/null +++ b/doc/topics/releases/3005.3.rst @@ -0,0 +1,19 @@ +.. _release-3005-3: + +========================= +Salt 3005.3 Release Notes +========================= + +Version 3005.3 is a Bug fix release for :ref:`3005 `. + + +Changed +------- + +- Fix __env__ and improve cache cleaning see more info at pull #65017. (#65002) + + +Security +-------- + +- Update to `gitpython>=3.1.35` due to https://github.com/advisories/GHSA-wfm5-v35h-vwf4 and https://github.com/advisories/GHSA-cwvm-v4w8-q58c (#65167) From bc489f29fc7bb82eb84991692c3c06975cdda5a6 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 15 Sep 2023 11:01:37 +0100 Subject: [PATCH 132/132] Skip more problematic tests on Debian 10 due to old AMI Signed-off-by: Pedro Algarvio --- tests/pytests/functional/states/test_pkg.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/pytests/functional/states/test_pkg.py b/tests/pytests/functional/states/test_pkg.py index 6a49ec1f095..66509d614b2 100644 --- a/tests/pytests/functional/states/test_pkg.py +++ b/tests/pytests/functional/states/test_pkg.py @@ -23,6 +23,12 @@ pytestmark = [ @pytest.fixture(scope="module", autouse=True) def refresh_db(grains, modules): + + if grains["os"] == "Debian" and grains["osmajorrelease"] == 10: + if salt.version.__saltstack_version__.info >= (3006, 0): + pytest.fail("Remove this whole Debian 10 check. It's only meant for 3005.x") + pytest.skip("Skipped on Debian 10 due to old AMI having issues") + modules.pkg.refresh_db() # If this is Arch Linux, check if pacman is in use by another process