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.