12.0-U1 Deleting VM results in error

Flashbin

Dabbler
Joined
Jan 29, 2020
Messages
17
Hi,

I recently upgraded from 11.3-U5 to 12.0-U1 (manually, since the update servers where apparently down).

Today I've tried to delete a VM, which was created before upgrading, and I got this error (I selected "Delete Virtual Machine Data"):
Code:
Error: concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 848, in do_delete
    subprocess.run(
  File "/usr/local/lib/python3.8/subprocess.py", line 512, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['zfs', 'destroy', 'mpool/vm/pfsense-5klq6i']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/concurrent/futures/process.py", line 239, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 91, in main_worker
    res = MIDDLEWARE._run(*call_args)
  File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 45, in _run
    return self._call(name, serviceobj, methodobj, args, job=job)
  File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 39, in _call
    return methodobj(*params)
  File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 39, in _call
    return methodobj(*params)
  File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 860, in do_delete
    raise CallError(f'Failed to delete dataset: {error}', errno_)
middlewared.service_exception.CallError: [EFAULT] Failed to delete dataset: cannot destroy 'mpool/vm/pfsense-5klq6i': volume has children
use '-r' to destroy the following datasets:
mpool/vm/pfsense-5klq6i@auto-20201225.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201229.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201230.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201231.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201228.0600-1w
mpool/vm/pfsense-5klq6i@auto-20210101.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201226.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201227.0600-1w
"""

The above exception was the direct cause of the following exception:

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 1195, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.8/site-packages/middlewared/schema.py", line 973, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/vm.py", line 1492, in do_delete
    await self.middleware.call('zfs.dataset.delete', disk_name)
  File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1238, in call
    return await self._call(
  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 1203, in _call
    return await self._call_worker(name, *prepared_call.args)
  File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1209, in _call_worker
    return await self.run_in_proc(main_worker, name, args, job)
  File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1136, in run_in_proc
    return await self.run_in_executor(self.__procpool, method, *args, **kwargs)
  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))
middlewared.service_exception.CallError: [EFAULT] Failed to delete dataset: cannot destroy 'mpool/vm/pfsense-5klq6i': volume has children
use '-r' to destroy the following datasets:
mpool/vm/pfsense-5klq6i@auto-20201225.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201229.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201230.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201231.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201228.0600-1w
mpool/vm/pfsense-5klq6i@auto-20210101.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201226.0600-1w
mpool/vm/pfsense-5klq6i@auto-20201227.0600-1w

Force Deleting it does nothing. I'm not too familiar with ZFS, so I don't understand what or where the children of that Volume could be (or why it would even have children). I thought maybe someone here could help me. Does someone know this error? Or is it maybe a general problem?

Thanks!
 

Flashbin

Dabbler
Joined
Jan 29, 2020
Messages
17
Solution: The datasets in question were Snapshots. So I deleted these Snapshots through the GUI, after that I could delete the VM with no problems.
 
Top