After upgrading py-salt from 3006.5 to 3007, neither master nor minion starts: # service salt_master restart Stopping salt_master. Waiting for PIDS: 3735. Starting salt_master. Traceback (most recent call last): File "/usr/local/bin/salt-master", line 33, in <module> sys.exit(load_entry_point('salt==3007.0', 'console_scripts', 'salt-master')()) File "/usr/local/lib/python3.9/site-packages/salt/scripts.py", line 79, in salt_master import salt.cli.daemons File "/usr/local/lib/python3.9/site-packages/salt/cli/daemons.py", line 14, in <module> from salt.utils.process import HAS_PSUTIL File "/usr/local/lib/python3.9/site-packages/salt/utils/process.py", line 23, in <module> from tornado import gen ModuleNotFoundError: No module named 'tornado' [ERROR ] An un-handled exception was caught by Salt's global exception handler: ModuleNotFoundError: No module named 'tornado' Traceback (most recent call last): File "/usr/local/bin/salt-master", line 33, in <module> sys.exit(load_entry_point('salt==3007.0', 'console_scripts', 'salt-master')()) File "/usr/local/lib/python3.9/site-packages/salt/scripts.py", line 79, in salt_master import salt.cli.daemons File "/usr/local/lib/python3.9/site-packages/salt/cli/daemons.py", line 14, in <module> from salt.utils.process import HAS_PSUTIL File "/usr/local/lib/python3.9/site-packages/salt/utils/process.py", line 23, in <module> from tornado import gen ModuleNotFoundError: No module named 'tornado' /usr/local/etc/rc.d/salt_master: WARNING: failed to start salt_master After installing py39-tornado (6.3.3), both master and minion starts. But does not work properly. Executing 'salt' on the master seems to dispatch a job to the minion (I can see output in minion logs), but the salt CLI command only shows errors: [WARNING ] TCP Publish Client encountered an exception while connecting to /var/run/salt/master/master_event_pub.ipc: StreamClosedError('Stream is closed'), will reconnect in 1 seconds - File "/usr/local/bin/salt", line 33, in <module> sys.exit(load_entry_point('salt==3007.0', 'console_scripts', 'salt')()) ... Did not find anything obvious, my master config file is more or less empty with only pillar & state path pointed out. At this point I gave up and reverted to 3006.5, which seems to work.
I have the same problem since upgrading to Salt 3007.0. In my case, I am running py310-salt-3007.0, built via Poudriere and installed via pkg.
I've tested locally with tornado 6.4, and both salt-master/salt-minion will start, but any salt command request then crashes out with: > File "/usr/local/lib/python3.9/site-packages/salt/transport/tcp.py", line 374, in recv > events, _, _ = select.select([self._stream.socket], [], [], 0) > TypeError: argument must be an int, or have a fileno() method. Other than this, looking through open GH issues in the salt repo, salt 3007 is badly broken and has the following show-stoppers for my installs: github.com/saltstack/salt/issues/66237 github.com/saltstack/salt/issues/66194 Any possibility of reverting to 3006?
this patch would be great for salt-3006, btw (already merged into saltstack:3006.x branch): https://github.com/saltstack/salt/pull/66153/files Otherwise, 3006.6 clients can't talk to a 3006.7 master.
(In reply to Nick Hilliard from comment #2) I echo the request: would it be possible to revert to the previous, known-working version, until 3007 is confirmed to work (at least start up) properly?
Created attachment 249884 [details] patch to revert to 3006.07 + fix GH issue #66153 this patch downgrades to 3006.7 + applies a patch to fix GH issue #66153. PORTEPOCH isn't set. It may be necessary to set PORTEPOCH.
(In reply to Paul Mather from comment #4) if you installed from pkg the previous pkg should be under /var/cache/pkg/ unless you've done pkg clean
I reverted back to the previous version for the time being, .. This gives the following error on the server side, however it is functional. ```ERROR ] Module/package collision: '/usr/local/lib/python3.9/site-packages/salt/utils/vault.py' and '/usr/local/lib/python3.9/site-packages/salt/utils/vault' [ERROR ] Module/package collision: '/usr/local/lib/python3.9/site-packages/salt/utils/__pycache__/vault.cpython-39.pyc' and '/usr/local/lib/python3.9/site-packages/salt/utils/vault' [ERROR ] Module/package collision: '/usr/local/lib/python3.9/site-packages/salt/utils/vault.py' and '/usr/local/lib/python3.9/site-packages/salt/utils/vault' [ERROR ] Module/package collision: '/usr/local/lib/python3.9/site-packages/salt/utils/__pycache__/vault.cpython-39.pyc' and '/usr/local/lib/python3.9/site-packages/salt/utils/vault' ``` Did pkg lock py39-salt for the time being on salt server. That way I can still pkg upgrade without accidentally upgrading the salt pkg.
was this even tested before pushing it upstream? It's completely broken
On the plus side, at least I don't have a bunch of our infrastructure managed by salt....wait! :/ Is there an ETA on a fix for this?
(In reply to Ofloo from comment #6) Thanks for the suggestion. Unfortunately, I'm post-"pkg clean", and I build my ports packages via Poudriere, so at this point I'm looking at rolling back my /usr/ports to undo commit 4eb79f15c612dc1b91ae4156e75f95387136a806...
(In reply to Paul Mather from comment #10) I only tested it on a minion that was non important, but I was able to install the 2024Q1 version (3006.6) and then pkg lock that while upgrading the rest of my hosts to Q2, without issue. Any chance you have zfs snapshots around?
Cloned my system made new upgrade but now i'm missing pkg_resources.DistributionNotFound: The 'pyzmq>=25.1.2' distribution was not found and is required by salt
After installing cmake, because it was required to install the latest pyzmq from pip .. # python3.9 -m pip install pyzmq --upgrade Requirement already satisfied: pyzmq in /usr/local/lib/python3.9/site-packages (25.0.2) Collecting pyzmq Using cached pyzmq-26.0.2.tar.gz (266 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: pyzmq Building wheel for pyzmq (pyproject.toml) ... done Created wheel for pyzmq: filename=pyzmq-26.0.2-cp39-cp39-freebsd_14_0_release_p6_amd64.whl size=290525 sha256=fdbfc51e83c86d75144f2df02df045ae426ae76928beb93f73e8f77167e3e430 Stored in directory: /root/.cache/pip/wheels/91/a1/50/7deb937b13e6f21d9463ef937e18d2b801310c2e8170ae2efd Successfully built pyzmq Installing collected packages: pyzmq Attempting uninstall: pyzmq Found existing installation: pyzmq 25.0.2 Uninstalling pyzmq-25.0.2: Successfully uninstalled pyzmq-25.0.2 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. salt 3007.0 requires aiohttp>=3.9.0, which is not installed. salt 3007.0 requires cherrypy>=18.6.1, which is not installed. salt 3007.0 requires setproctitle>=1.2.3, which is not installed. salt 3007.0 requires pyopenssl>=24.0.0, but you have pyopenssl 23.2.0 which is incompatible. Successfully installed pyzmq-26.0.2 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv After running: # python3.9 -m pip install salt --upgrade Requirement already satisfied: salt in /usr/local/lib/python3.9/site-packages (3007.0) Ignoring rpm-vercmp: markers 'sys_platform == "linux"' don't match your environment Ignoring pywin32: markers 'sys_platform == "win32"' don't match your environment Ignoring wmi: markers 'sys_platform == "win32"' don't match your environment Ignoring pythonnet: markers 'sys_platform == "win32"' don't match your environment Ignoring pymssql: markers 'sys_platform == "win32"' don't match your environment Ignoring pymysql: markers 'sys_platform == "win32"' don't match your environment Ignoring lxml: markers 'sys_platform == "win32"' don't match your environment Ignoring xmltodict: markers 'sys_platform == "win32"' don't match your environment Requirement already satisfied: Jinja2 in /usr/local/lib/python3.9/site-packages (from salt) (3.1.3) Requirement already satisfied: jmespath in /usr/local/lib/python3.9/site-packages (from salt) (1.0.1) Requirement already satisfied: msgpack>=1.0.0 in /usr/local/lib/python3.9/site-packages (from salt) (1.0.8) Requirement already satisfied: PyYAML in /usr/local/lib/python3.9/site-packages (from salt) (6.0.1) Requirement already satisfied: MarkupSafe in /usr/local/lib/python3.9/site-packages (from salt) (2.1.5) Requirement already satisfied: requests>=2.25.1 in /usr/local/lib/python3.9/site-packages (from salt) (2.31.0) Requirement already satisfied: distro>=1.0.1 in /usr/local/lib/python3.9/site-packages (from salt) (1.9.0) Requirement already satisfied: psutil>=5.0.0 in /usr/local/lib/python3.9/site-packages (from salt) (5.9.8) Requirement already satisfied: packaging>=21.3 in /usr/local/lib/python3.9/site-packages (from salt) (23.2) Requirement already satisfied: looseversion in /usr/local/lib/python3.9/site-packages (from salt) (1.3.0) Requirement already satisfied: tornado>=6.3.3 in /usr/local/lib/python3.9/site-packages (from salt) (6.4) Collecting aiohttp>=3.9.0 (from salt) Downloading aiohttp-3.9.5.tar.gz (7.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.5/7.5 MB 36.7 MB/s eta 0:00:00 Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... done Preparing metadata (pyproject.toml) ... done Collecting setproctitle>=1.2.3 (from salt) Downloading setproctitle-1.3.3.tar.gz (27 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Requirement already satisfied: timelib>=0.2.5 in /usr/local/lib/python3.9/site-packages (from salt) (0.3.0) Collecting pyopenssl>=24.0.0 (from salt) Downloading pyOpenSSL-24.1.0-py3-none-any.whl.metadata (12 kB) Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.9/site-packages (from salt) (2.9.0) Requirement already satisfied: python-gnupg>=0.4.7 in /usr/local/lib/python3.9/site-packages (from salt) (0.5.1) Collecting cherrypy>=18.6.1 (from salt) Downloading CherryPy-18.9.0-py3-none-any.whl.metadata (8.8 kB) Requirement already satisfied: importlib-metadata>=3.3.0 in /usr/local/lib/python3.9/site-packages (from salt) (7.1.0) Requirement already satisfied: cryptography>=42.0.0 in /usr/local/lib/python3.9/site-packages (from salt) (42.0.5) Requirement already satisfied: pyzmq>=25.1.2 in /usr/local/lib/python3.9/site-packages (from salt) (26.0.2) Requirement already satisfied: pycryptodomex>=3.9.8 in /usr/local/lib/python3.9/site-packages (from salt) (3.20.0) Collecting aiosignal>=1.1.2 (from aiohttp>=3.9.0->salt) Downloading aiosignal-1.3.1-py3-none-any.whl.metadata (4.0 kB) Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.9/site-packages (from aiohttp>=3.9.0->salt) (23.2.0) Collecting frozenlist>=1.1.1 (from aiohttp>=3.9.0->salt) Downloading frozenlist-1.4.1-py3-none-any.whl.metadata (12 kB) Collecting multidict<7.0,>=4.5 (from aiohttp>=3.9.0->salt) Downloading multidict-6.0.5-py3-none-any.whl.metadata (4.2 kB) Collecting yarl<2.0,>=1.0 (from aiohttp>=3.9.0->salt) Downloading yarl-1.9.4-py3-none-any.whl.metadata (31 kB) Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.9/site-packages (from aiohttp>=3.9.0->salt) (4.0.3) Collecting cheroot>=8.2.1 (from cherrypy>=18.6.1->salt) Downloading cheroot-10.0.1-py3-none-any.whl.metadata (7.1 kB) Collecting portend>=2.1.1 (from cherrypy>=18.6.1->salt) Downloading portend-3.2.0-py3-none-any.whl.metadata (3.6 kB) Collecting more-itertools (from cherrypy>=18.6.1->salt) Downloading more_itertools-10.2.0-py3-none-any.whl.metadata (34 kB) Collecting zc.lockfile (from cherrypy>=18.6.1->salt) Downloading zc.lockfile-3.0.post1-py3-none-any.whl.metadata (6.2 kB) Collecting jaraco.collections (from cherrypy>=18.6.1->salt) Downloading jaraco.collections-5.0.1-py3-none-any.whl.metadata (3.8 kB) Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.9/site-packages (from cryptography>=42.0.0->salt) (1.16.0) Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.9/site-packages (from importlib-metadata>=3.3.0->salt) (3.18.1) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.9/site-packages (from python-dateutil>=2.8.1->salt) (1.16.0) Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.9/site-packages (from requests>=2.25.1->salt) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.9/site-packages (from requests>=2.25.1->salt) (3.7) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.9/site-packages (from requests>=2.25.1->salt) (1.26.18) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.9/site-packages (from requests>=2.25.1->salt) (2024.2.2) Requirement already satisfied: pycparser in /usr/local/lib/python3.9/site-packages (from cffi>=1.12->cryptography>=42.0.0->salt) (2.22) Collecting jaraco.functools (from cheroot>=8.2.1->cherrypy>=18.6.1->salt) Downloading jaraco.functools-4.0.1-py3-none-any.whl.metadata (2.9 kB) Collecting tempora>=1.8 (from portend>=2.1.1->cherrypy>=18.6.1->salt) Downloading tempora-5.5.1-py3-none-any.whl.metadata (3.0 kB) Collecting jaraco.text (from jaraco.collections->cherrypy>=18.6.1->salt) Downloading jaraco.text-3.12.0-py3-none-any.whl.metadata (4.0 kB) Requirement already satisfied: setuptools in /usr/local/lib/python3.9/site-packages (from zc.lockfile->cherrypy>=18.6.1->salt) (63.1.0) Requirement already satisfied: pytz in /usr/local/lib/python3.9/site-packages (from tempora>=1.8->portend>=2.1.1->cherrypy>=18.6.1->salt) (2024.1) Collecting jaraco.context>=4.1 (from jaraco.text->jaraco.collections->cherrypy>=18.6.1->salt) Downloading jaraco.context-5.3.0-py3-none-any.whl.metadata (4.0 kB) Collecting autocommand (from jaraco.text->jaraco.collections->cherrypy>=18.6.1->salt) Downloading autocommand-2.2.2-py3-none-any.whl.metadata (15 kB) Collecting inflect (from jaraco.text->jaraco.collections->cherrypy>=18.6.1->salt) Downloading inflect-7.2.1-py3-none-any.whl.metadata (21 kB) Collecting backports.tarfile (from jaraco.context>=4.1->jaraco.text->jaraco.collections->cherrypy>=18.6.1->salt) Downloading backports.tarfile-1.1.1-py3-none-any.whl.metadata (2.0 kB) Collecting typeguard>=4.0.1 (from inflect->jaraco.text->jaraco.collections->cherrypy>=18.6.1->salt) Downloading typeguard-4.2.1-py3-none-any.whl.metadata (3.7 kB) Requirement already satisfied: typing-extensions in /usr/local/lib/python3.9/site-packages (from inflect->jaraco.text->jaraco.collections->cherrypy>=18.6.1->salt) (4.11.0) Downloading CherryPy-18.9.0-py3-none-any.whl (348 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 348.8/348.8 kB 1.2 MB/s eta 0:00:00 Downloading pyOpenSSL-24.1.0-py3-none-any.whl (56 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.9/56.9 kB 1.7 MB/s eta 0:00:00 Downloading aiosignal-1.3.1-py3-none-any.whl (7.6 kB) Downloading cheroot-10.0.1-py3-none-any.whl (104 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 104.8/104.8 kB 4.7 MB/s eta 0:00:00 Downloading frozenlist-1.4.1-py3-none-any.whl (11 kB) Downloading more_itertools-10.2.0-py3-none-any.whl (57 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.0/57.0 kB 6.5 MB/s eta 0:00:00 Downloading multidict-6.0.5-py3-none-any.whl (9.7 kB) Downloading portend-3.2.0-py3-none-any.whl (5.3 kB) Downloading yarl-1.9.4-py3-none-any.whl (31 kB) Downloading jaraco.collections-5.0.1-py3-none-any.whl (10 kB) Downloading zc.lockfile-3.0.post1-py3-none-any.whl (9.8 kB) Downloading tempora-5.5.1-py3-none-any.whl (13 kB) Downloading jaraco.functools-4.0.1-py3-none-any.whl (9.8 kB) Downloading jaraco.text-3.12.0-py3-none-any.whl (11 kB) Downloading jaraco.context-5.3.0-py3-none-any.whl (6.5 kB) Downloading autocommand-2.2.2-py3-none-any.whl (19 kB) Downloading inflect-7.2.1-py3-none-any.whl (34 kB) Downloading typeguard-4.2.1-py3-none-any.whl (34 kB) Downloading backports.tarfile-1.1.1-py3-none-any.whl (29 kB) Building wheels for collected packages: aiohttp, setproctitle Building wheel for aiohttp (pyproject.toml) ... done Created wheel for aiohttp: filename=aiohttp-3.9.5-cp39-cp39-freebsd_14_0_release_p6_amd64.whl size=406505 sha256=cd0ba8eeb2ff08cef9ab4336f903195a768675eb6daeaa2ea2c0d72d0ad050f0 Stored in directory: /root/.cache/pip/wheels/56/5e/43/18555983d002ba95a19bf758a33c3251fa81e39847e3b46f23 Building wheel for setproctitle (pyproject.toml) ... done Created wheel for setproctitle: filename=setproctitle-1.3.3-cp39-cp39-freebsd_14_0_release_p6_amd64.whl size=13442 sha256=69cbd69488ff1977414161867feac7de22785821982ff0c14ff4b5f897f8e42b Stored in directory: /root/.cache/pip/wheels/6a/ee/ec/0bd85bda0ff784b07950d664e4b009e23a6400f1d1f9474a25 Successfully built aiohttp setproctitle Installing collected packages: zc.lockfile, setproctitle, multidict, more-itertools, frozenlist, backports.tarfile, autocommand, yarl, typeguard, jaraco.functools, jaraco.context, aiosignal, tempora, pyopenssl, inflect, cheroot, aiohttp, portend, jaraco.text, jaraco.collections, cherrypy Attempting uninstall: pyopenssl Found existing installation: pyOpenSSL 23.2.0 Uninstalling pyOpenSSL-23.2.0: Successfully uninstalled pyOpenSSL-23.2.0 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. errbot 6.2.0 requires pygments-markdown-lexer>=0.1.0.dev39, which is not installed. Successfully installed aiohttp-3.9.5 aiosignal-1.3.1 autocommand-2.2.2 backports.tarfile-1.1.1 cheroot-10.0.1 cherrypy-18.9.0 frozenlist-1.4.1 inflect-7.2.1 jaraco.collections-5.0.1 jaraco.context-5.3.0 jaraco.functools-4.0.1 jaraco.text-3.12.0 more-itertools-10.2.0 multidict-6.0.5 portend-3.2.0 pyopenssl-24.1.0 setproctitle-1.3.3 tempora-5.5.1 typeguard-4.2.1 yarl-1.9.4 zc.lockfile-3.0.post1 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv Long story short seems easier to rollback to previous version.
And still get errors: # salt '*' test.ping [WARNING ] TCP Publish Client encountered an exception while connecting to /var/run/salt/master/master_event_pub.ipc: StreamClosedError('Stream is closed'), will reconnect in 1 seconds - File "/usr/local/bin/salt", line 33, in <module> sys.exit(load_entry_point('salt==3007.0', 'console_scripts', 'salt')()) File "/usr/local/lib/python3.9/site-packages/salt/scripts.py", line 532, in salt_main client.run() File "/usr/local/lib/python3.9/site-packages/salt/cli/salt.py", line 192, in run for full_ret in cmd_func(**kwargs): File "/usr/local/lib/python3.9/site-packages/salt/client/__init__.py", line 816, in cmd_cli self.pub_data = self.run_job( File "/usr/local/lib/python3.9/site-packages/salt/client/__init__.py", line 388, in run_job pub_data = self.pub( File "/usr/local/lib/python3.9/site-packages/salt/client/__init__.py", line 1905, in pub if listen and not self.event.connect_pub(timeout=timeout): File "/usr/local/lib/python3.9/site-packages/salt/utils/event.py", line 323, in connect_pub self.subscriber = salt.utils.asynchronous.SyncWrapper( File "/usr/local/lib/python3.9/site-packages/salt/utils/asynchronous.py", line 77, in __init__ self.obj = cls(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/salt/transport/base.py", line 210, in ipc_publish_client return publish_client(opts, io_loop, **kwargs) File "/usr/local/lib/python3.9/site-packages/salt/transport/base.py", line 152, in publish_client return salt.transport.tcp.PublishClient( File "/usr/local/lib/python3.9/site-packages/salt/transport/tcp.py", line 219, in __init__ super().__init__(opts, io_loop, **kwargs) File "/usr/local/lib/python3.9/site-packages/salt/transport/base.py", line 398, in __init__ super().__init__() [ERROR ] Request client send timedout Salt request timed out. The master is not responding. You may need to run your command with `--async` in order to bypass the congested event bus. With `--async`, the CLI tool will print the job id (jid) and exit immediately without listening for responses. You can then use `salt-run jobs.lookup_jid` to look up the results of the job in the job cache later.
Same here. I upgraded to 3007.0, it complained it needs Tornado, I installed Tornado, then it crashed with the trace already posted. I'm restoring from backup. I didn't find this particular error reported on Salt's Github, so I reported it: https://github.com/saltstack/salt/issues/66435
To the reporter of this bug: could you change the title? Now it looks like it's just missing a dependency to fix it while it's actually fully broken and unusable and the update should be reverted. Maybe a better description would put a bit more attention to it.
(In reply to bgdnlp from comment #15) thanks for filing this bug upstream. i'm also having the same issue on my end, but after installing tornado i'm getting a conflict with pyzmq. for now i'm building local pkgs of v3006.07.
Glad to see that I was not the only one at least. Let's hope it gets some attention. I'm merely a small-time user and don't have any idea about what to do about it (nor the time to invest to figure it out).
I susgested it earlier under cache directory there should be a pkg you can reinstall that. Search up in the thread, .. this will still give you some errors but at least it will be functional again.
Since this seems to have hit several users. Keep in mind that another option would be to look for a previously built package in the FreeBSD pkg repositories. For example, here is the repo for 13.3-RELEASE, which as far as I know has all the packages as they were compiled when 13.3 first went into production: http://pkg.freebsd.org/FreeBSD:13:amd64/release_3/. It has SaltStack 3006.6. You can't list all the packages directly because that's a lot of them and eats up bandwidth and CPU cycles, but you can download the packagesite.txz file and check there. It's JSON, pipe it through `jq .` to get a readable version. There are two ways to use that. One would be to set your pkg repo to this one, but that means other packages might get downgraded too. I suppose one could install Salt, then lock it and switch back to the usual repository. Another way would be to download the packages and install them by hand. For example, this is SaltStack 3006.6 as compiled for the 13.3 release: http://pkg.freebsd.org/FreeBSD:13:amd64/release_3/All/py39-salt-3006.6.pkg Since SaltStack is just Python, this package will likely work for other releases too, provided the other Python modules are close enough. Path for the package along with dependencies can be found in the packagesite.txz file. From a security standpoint this is better than getting a package from a random internet stranger who happened to still have a 3006.7 package in their cache folder. It's just Python, should work, but do it at your own risk.
(In reply to Michele Possamai from comment #16) Since this is now identified as being "totally broken" I believe it's even more compelling to revert to the previous working version in ports until the upstream 3007.x version is known to work.
(In reply to Paul Mather from comment #21) I can confirm that the patch attached to this issue works as expected. I'm going to bump IRC and that mailing list to get this pushed along. Having a broken configuration management solution pkg/port is really bad.
Please note I reverted pkg version to 3006.7 as 3007 has a lot of issues at the moment.