Bug 955993 - [engine-backend] CreateStoragePool fails in case CreateStorageDomain is done by one host and CreateStoragePool is done by another one
Summary: [engine-backend] CreateStoragePool fails in case CreateStorageDomain is done ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: vdsm
Version: unspecified
Hardware: x86_64
OS: Unspecified
unspecified
urgent
Target Milestone: ---
: 3.2.0
Assignee: Eduardo Warszawski
QA Contact: Elad
URL:
Whiteboard: storage
Depends On:
Blocks: 966721
TreeView+ depends on / blocked
 
Reported: 2013-04-24 07:13 UTC by Elad
Modified: 2016-02-10 20:24 UTC (History)
12 users (show)

Fixed In Version: vdsm-4.10.2-20.0.el6ev sf17.1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-06-11 09:12:42 UTC
oVirt Team: Storage
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
logs (20.08 MB, application/x-gzip)
2013-04-24 07:13 UTC, Elad
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 14514 0 None None None Never
oVirt gerrit 14631 0 None None None Never
oVirt gerrit 14634 0 None None None Never

Description Elad 2013-04-24 07:13:23 UTC
Created attachment 739299 [details]
logs

Description of problem:
On more than one host setup, CreateStoragePool may fail due to a different lvm info in cache between the host that performs createStorageDomain and the host that perform createStoragePool. This scenario is more likely to happen with a large number of hosts because engine is not picking one host that will perform both CreateStorageDomain and  createStoragePool.


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

rhevm-backend-3.2.0-10.19.beta2.el6ev.noarch
vdsm-4.10.2-15.0.el6ev.x86_64

How reproducible:
It is not 100% reproducible

Steps to Reproduce:
On more than one host FC setup with no SD's:
1. Try to Create a new storage domain 

  
Actual results:

one host performs createStorageDomain (lvm operation). Meanwhile, The other host, that will perform createStoragePool, is not manage to update its cache about the lvm operation (createStorageDomain). This will cause to a failure in createStoragePool.



Additional info:
See logs attached

Comment 1 Haim 2013-04-24 07:26:48 UTC
increasing severity since its most likely to happen when user create new storage pool in FC with more than 1 host.

Comment 2 Vered Volansky 2013-04-25 12:48:50 UTC
What's the right log to look in? tigris03/04? which vdsm log?
Thanks.

Comment 4 Ayal Baron 2013-04-28 10:06:21 UTC
Edu, is this solved by the prefetch patch?

Comment 5 Eduardo Warszawski 2013-05-05 09:49:53 UTC
(In reply to comment #4)
> Edu, is this solved by the prefetch patch?

No. This is not about a VG not found.
The VG is found by vgs and correctly identified as a block one.

The reason of the bug is lvm.checkVGBlockSizes() is using the lvm's pvs dictionary which does not includes VG: 69a6d5f8-bf91-4a4b-ba42-da43d6d216cb since was created in another host.

After creating the SD: 69a6d5f8-bf91-4a4b-ba42-da43d6d216cb in another host, tigris04, the storage view of tigris03 should be invalidated (refreshed) before the hsm.createStoragePool() call.

Comment 8 Eyal Edri 2013-05-22 09:15:07 UTC
changing wrong component to vdsm.
adding fixed in version.

Comment 10 Elad 2013-05-23 16:19:10 UTC
creation of FC storage pool succeeded with more than one host:

2013-05-23 19:14:37,524 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.CreateStorageDomainVDSCommand] (ajp-/127.0.0.1:8702-2) [325c2491] START, CreateStorageDomainVDSCommand(HostName = green-vdsb, HostId = 04fdb
222-b58a-11e2-ae1a-001a4a169734, storageDomain=org.ovirt.engine.core.common.businessentities.StorageDomainStatic@e22b51af, args=4RrbBb-wQoM-H9Pq-YGXZ-30X7-mExu-dph0G2), log id: 35ba766d
2013-05-23 19:14:41,539 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.CreateStorageDomainVDSCommand] (ajp-/127.0.0.1:8702-2) [325c2491] FINISH, CreateStorageDomainVDSCommand, log id: 35ba766d
2013-05-23 19:14:41,543 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.GetStorageDomainStatsVDSCommand] (ajp-/127.0.0.1:8702-2) [325c2491] START, GetStorageDomainStatsVDSCommand(HostName = green-vdsb, HostId = 0
4fdb222-b58a-11e2-ae1a-001a4a169734, storageDomainId=583f09e2-6fda-4822-913e-30478b5f5ff5), log id: 5ccc0fb7


2013-05-23 19:14:42,201 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.CreateStoragePoolVDSCommand] (ajp-/127.0.0.1:8702-7) [2de6d497] START, CreateStoragePoolVDSCommand(HostName = orange-vdsf, HostId = 7d6ae18f
-918d-4d75-b6cc-20c6786bf1e5, storagePoolId=94e8fd51-ba59-40e9-99e6-dcedd2fab532, storageType=FCP, storagePoolName=fc, masterDomainId=583f09e2-6fda-4822-913e-30478b5f5ff5, domainsIdList=[583f09e2-6fda-4822-913e-30
478b5f5ff5], masterVersion=1), log id: 1c584e94


2013-05-23 19:15:38,648 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.SpmStartVDSCommand] (ajp-/127.0.0.1:8702-7) [2de6d497] spmStart polling ended: taskId = 023c21a0-a7d4-4fd3-9b71-459c8039439a task status = finished



Verified on RHEVM3.2 - SF17.1:   
rhevm-3.2.0-11.28.el6ev.noarch
vdsm-4.10.2-21.0.el6ev.x86_64

Comment 12 Itamar Heim 2013-06-11 09:12:42 UTC
3.2 has been released

Comment 13 Itamar Heim 2013-06-11 09:39:32 UTC
3.2 has been released


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