I want to add a new user thru the GUI with credentials–>users but I get an error about home directory must be a volume or a dataset. I have two zfs pools (default boot-pool and my usb HD’s kyoudaiHD pool). I have created a number of datasets within each and successfully mounted them in /mnt (/mnt/user, /mnt/kyoudai/backup/user). No matter whether I use /mnt/user or /mnt/kyoudai or /mnt/kyoudai/backup or /mnt/kyoudai/backup/user, I get the same error.
I did some trouble shooting and it appears that the middlewared cannot see my zfs pools.
midclt call pool.query returns an empty set .
midclt call pool.status kyoudaiHD [or boot-pool]
returns an error that no attribute “status” exists for “pool”.
Not sure what to do to fix this…Any suggestions most welcome.
Just to be clear Storage tab in the GUI shows no pools, but Datasets in the GUI shows datasets for the KyoudaiHD pool. Both are viewable using CLI commands like zfs list and zpool status.
I reinstalled and added a second virtual VDA drive to act as pool storage. I configured TrueNAS to see it and added a user and samba share. This was further than I was able to get with the USB ZFS pool, kyoudaiHD.
Then, I added the USB hardware pass thru as above and mounted USB-based kyoudaiHD, which TrueNAS GUI and midclt both see! That problem is solved. When I try to add a SMB Share via GUI, I get an error:
Error: 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 1460, in _call
return await methodobj(*prepared_call.args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/service/crud_service.py", line 230, in create
return await self.middleware._call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1460, in _call
return await methodobj(*prepared_call.args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/service/crud_service.py", line 261, in nf
rv = await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/schema/processor.py", line 49, in nf
res = await f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/schema/processor.py", line 179, in nf
return await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/smb.py", line 875, in do_create
verrors.check()
File "/usr/lib/python3/dist-packages/middlewared/service_exception.py", line 72, in check
raise self
middlewared.service_exception.ValidationErrors: [EINVAL] sharingsmb_create.path_local: The path must reside within a pool mount point
## END ##
The error seems to indicate that the dataset I am selecting is not in a ZFS mount point path, which is not correct. Any suggestions welcome.