KeyError: 'devname' when adding Vdev to a pool

01dkrk10

Cadet
Joined
Mar 21, 2019
Messages
6
Hi,
im currently migrating a GELI encrypted ZFS pool to a native ZFS encrypted pool on a TrueNAS Core 13.0-U5.3 system. The new pool was created on an another TrueNAS installation and was imported afterwards into the regular instance. The old GELI pool is still available on the system, but is locked. I would like to export the old pool and reuse the drives as additional mirror to the new pool.

My problem is, when trying to add a Vdev device on the new pool, the system tries to access the available drives, but runs into the error "KeyError:'devname'". When trying to import a drive (see the attachments), the translated error "Error retrieving the disk data" is displayed.
However the view "drives" seems to be not affected by this error. For both error cases, no available drives are displayed.

Has anyone else seen this error?

The stacktrace when accessing adding a Vdev device page:

Code:
Fehler: Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 139, in call_method
    result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self)
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1236, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/schema.py", line 981, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/disk_/availability.py", line 21, in get_unused
    reserved = await self.middleware.call('disk.get_reserved')
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1279, in call
    return await self._call(
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1236, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/disk_/availability.py", line 44, in get_reserved
    reserved += [i async for i in await self.middleware.call('pool.get_disks')]
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/disk_/availability.py", line 44, in <listcomp>
    reserved += [i async for i in await self.middleware.call('pool.get_disks')]
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/pool.py", line 1059, in get_disks
    disk_path = os.path.join('/dev', d['devname'])
KeyError: 'devname'



System configuration:
TrueNAS Core 13.0-U5.3
CPU: Intel Xeon E-2104G
Mainboard: AsRockRack E3C246D4U2-2L2T
RAM: 64 GB DDR4 ECC Unbuffered
2x SATA-SSD Systempool
5x SATA-HDD (2xGELI Pool, 2x ZFS encrypted Pool, 1x Backup)
 

Attachments

  • ImportDrive.png
    ImportDrive.png
    33.2 KB · Views: 62
  • keyerror_devname_1.png
    keyerror_devname_1.png
    57.8 KB · Views: 62
  • keyerror_devname_2.png
    keyerror_devname_2.png
    143.5 KB · Views: 58
Joined
Aug 14, 2020
Messages
2
Also experiencing this issue when going into create a new pool.


Code:
Error: Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 139, in call_method
    result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self)
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1236, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/schema.py", line 981, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/disk_/availability.py", line 21, in get_unused
    reserved = await self.middleware.call('disk.get_reserved')
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1279, in call
    return await self._call(
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1236, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/disk_/availability.py", line 44, in get_reserved
    reserved += [i async for i in await self.middleware.call('pool.get_disks')]
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/disk_/availability.py", line 44, in <listcomp>
    reserved += [i async for i in await self.middleware.call('pool.get_disks')]
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/pool.py", line 1059, in get_disks
    disk_path = os.path.join('/dev', d['devname'])
KeyError: 'devname'
 
Top