NextCloud plugin creation results in corrupted jail with existing corrupt jail.
Description
I have previously reported having a Qbittorrent jail that is corrupt. That jail is still here, waiting for a suitable update. Meanwhile the same thing is happening with attempted installs of NextCloud. I currently have four corrupt jails I cannot delete. Three jails installed before my first corrupt install are working normally.
Text below from when I try to delete one of the corrupt jails (Clicking the "more info" button on the delete error popup) :
Error: Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_json.py", line 1515, in json_load with open(self.location + "/config.json", "r") as conf: FileNotFoundError: [Errno 2] No such file or directory: '/mnt/SasPool/iocage/jails/NextCloud/config.json'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_json.py", line 1531, in json_load jail_dataset.properties["org.freebsd.iocage:host_hostuuid"] KeyError: 'org.freebsd.iocage:host_hostuuid'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 137, in call_method result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self, File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1195, in _call return await methodobj(*prepared_call.args) File "/usr/local/lib/python3.8/site-packages/middlewared/service.py", line 471, in delete rv = await self.middleware._call( File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1206, in _call return await self.run_in_executor(prepared_call.executor, methodobj, *prepared_call.args) File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1110, in run_in_executor return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs)) File "/usr/local/lib/python3.8/site-packages/middlewared/utils/io_thread_pool_executor.py", line 25, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.8/site-packages/middlewared/schema.py", line 977, in nf return f(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/jail_freebsd.py", line 1013, in do_delete iocage.destroy_jail(force=options.get('force')) File "/usr/local/lib/python3.8/site-packages/iocage_lib/iocage.py", line 751, in destroy_jail ioc_destroy.IOCDestroy().destroy_jail(path) File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_destroy.py", line 272, in destroy_jail iocage_lib.ioc_stop.IOCStop(uuid, path, silent=True) File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_stop.py", line 62, in _init_ raise e File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_stop.py", line 54, in _init_ self.conf = iocage_lib.ioc_json.IOCJson( File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_json.py", line 1723, in json_get_value return self.get_full_config() File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_json.py", line 1386, in get_full_config conf, write = self.json_load() File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_json.py", line 1537, in json_load iocage_lib.ioc_common.logit( File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_common.py", line 107, in logit callback(content, exception) File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_common.py", line 80, in callback raise callback_exception(message) iocage_lib.ioc_exceptions.JailMissingConfiguration: NextCloud is missing it's configuration, please destroy this jail and recreate it.
Do we know if this issue still occurs on 12.0-U3 ? That'd be handy information to have
Evan Hillman April 28, 2021 at 2:50 PM
The requested debug dump.
iX-Tony April 28, 2021 at 1:14 PM
Thank you for the report, @Evan Hillman. Can you please attach a debug file to this ticket? To generate a debug file on TrueNAS CORE, log in to the TrueNAS web interface, go to System > Advanced, then click Save Debug and wait for the file to download to your local system.
I have previously reported having a Qbittorrent jail that is corrupt. That jail is still here, waiting for a suitable update. Meanwhile the same thing is happening with attempted installs of NextCloud. I currently have four corrupt jails I cannot delete. Three jails installed before my first corrupt install are working normally.
Text below from when I try to delete one of the corrupt jails (Clicking the "more info" button on the delete error popup) :
Error: Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_json.py", line 1515, in json_load
with open(self.location + "/config.json", "r") as conf:
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/SasPool/iocage/jails/NextCloud/config.json'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_json.py", line 1531, in json_load
jail_dataset.properties["org.freebsd.iocage:host_hostuuid"]
KeyError: 'org.freebsd.iocage:host_hostuuid'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 137, in call_method
result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self,
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1195, in _call
return await methodobj(*prepared_call.args)
File "/usr/local/lib/python3.8/site-packages/middlewared/service.py", line 471, in delete
rv = await self.middleware._call(
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1206, in _call
return await self.run_in_executor(prepared_call.executor, methodobj, *prepared_call.args)
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1110, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
File "/usr/local/lib/python3.8/site-packages/middlewared/utils/io_thread_pool_executor.py", line 25, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/schema.py", line 977, in nf
return f(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/jail_freebsd.py", line 1013, in do_delete
iocage.destroy_jail(force=options.get('force'))
File "/usr/local/lib/python3.8/site-packages/iocage_lib/iocage.py", line 751, in destroy_jail
ioc_destroy.IOCDestroy().destroy_jail(path)
File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_destroy.py", line 272, in destroy_jail
iocage_lib.ioc_stop.IOCStop(uuid, path, silent=True)
File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_stop.py", line 62, in _init_
raise e
File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_stop.py", line 54, in _init_
self.conf = iocage_lib.ioc_json.IOCJson(
File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_json.py", line 1723, in json_get_value
return self.get_full_config()
File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_json.py", line 1386, in get_full_config
conf, write = self.json_load()
File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_json.py", line 1537, in json_load
iocage_lib.ioc_common.logit(
File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_common.py", line 107, in logit
callback(content, exception)
File "/usr/local/lib/python3.8/site-packages/iocage_lib/ioc_common.py", line 80, in callback
raise callback_exception(message)
iocage_lib.ioc_exceptions.JailMissingConfiguration: NextCloud is missing it's configuration, please destroy this jail and recreate it.