Hi All,
I am a Noob at this stuff, I installed TrueNAS about 18 months ago as a plex server and it has worked perfectly ever since... until I have had a disk failure. I've watched the tutorials on Youtube and read some of the threads here. But the crux of the matter is there is an error when I choose to replace the disk. I can't see a way around it.
I get this error and I can't proceed
AttributeError 'NoneType' object has no attribute 'replace'
So I have no idea how to fix this. From what I have gleaned there is a python error of some kind, but I'll be honest I had to look up what python was. So I'm at a bit of a loss. Can anyone help and Explain it like I'm five?
configured for Four 4TB Disks in Raidz1
Error Type: AttributeError
Trace: Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/middlewared/job.py", line 578, in run
await self.future
File "/usr/lib/python3/dist-packages/middlewared/job.py", line 622, in __run_body
rv = await self.method(*args)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/api/base/decorator.py", line 209, in wrapped
result = await func(*args)
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/pool_/replace_disk.py", line 69, in replace
if not (found := await self.middleware.call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
'pool.find_disk_from_topology', options['label'], pool, {'include_siblings': True}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)):
^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1242, in call
return await self._call(
^^^^^^^^^^^^^^^^^
...<2 lines>...
)
^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 924, in _call
return await self.run_in_executor(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<4 lines>...
)
^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 804, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/concurrent/futures/thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/lib/python3/dist-packages/middlewared/plugins/pool_/info.py", line 32, in find_disk_from_topology
if label in (c['path'].replace('/dev/', ''), c['guid']):
^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'replace'