Bug 1900348

Summary: backup_vm.py example hangs in stop_backup()
Product: [oVirt] ovirt-engine-sdk-python Reporter: Nir Soffer <nsoffer>
Component: GeneralAssignee: Nir Soffer <nsoffer>
Status: CLOSED DEFERRED QA Contact: Lukas Svaty <lsvaty>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.3.0CC: bugs, juan.hernandez, michal.skrivanek
Target Milestone: ---Keywords: ZStream
Target Release: ---Flags: sbonazzo: ovirt-4.5-
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-04-11 08:58:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nir Soffer 2020-11-22 13:13:44 UTC
Description of problem:

If stopping the backup fails in engine the "backup_vm.py stop" hangs.

def stop_backup(connection, backup_uuid, args):
    backup_service = get_backup_service(connection, args.vm_uuid, backup_uuid)

    backup_service.finalize()

    # TODO: Wait until backup is finalized.
    backup = backup_service.get()
    while backup.phase != types.BackupPhase.FINALIZING:
        time.sleep(1)
        backup = backup_service.get()

backup_service.finalize() does not change the backup state, so the wait loop
just hangs forever.

We need to add a timeout. A user can try again to finalize the backup.

Version-Release number of selected component (if applicable):
4.4.7

How reproducible:
Always

Steps to Reproduce:
1. Start a backup
2. Wait until download starts
3. Poweroff the vm from the guest

Actual results:
Backup hangs when finalizing the backup

Expected results:
Backup times out when finalizing the backup

Additional info:
Reproducing this may be impossible if the underlying bugs in libvirt and qemu
(that cause the vm to hang) are fixed.

Setting to high since example code is not correct. User will copy the
incorrect code and replicate the same issue in multiple products.

Comment 1 Nir Soffer 2020-11-22 13:25:31 UTC
For more details on how to reproduce, see bug 1892672.

Comment 2 Michal Skrivanek 2020-11-23 10:50:05 UTC
(In reply to Nir Soffer from comment #0)
...
> Setting to high since example code is not correct. User will copy the
> incorrect code and replicate the same issue in multiple products.

yet it's not part of any production code and so it doesn't affect oVirt functionality, moving to medium

Comment 5 Michal Skrivanek 2022-04-11 08:58:11 UTC
no update for a while, didn't make it into 4.5, closing