Dataset error 'path' after migrating from CORE to SCALE, Datasets not showing in GUI

I’ve finally gone the step of migrate my beloved TrueNAS CORE 13.0-U6.4 to SCALE ElectricEel-24.10.1. Almost everything is working as intended and as it did before. Pools are showing up, SMB-share is working, even users and permissions seem to be as they were. But when I try to access the Datasets tab in the GUI, I get this error: Failed to load datasets ‘path’

I verified that all of the datasets are actually there and mounted using zfs list, they’re just not showing in the GUI.

So far I’ve tried the following:

  • Exporting and re-importing the pool using the GUI
  • Upgrading the pool using the button in the GUI
  • Changing the system dataset from my data pool ‘Frog’ (how it was on my old system) to the boot-pool and rebooting
  • After comparing the mount points for the system dataset on my old CORE system to the SCALE system, I noticed that on the CORE system they actually say /mnt/Frog/.system whereas on the SCALE system they are mounted simply as legacy
  • I then tried manually changing the mount points for this, which failed 1. because I failed to stop the necessary services and 2. because any change was undone after reboot.

I’m pretty sure it’s to do with the system dataset, because /var/log/middlewared.log shows a few errors regarding an unexpected mount point with an exception that matches the error of the GUI:

[2024/12/28 12:35:12] (WARNING) SystemDatasetService.sysdataset_path():116 - Unexpected dataset mounted at /var/db/system, 'boot-pool/.system' present, but 'Frog/.system' expected. fsid: 7585016133716344
[2024/12/28 12:35:12] (WARNING) SystemDatasetService.sysdataset_path():116 - Unexpected dataset mounted at /var/db/system, 'boot-pool/.system' present, but 'Frog/.system' expected. fsid: 7585016133716344
[2024/12/28 12:35:16] (INFO) SystemDatasetService.__post_mount_actions():599 - Successfully ran post mount action 'nfs.setup_directories' endpoint for 'Frog/.system/nfs' dataset
[2024/12/28 12:35:16] (INFO) SystemDatasetService.__post_mount_actions():599 - Successfully ran post mount action 'reporting.post_dataset_mount_action' endpoint for 'Frog/.system/netdata-daeb7be0eae547028f28998beacf9023' dataset
[2024/12/28 12:37:17] (WARNING) application.call_method():247 - Exception while calling pool.dataset.details(*[])
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 211, in call_method
    result = await self.middleware.call_with_audit(message['method'], serviceobj, methodobj, params, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1529, in call_with_audit
    result = await self._call(method, serviceobj, methodobj, params, app=app,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1471, in _call
    return await self.run_in_executor(prepared_call.executor, methodobj, *prepared_call.args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1364, in run_in_executor
    return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/schema/processor.py", line 183, in nf
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/schema/processor.py", line 55, in nf
    res = f(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/plugins/pool_/dataset_details.py", line 207, in details
    info = self.build_details(mnt_info)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/plugins/pool_/dataset_details.py", line 321, in build_details
    vm['zvol'] = zvol_path_to_name(vm['attributes']['path'])
                                   ~~~~~~~~~~~~~~~~^^^^^^^^
KeyError: 'path'

Some advice on this would be greatly appreciated as I’ve sadly reached the point where my expertise doesn’t seem to get me any close to a solution.

Just a quick update, I’ve now exported my data pool again, completely reset the config and imported my data pool and everything, including my datasets, is working nicely. So I guess it must have just been something to do with my config file…

I’m still leaving this here in case anyone has any ideas or similar problems, since for some people ditching their configuration and reconfiguring everything from scratch might not be as easy of an option.