Hi Stuart, On Mon, Jan 06, 2025 at 05:41:48PM +0000, Stuart Henderson wrote: > On 2025/01/06 16:17, Mikolaj Kucharski wrote: > > Hi, > > > > Not sure is this actually related to python3.12, but I've notived it > > today on few machines after upgrading -current. > > > > I didn't troubleshoot this yet. > > > File > > "/usr/local/lib/python3.12/site-packages/salt/ext/tornado/netutil.py", line > > 57, in <module> > > import backports.ssl_match_hostname > > ModuleNotFoundError: No module named 'backports' > > I don't use salt, but please try this. (Alternatively it looks like > updating to 3007.1 should also fix).
This fixes initial issue, but then breaks later in different way, from /var/log/salt/minion file: 2025-01-06 21:12:54,002 [salt.cli.daemons :284 ][INFO ][89450] Setting up the Salt Minion "pce-0033.home.lan" 2025-01-06 21:12:54,005 [salt.utils.process :284 ][INFO ][89450] pidfile: /var/run/process_responsibility_salt-minion.pid not found 2025-01-06 21:12:55,544 [salt.cli.daemons :284 ][INFO ][44897] Starting up the Salt Minion 2025-01-06 21:12:55,553 [salt.utils.event :284 ][INFO ][44897] Starting pull socket on /var/run/salt/minion/minion_event_3edb48dc8f_pull.ipc 2025-01-06 21:12:57,344 [salt.minion :284 ][INFO ][44897] Creating minion process manager 2025-01-06 21:12:57,347 [salt.minion :284 ][INFO ][44897] Minion sleeping for 160 seconds due to configured startup_delay between 0 and 180 seconds 2025-01-06 21:15:37,964 [salt.minion :284 ][CRITICAL][44897] Unexpected error while connecting to fde4:f456:48c2:13c0::1 Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/salt/minion.py", line 1148, in _connect_minion yield minion.connect_master(failed=failed) File "/usr/local/lib/python3.12/site-packages/salt/ext/tornado/gen.py", line 1056, in run value = future.result() ^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/salt/ext/tornado/concurrent.py", line 249, in result raise_exc_info(self._exc_info) File "<string>", line 4, in raise_exc_info File "/usr/local/lib/python3.12/site-packages/salt/ext/tornado/gen.py", line 1064, in run yielded = self.gen.throw(*exc_info) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/salt/minion.py", line 1389, in connect_master master, self.pub_channel = yield self.eval_master( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/salt/ext/tornado/gen.py", line 1056, in run value = future.result() ^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/salt/ext/tornado/concurrent.py", line 249, in result raise_exc_info(self._exc_info) File "<string>", line 4, in raise_exc_info File "/usr/local/lib/python3.12/site-packages/salt/ext/tornado/gen.py", line 309, in wrapper yielded = next(result) ^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/salt/minion.py", line 817, in eval_master pub_channel = salt.channel.client.AsyncPubChannel.factory( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/salt/channel/client.py", line 393, in factory transport = salt.transport.publish_client(opts, io_loop) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/salt/transport/base.py", line 90, in publish_client import salt.transport.zeromq File "/usr/local/lib/python3.12/site-packages/salt/transport/zeromq.py", line 15, in <module> import zmq.eventloop.future File "/usr/local/lib/python3.12/site-packages/zmq/eventloop/__init__.py", line 3, in <module> from tornado.ioloop import IOLoop ModuleNotFoundError: No module named 'tornado' ..and loops with that `No module named 'tornado'` error filling up the logs. Trying: # pkg_add -i py3-tornado stops the exception of no module named tornado, but OpenBSD 7.6-stable with salt-3006.9p0 cannot talk to -current with salt-3006.9p2. I think this is different issue, so out of scope of what I reported. Minion now complains with: 2025-01-06 21:39:36,584 [salt.minion:284 ][ERROR ][34129] Error while bringing up minion for multi-master. Is master at fde4:f456:48c2:13c0::1 responding? The error message was Unable to sign_in to master: Attempt to authenticate with the salt master failed with timeout error However there is network IPv6 connectivity to the master, as it was for many months: pce-0033# nc -v -w5 fde4:f456:48c2:13c0::1 4505 | cat -v Connection to fde4:f456:48c2:13c0::1 4505 port [tcp/*] succeeded! pce-0033# nc -v -w5 fde4:f456:48c2:13c0::1 4506 | cat -v Connection to fde4:f456:48c2:13c0::1 4506 port [tcp/*] succeeded! I guess problem is again within Salt itself. > Index: Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/salt/Makefile,v > diff -u -p -r1.188 Makefile > --- Makefile 21 Dec 2024 11:38:54 -0000 1.188 > +++ Makefile 6 Jan 2025 17:40:39 -0000 > @@ -15,9 +15,9 @@ > > COMMENT = remote execution and configuration management system > > -MODPY_DISTV = 3006.9 > +MODPY_DISTV = 3006.9 > DISTNAME = salt-${MODPY_DISTV} > -REVISION = 1 > +REVISION = 2 > > CATEGORIES = sysutils net devel > > Index: patches/patch-salt_ext_tornado_netutil_py > =================================================================== > RCS file: patches/patch-salt_ext_tornado_netutil_py > diff -N patches/patch-salt_ext_tornado_netutil_py > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-salt_ext_tornado_netutil_py 6 Jan 2025 17:40:39 -0000 > @@ -0,0 +1,16 @@ > +Index: salt/ext/tornado/netutil.py > +--- salt/ext/tornado/netutil.py.orig > ++++ salt/ext/tornado/netutil.py > +@@ -54,9 +54,9 @@ if hasattr(ssl, 'match_hostname') and hasattr(ssl, 'Ce > + elif ssl is None: > + ssl_match_hostname = SSLCertificateError = None # type: ignore > + else: > +- import backports.ssl_match_hostname > +- ssl_match_hostname = backports.ssl_match_hostname.match_hostname > +- SSLCertificateError = backports.ssl_match_hostname.CertificateError # > type: ignore > ++ import urllib3.util.ssl_match_hostname > ++ ssl_match_hostname = urllib3.util.ssl_match_hostname > ++ SSLCertificateError = urllib3.util.ssl_match_hostname.CertificateError > # type: ignore > + > + if hasattr(ssl, 'SSLContext'): > + if hasattr(ssl, 'create_default_context'): > -- Regards, Mikolaj