Disk extend during migration

Peter Krempa pkrempa at redhat.com
Mon Aug 2 12:30:05 UTC 2021


On Mon, Aug 02, 2021 at 14:20:44 +0200, Vojtech Juranek wrote:
> Hi,
> as a follow-up of BZ #1883399 [1], we are reviewing vdsm VM migration flows and 
> solve few follow-up bugs, e.g. BZ #1981079 [2]. I have couple of questions 
> related to libvirt:
> 
> * if we run disk extend during migration, it can happen that migration finishes 
> sooner than disk extend. In such case we will try to set disk threshold on 
> already stopped VM (we handle libvirt event that VM was stopper, but due to 
> Python GIL there can be a delay between obtaining appropriate signal from 
> libvirt  and handling it). In such case we get libvirt 
> VIR_ERR_OPERATION_INVALID when setting disk threshold. Is it safe to 
> catch this exception and ignore it or it's thrown for various reasons and the 
> root cause can be something else than stopped VM?

The API to set the block trheshold level can return the following errors
including cases when it can happen:

VIR_ERR_OPERATION_UNSUPPORTED <- unlikely new qemu supports it
VIR_ERR_INVALID_ARG <- disk was not found in VM definition
VIR_ERR_INTERNAL_ERROR <- on error from qemu

Thus VIR_ERR_OPERATION_INVALID seems to be safe to ignore in your
specific case, while not ignoring others can be used to catch problems.




More information about the libvirt-users mailing list