You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
root@webserver /u/l/s/i/.libioc# ioc destroy -f blog
[-] ZFSDatasetDestroy@zroot/ioc/jails/blog: ...
Traceback (most recent call last):
File "/usr/local/bin/ioc", line 10, in <module>
sys.dd:exit(cli())
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 764, in __call__returnself.main(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 717, in main
rv =self.invoke(ctx)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1137, in invokereturn _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 956, in invokereturn ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 555, in invokereturn callback(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/decorators.py", line 17, in new_funcreturn f(get_current_context(), *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/ioc_cli/destroy.py", line 125, in cli
ctx.parent.print_events(item.destroy())
File "/usr/local/lib/python3.6/site-packages/ioc_cli/__init__.py", line 91, in print_eventsfor event in generator:
File "/usr/local/src/ioc/.libioc/libioc/Jail.py", line 1177, in destroyraise e
File "/usr/local/src/ioc/.libioc/libioc/Jail.py", line 1174, in destroyself.zfs.delete_dataset_recursive(self.dataset)
File "/usr/local/src/ioc/.libioc/libioc/ZFS.py", line 96, in delete_dataset_recursiveself.delete_dataset_recursive(child)
File "/usr/local/src/ioc/.libioc/libioc/ZFS.py", line 101, in delete_dataset_recursive
dataset.umount()
File "libzfs.pyx", line 2547, in libzfs.ZFSDataset.umountlibzfs.ZFSException: Device busy
root@webserver /u/l/s/i/.libioc#
now let's call stop -f, the destroy -f again:
root@webserver /u/l/s/i/.libioc# ioc stop -f blog[+] JailStop@blog: OK [0.096s] [+] JailHookPrestop@blog: SKIPPED [0.001s] [+] JailHookStop@blog: not running [0.0s] [+] JailRemove@blog: SKIPPED [0.001s] [+] JailHookPoststop@blog: SKIPPED [0.001s] [+] MountFstab@blog: OK [0.001s] [+] BasejailStorageConfig@blog: OK [0.019s] [+] TeardownSystemMounts@blog: OK [0.002s] [+] JailResourceLimitAction@blog: SKIPPED [0.001s]blog stoppedroot@webserver /u/l/s/i/.libioc# ioc destroy -f blog[+] ZFSDatasetDestroy@zroot/ioc/jails/blog: OK [0.1s]/iocage/jails/blog destroyedroot@webserver /u/l/s/i/.libioc#
works. imo, destroy -f should work the same.
The text was updated successfully, but these errors were encountered:
@igalic to reproduce your case, the jail must have failed being stopped manually (without force). This means that the JID has been already removed, but the poststop task did not succeed.
I wonder if it would make sense to always force stop and remove the option to stop without that behavior. libioc without a daemon is stateless and we should never have jails in zombie state.
If that becomes the only way to stop, the problem raised in this Issue, would also disappear. What do you say?
now let's call
stop -f
, thedestroy -f
again:works. imo,
destroy -f
should work the same.The text was updated successfully, but these errors were encountered: