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 byte
What is going on here? Why is it trying to treat this key file as a JSON document?