Bug 1070863 - Targeted storage should not deny live storage migration to it because of existing LV from previous failed storage migration.
Summary: Targeted storage should not deny live storage migration to it because of exis...
Keywords:
Status: CLOSED DUPLICATE of bug 1034856
Alias: None
Product: oVirt
Classification: Retired
Component: ovirt-engine-core
Version: 3.4
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: ---
: 3.5.0
Assignee: Daniel Erez
QA Contact: Pavel Stehlik
URL:
Whiteboard: storage
: 958488 (view as bug list)
Depends On:
Blocks: 959739
TreeView+ depends on / blocked
 
Reported: 2014-02-27 15:39 UTC by Nikolai Sednev
Modified: 2016-02-10 17:46 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-06-17 13:13:17 UTC
oVirt Team: Storage
Embargoed:


Attachments (Terms of Use)
Logs from 17:00-17:30 with first failed live storage migration from 26/02/14 (2.04 MB, application/x-gzip)
2014-02-27 15:39 UTC, Nikolai Sednev
no flags Details
Logs from 14:24 with second failed live storage migration from 27/02/14. (1.51 MB, application/x-gzip)
2014-02-27 16:10 UTC, Nikolai Sednev
no flags Details

Description Nikolai Sednev 2014-02-27 15:39:28 UTC
Created attachment 868599 [details]
Logs from 17:00-17:30 with first failed live storage migration from 26/02/14

Description of problem:
Targeted storage should not deny live storage migration to it because of existing LV from previous failed storage migration.

Live storage migration fails on disk being under dd and then roll-back doesn't delete LV from targeted storage, so when user tries to do live storage migration again, process fails because of on targeted storage already exists LV from previous failed migration.

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

ovirt-engine-3.4.0-0.7.beta2.el6.noarch
qemu-kvm-rhev-0.12.1.2-2.415.el6_5.4.x86_64
libvirt-0.10.2-29.el6_5.3.x86_64
sanlock-2.8-1.el6.x86_64

How reproducible:
Always

Steps to Reproduce:
1.First part:
1.1.Create 3 different storage domains, VNX1, VNX2 and XIO, while VNX1&2 should be placed on same physical storage, whereas XIO should be placed on another physical storage.
1.2.Assemble cluster of two hosts, host-a and host-b, while host-b should be SPM.
1.3.Create VM on host-a with OS RHEL on 15Gig preallocated disk called "OS", while disk should be created on VNX2.
1.4.Create ISCSI 2Gig disk as thinprovision called "test", while disk should be created on VNX1.
1.5.Hot plug disk "test" to VM.
1.6.Start writing to disk "test" using "dd if=/dev/zero of=/dev/vda bs=1M count=1889" continuously, i.e. start writing again to it when finished continuously.
1.7.While dd is running continuously to disk "test", start live storage migration for both "test" and "OS" disks (choose both disks virtual machines->VM->disks->ctrl+select both disks of VM->right click on them->move to the same storage domain XIO).
1.8.Continue writing to disk "test" using dd, during whole migration process.
1.9.Expect for disk "test" migration failure and check that disk "OS" should succeed migration.

2.Second part:
2.1.Shut down VM properly, not power-off.
2.2.Delete auto-created live snapshot.
2.3.Start VM.
2.4.Try live migration for disk "test" again from VNX1 to XIO, while disk "OS" remains on XIO from previous live storage migration.
2.5.Start writing to disk "test" using "dd if=/dev/zero of=/dev/vda bs=1M count=1889" continuously, i.e. start writing again to it when finished continuously.
2.6.While dd is running continuously to disk "test", start live storage migration only for disk "test" to storage domain XIO.
2.7.Expect this operation to fail with errors in log, as described bellow and attached as "Logs from 14:24 with second failed live storage migration from 27/02/14.".

Actual results:
Live storage migration fails for disk "test" under dd for the first time because of unclear cause, it rolled-back to source storage, while LV on targeted storage not deleted.

After first failed storage migration user tries to move disk "test" once again and fails, now because of not deleted LV on target storage.

da2cd858-9cc6-452a-a160-ef4113512b08::ERROR::2014-02-27 14:24:47,565::volume::466::Storage.Volume::(create) Failed to create volume: /rhev/data-center/4036
785a-511a-4c85-9df7-4dde5092b8a8/1d5a8dcf-6fd2-4365-a3f8-aa1ed5800354/images/5b3c3d25-b8f6-401d-983d-cb3c28bc8913/178ad568-1e64-4985-af36-7786d32cabf6, vol
ume already exists
da2cd858-9cc6-452a-a160-ef4113512b08::ERROR::2014-02-27 14:24:47,565::volume::502::Storage.Volume::(create) Unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/volume.py", line 468, in create
    raise e
CannotCreateLogicalVolume: Cannot create Logical Volume: ('1d5a8dcf-6fd2-4365-a3f8-aa1ed5800354', '178ad568-1e64-4985-af36-7786d32cabf6')
da2cd858-9cc6-452a-a160-ef4113512b08::ERROR::2014-02-27 14:24:47,588::image::390::Storage.Image::(_createTargetImage) Unexpected error 

Expected results:
For the first time disk being migrated should the migration fail for some reason, LV on targeted storage should be marked as temporary and be removed in case of migration failure.

For the second attempt of live storage migration, process should not fail because of already existing LV on targeted storage, migration should write to another LV.

Targeted storage should create temporary LVs until migration is complete and remain temporary during migration process, if migration process successful, only then LV on targeted storage should become active and LV at the source storage be deleted. 


Additional info:

Logs from 17:00-17:30 with first failed live storage migration from 26/02/14, these logs contain vdsm logs from 2 hosts vdsm.log and vdsm.log.1.xz (HSM-nsednev_host_a-camel-vdsb.qa.lab.tlv.redhat.com-10.35.116.2 and SPM-nsednev_host_b-camel-vdsc.qa.lab.tlv.redhat.com-10.35.116.3) and engine logs engine.log and server.log.
Logs from 14:24 with second failed live storage migration from 27/02/14.

Comment 1 Nikolai Sednev 2014-02-27 16:10:47 UTC
Created attachment 868617 [details]
Logs from 14:24 with second failed live storage migration from 27/02/14.

Comment 2 Itamar Heim 2014-03-02 05:42:20 UTC
Setting target release to current version for consideration and review. please
do not push non-RFE bugs to an undefined target release to make sure bugs are
reviewed for relevancy, fix, closure, etc.

Comment 3 Sandro Bonazzola 2014-03-04 09:29:02 UTC
This is an automated message.
Re-targeting all non-blocker bugs still open on 3.4.0 to 3.4.1.

Comment 4 Allon Mureinik 2014-04-01 09:44:12 UTC
Daniel, why aren't we cleaning up the botched created LV?

Comment 7 Daniel Erez 2014-05-13 11:04:46 UTC
*** Bug 958488 has been marked as a duplicate of this bug. ***

Comment 8 Daniel Erez 2014-06-17 13:13:17 UTC

*** This bug has been marked as a duplicate of bug 1034856 ***


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