Yeah, understandable. I mostly use Mellanox/Nvidia networking personally. I’ll be sure to try out NVMe/TCP with a setup! Lot of exciting stuff. Thanks for sharing details.
I’ve been running 25.10 nightlies for quite a while and am consistently seeing it either fail to find the newest version or if it finds something, the download fails. Example from 25.10.0-MASTER-20250815-234159"
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/aiohttp/connector.py", line 1532, in _create_direct_connection
hosts = await self._resolve_host(host, port, traces=traces)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/aiohttp/connector.py", line 1148, in _resolve_host
return await asyncio.shield(resolved_host_task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/middlewared/api/base/server/ws_handler/rpc.py", line 354, in process_method_call
result = await method.call(app, id_, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/api/base/server/method.py", line 57, in call
result = await self.middleware.call_with_audit(self.name, self.serviceobj, methodobj, params, app,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 954, in call_with_audit
result = await self._call(method, serviceobj, methodobj, params, app=app,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 771, in _call
return await methodobj(*prepared_call.args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/api/base/decorator.py", line 108, in wrapped
result = await func(*args)
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/update_/profile_.py", line 64, in profile_choices
current_profile = UpdateProfiles[await self.current_version_profile()]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/update_/profile_.py", line 81, in current_version_profile
trains = await self.middleware.call('update.get_trains')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1043, in call
return await self._call(
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 771, in _call
return await methodobj(*prepared_call.args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/update_/trains.py", line 52, in get_trains
trains = await self.fetch(f"{self.update_srv}/{UPDATE_TRAINS_FILE_NAME}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/update_/trains.py", line 29, in fetch
async with client.get(url) as resp:
File "/usr/lib/python3/dist-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/aiohttp/client.py", line 622, in _request
with timer:
File "/usr/lib/python3/dist-packages/aiohttp/helpers.py", line 685, in __exit__
raise asyncio.TimeoutError from exc_val
TimeoutError
So I manually download and install from TrueNAS SCALE Direct Downloads. (Which has the advantage of being properly sorted, instead of the mess that JSTOR presents at download.truenas.com.)
We actually identified this in the last 24 hours, pushes today should fix the issue. Message me if you see it from tomorrow onwards.
HoneyBadger has been replaced by AI
I thought that I sent you a message a couple of days ago but I can’t find it, so:
I had to manually download and update from 25.10.0-MASTER-20250815 to 25.10.0-MASTER-20250818 and then to 25.10.0-MASTER-20250819. The update to 25.10.0-MASTER-20250820 via the GUI worked as expected, but today the update to 25.10.0-MASTER-20250821 failed.
Hey, I used a regular hyphen, not an em-dash.
Thanks SO MUCH for providing a way to have an install “answer file”. Been using cloud-config to auto-install Ubuntu and love that it’s now available for TrueNAS!
At this moment the input for app’s can arrive via a chosen IP / (V)LAN, however all replays are via the one and only default gateway.
That is so … so wrong. It is asymmetric routing and insecure. Data arriving via (V)LAN-A should be answered via the vlan-A gateway and NOT via the default gateway!
I sincerely hope this issue will be fixed!
As log as it is not … apps area an absolute NO GO for me
I’d suggest you start a new thread with your needs.
At it’s heart, all packets are routed based on IP… so static routes is the best solution. Static Routes Widget | TrueNAS Documentation Hub
25.10.BETA.1 has arrived.
Post any new comments on the new announcement thread.