I am attempting to migrate from OpenZFS on a Debian 11 server to TrueNAS Core 13. I have been able to import my pool which has encrypted datasets.
When I attempt to unlock my data set by uploading the 32 byte (256 bit AES) key file, TrueNAS fails to import the key because for some reason it is trying to treat it as JSON?
What is going on here? Why is it trying to treat this key file as a JSON document?
When I attempt to unlock my data set by uploading the 32 byte (256 bit AES) key file, TrueNAS fails to import the key because for some reason it is trying to treat it as JSON?
Code:
Error: Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/middlewared/job.py", line 355, in run
await self.future
File "/usr/local/lib/python3.9/site-packages/middlewared/job.py", line 393, in __run_body
rv = await self.middleware.run_in_thread(self.method, *([self] + args))
File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1154, in run_in_thread
return await self.run_in_executor(self.thread_pool_executor, method, *args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1151, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.9/site-packages/middlewared/schema.py", line 979, in nf
return f(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/pool.py", line 2574, in encryption_summary
keys_supplied = self._retrieve_keys_from_file(job)
File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/pool.py", line 2791, in _retrieve_keys_from_file
data = json.loads(job.pipes.input.r.read(10240))
File "/usr/local/lib/python3.9/json/__init__.py", line 341, in loads
s = s.decode(detect_encoding(s), 'surrogatepass')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x<REDACTED> in position 3: invalid continuation byteWhat is going on here? Why is it trying to treat this key file as a JSON document?