Bug 1626061

Summary: qemu blockjobs other than backup do not support job-finalize or job-dismiss
Product: Red Hat Enterprise Linux 7 Reporter: John Snow <jsnow>
Component: qemu-kvm-rhevAssignee: John Snow <jsnow>
Status: CLOSED ERRATA QA Contact: Gu Nini <ngu>
Severity: high Docs Contact:
Priority: high    
Version: 7.6CC: chayang, coli, juzhang, michen, mtessun, ngu, virt-maint, yafu
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: qemu-kvm-rhev-2.12.0-15.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1632939 (view as bug list) Environment:
Last Closed: 2018-11-01 11:13:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 760547, 1632939    
Attachments:
Description Flags
Test_logs_for_the_block_jobs-withAutoFinalizeDismiss-NewCommands-09142018
none
Test_logs_for_the_block_jobs-withAutoFinalizeDismiss-OldCommands-09142018 none

Description John Snow 2018-09-06 13:37:09 UTC
Description of problem:

QEMU added job-finalize and job-dismiss for jobs to allow libvirt more explicit control over when and how graphs get manipulated. However, this functionality was only exposed for the backup job.

Libvirt needs this for ALL jobs.

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

2.12.0, 7.6's version


How reproducible:

100%; the options are not present in QAPI

Steps to Reproduce:
1. Try to use auto-dismiss or auto-finalize parameters for the mirror, commit, or stream jobs
2. Weep

Actual results:

Wailing, gnashing of teeth

Expected results:

auto-finalize = false should allow jobs to sit in the PENDING state until the job-finalize command is sent to instruct them to perform their graph changes.

auto-dismiss = false should allow jobs to sit in the CONCLUDED state until they are dismissed with the job-dismiss command, which allows libvirt a chance to query their completion state in case libvirt missed the completion event.

Additional info:

-

Comment 4 Miroslav Rezanina 2018-09-12 13:12:27 UTC
Fix included in qemu-kvm-rhev-2.12.0-15.el7

Comment 6 Gu Nini 2018-09-14 11:40:09 UTC
Created attachment 1483321 [details]
Test_logs_for_the_block_jobs-withAutoFinalizeDismiss-NewCommands-09142018

Verify the bug with both old and new block job related commands.

Comment 7 Gu Nini 2018-09-14 11:40:59 UTC
Created attachment 1483322 [details]
Test_logs_for_the_block_jobs-withAutoFinalizeDismiss-OldCommands-09142018

Comment 8 Gu Nini 2018-09-14 11:42:04 UTC
The qemu version for the verification is qemu-kvm-rhev-2.12.0-15.el7.x86_64.

Comment 9 errata-xmlrpc 2018-11-01 11:13:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3443