Bug 1542423 - Distinguish between replication errors
Summary: Distinguish between replication errors
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: vdsm
Classification: oVirt
Component: Core
Version: 4.20.15
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ovirt-4.2.2
: 4.20.18
Assignee: Benny Zlotnik
QA Contact: Kevin Alon Goldblatt
URL:
Whiteboard:
Depends On:
Blocks: 1517540
TreeView+ depends on / blocked
 
Reported: 2018-02-06 10:46 UTC by Benny Zlotnik
Modified: 2018-04-05 09:39 UTC (History)
6 users (show)

Fixed In Version: vdsm v4.20.18
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-04-05 09:39:34 UTC
oVirt Team: Storage
Embargoed:
rule-engine: ovirt-4.2+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 87129 0 master MERGED vm: introduce ReplicationNotInProgress exception 2020-04-23 16:50:23 UTC
oVirt gerrit 87248 0 ovirt-4.2 MERGED vm: introduce ReplicationNotInProgress exception 2020-04-23 16:50:23 UTC

Description Benny Zlotnik 2018-02-06 10:46:59 UTC
Description of problem:
Currently, in diskReplicateFinish when a replication is not progress or when the VM has an attribute of a replication in progress (diskReplicate attribute) the same "Drive replication error" will be returned to the engine.

This makes it impossible to perform a cleanup in case of a failed live storage migration attempt.

To resolve this it is required to have a separate error returned to the engine in case the replication is not in progress to allow a cleanup.

Otherwise, the user will have to perform the target cleanup manually in order to make another attempt at a live storage migration.

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


How reproducible:
100%

Steps to Reproduce:
1. Start LSM
2. Once we reach the disk replication starts we abort the blockjob manually,
can be done with virsh blockjob <dom> <path> --abort

Actual results:
The engine will attempt to finish the replication if it succeeds, it will clean up the target SD, if it will not, a clean up will not be attempted. The latter happens in described scenario 

Expected results:
Engine should attempt a clean up if the replication was not in progress.

Additional info:

Comment 4 Kevin Alon Goldblatt 2018-04-03 12:01:49 UTC
Verified with the following code:
----------------------------------------
ovirt-engine-4.2.2.6-0.1.el7.noarch
vdsm-4.20.23-1.el7ev.x86_64


Verified with the following scenario:
-------------------------------------------
Steps to Reproduce:
1. Start LSM
2. Once we reach the disk replication starts we abort the blockjob manually,
can be done with virsh blockjob <dom> <path> --abort >>>>>
Engine cleans up the replication that was not in progress.
3. Moved the disk again after the previous failed move >>>>> works fine



Moving to VERIFIED

Comment 6 Sandro Bonazzola 2018-04-05 09:39:34 UTC
This bugzilla is included in oVirt 4.2.2 release, published on March 28th 2018.

Since the problem described in this bug report should be
resolved in oVirt 4.2.2 release, it has been closed with a resolution of CURRENT RELEASE.

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


Note You need to log in before you can comment on or make changes to this bug.