Bug 849907

Summary: [engine] ReconstructMasterDomain fails when master domain is unblocked
Product: Red Hat Enterprise Virtualization Manager Reporter: Gadi Ickowicz <gickowic>
Component: ovirt-engineAssignee: Liron Aravot <laravot>
Status: CLOSED WORKSFORME QA Contact: Gadi Ickowicz <gickowic>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.1.0CC: abaron, amureini, dyasny, iheim, lpeer, nlevinki, Rhev-m-bugs, sgrinber, yeylon, ykaul
Target Milestone: ---   
Target Release: 3.1.0   
Hardware: All   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-09-09 11:31:26 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:
Attachments:
Description Flags
engine + vdsm logs none

Description Gadi Ickowicz 2012-08-21 08:09:24 UTC
Created attachment 605877 [details]
engine + vdsm logs

Description of problem:
After the master domain is blocked (using IPtables) and then unblocked, ReconstructMasterDomain fails repeatedly. Only manually activating the domain resolves the problem

Version-Release number of selected component (if applicable):
rhevm-3.1.0-12.el6ev.noarch
vdsm-4.9.6-28.0.el6_3.x86_64

How reproducible:
100%

Steps to Reproduce:
using automated test with the following scenario:
1. One host, 1 iscsi data domain, 1 ISO domain
2. Block connection from host to data domain
3. unblock connection from host to data domain   
Actual results:
domain does not become active again until ActivateDataDomain is manually sent


Expected results:
Domain should reactivate when connection is unblocked

Additional info:
logs attached

Comment 1 Allon Mureinik 2012-08-27 09:15:10 UTC
HandleFailedStorageDomainCommand calls ReconstructMasterDomainCommand which calls ConnectStoragePool and RefreshStoragePool, which should fail if the storage server isn't connected.

Manual activation calls (eventually) ConnectStorageServer (in org.ovirt.engine.core.bll.storage.ISCSIStorageHelper.RunConnectionStorageToDomain(storage_domains, Guid, int, LUNs, Guid)), and thus succeeds.

Since there currectly is no connection management in VDSM, I'm guessing the best solution is the to have ConnectStoragePool also imply a call to ConnectStorageServer.
If the server is already connected, VDSM will just silently ignore it.

Comment 2 Allon Mureinik 2012-08-27 09:56:08 UTC
added Liron as QA contact instead of assignee by mistake.

Comment 3 Gadi Ickowicz 2012-09-09 11:31:26 UTC
Ran the automated scenario on SI17 - does not reproduce the problem