Bug 1291634

Summary: [engine-backend] Hosted-engine SD auto import fails on IndexOutOfBoundsException over FC
Product: [oVirt] ovirt-engine Reporter: Elad <ebenahar>
Component: BLL.HostedEngineAssignee: Roy Golan <rgolan>
Status: CLOSED CURRENTRELEASE QA Contact: Elad <ebenahar>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 3.6.1.3CC: acanan, bugs, dfediuck, didi, gklein, jforeman, lveyde, mavital, mgoldboi, ollie, rmartins, sbonazzo, stirabos
Target Milestone: ovirt-3.6.2Flags: rule-engine: ovirt-3.6.z+
rule-engine: blocker+
mgoldboi: planning_ack+
rgolan: devel_ack+
mavital: testing_ack+
Target Release: 3.6.2   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: An irrelevant attempt to detect the ISCSI luns. Since this flow is for Fibre Channel it failed because it doesn't provide the right input into this detection method. Consequence: The auto import of the hosted engine Fibre Channel domain always fails Fix: Prevent performing that detection when the domain storage type is Fibre Channel. Result: A successful import of the hosted engine storage domain and VM
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-18 11:08:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: SLA RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1293928    
Bug Blocks: 1261996, 1269768    
Attachments:
Description Flags
engine.log, server.log, setup.log, vdsm.log none

Description Elad 2015-12-15 11:04:01 UTC
Created attachment 1105950 [details]
engine.log, server.log, setup.log, vdsm.log

Description of problem:
Over FC, auto import of the hosted-engine storage domain fails with IndexOutOfBoundsException

Version-Release number of selected component (if applicable):
rhevm-iso-uploader-3.6.0-1.el6ev.noarch
rhevm-websocket-proxy-3.6.1.3-0.1.el6.noarch
rhevm-userportal-3.6.1.3-0.1.el6.noarch
rhevm-restapi-3.6.1.3-0.1.el6.noarch
rhevm-log-collector-3.6.0-1.el6ev.noarch
rhevm-dependencies-3.6.0-1.el6ev.noarch
rhevm-spice-client-x64-cab-3.6-5.el6.noarch
rhevm-setup-plugin-ovirt-engine-3.6.1.3-0.1.el6.noarch
rhevm-setup-base-3.6.1.3-0.1.el6.noarch
rhevm-extensions-api-impl-3.6.1.3-0.1.el6.noarch
rhevm-setup-plugin-ovirt-engine-common-3.6.1.3-0.1.el6.noarch
rhevm-spice-client-x86-cab-3.6-5.el6.noarch
rhevm-setup-plugin-vmconsole-proxy-helper-3.6.1.3-0.1.el6.noarch
rhevm-webadmin-portal-3.6.1.3-0.1.el6.noarch
rhevm-dbscripts-3.6.1.3-0.1.el6.noarch
rhevm-doc-3.6.0-2.el6eng.noarch
rhevm-setup-plugin-websocket-proxy-3.6.1.3-0.1.el6.noarch
rhevm-backend-3.6.1.3-0.1.el6.noarch
rhevm-spice-client-x86-msi-3.6-5.el6.noarch
rhevm-setup-plugins-3.6.0-1.el6ev.noarch
rhevm-3.6.1.3-0.1.el6.noarch
rhevm-spice-client-x64-msi-3.6-5.el6.noarch
rhevm-setup-3.6.1.3-0.1.el6.noarch
rhevm-branding-rhev-3.6.0-3.el6ev.noarch
rhevm-sdk-python-3.6.0.3-1.el6ev.noarch
rhevm-image-uploader-3.6.0-1.el6ev.noarch
rhevm-vmconsole-proxy-helper-3.6.1.3-0.1.el6.noarch
rhevm-tools-3.6.1.3-0.1.el6.noarch
rhevm-lib-3.6.1.3-0.1.el6.noarch
rhevm-cli-3.6.0.0-1.el6ev.noarch
ovirt-hosted-engine-setup-1.3.1.2-1.el7ev.noarch
ovirt-hosted-engine-ha-1.3.3.3-1.el7ev.noarch
vdsm-4.17.13-1.el7ev.noarch


How reproducible:
Always

Steps to Reproduce:
1. Deploy hosted-engine over FC


Actual results:
Hosted-engine storage domain auto import fails:

 2015-12-15 10:58:13,799 ERROR [org.ovirt.engine.core.bll.ImportHostedEngineStorageDomainCommand] (org.ovirt.thread.pool-7-thread-44) [] Command 'org.ovirt.engine.core.bll.ImportHostedEng
ineStorageDomainCommand' failed: Index: 0, Size: 0
2015-12-15 10:58:13,799 ERROR [org.ovirt.engine.core.bll.ImportHostedEngineStorageDomainCommand] (org.ovirt.thread.pool-7-thread-44) [] Exception: java.lang.IndexOutOfBoundsException: In
dex: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:653) [rt.jar:1.8.0_65]
        at java.util.ArrayList.get(ArrayList.java:429) [rt.jar:1.8.0_65]
        at org.ovirt.engine.core.bll.ImportHostedEngineStorageDomainCommand.discoverBlockConnectionDetails(ImportHostedEngineStorageDomainCommand.java:133) [bll.jar:]
        at org.ovirt.engine.core.bll.ImportHostedEngineStorageDomainCommand.executeCommand(ImportHostedEngineStorageDomainCommand.java:97) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.executeWithoutTransaction(CommandBase.java:1215) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.executeActionInTransactionScope(CommandBase.java:1359) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:1983) [bll.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInNewTransaction(TransactionSupport.java:210) [utils.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInRequired(TransactionSupport.java:149) [utils.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:118) [utils.jar:]
        at org.ovirt.engine.core.bll.CommandBase.execute(CommandBase.java:1396) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.executeAction(CommandBase.java:378) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runAction(Backend.java:475) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runActionImpl(Backend.java:457) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runInternalAction(Backend.java:404) [bll.jar:]
        at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) [:1.8.0_65]



Expected results:
Hosted-engine SD auto import should work as fixed in https://bugzilla.redhat.com/show_bug.cgi?id=1269768

Additional info: engine.log, server.log, setup.log, vdsm.log

Comment 1 Sandro Bonazzola 2015-12-23 13:43:26 UTC
oVirt 3.6.2 RC1 has been released for testing, moving to ON_QA

Comment 2 Elad 2016-01-21 12:54:07 UTC
HE SD auto import finished successfully as part of deployment over FC.
HE storage domain gets imported automatically with first DC initialization.

Tested using:
Host:

ovirt-hosted-engine-ha-1.3.3.7-1.el7ev.noarch
libgovirt-0.3.3-1.el7_2.1.x86_64
ovirt-vmconsole-1.0.0-1.el7ev.noarch
ovirt-host-deploy-1.4.1-1.el7ev.noarch
ovirt-setup-lib-1.0.1-1.el7ev.noarch
ovirt-vmconsole-host-1.0.0-1.el7ev.noarch
ovirt-hosted-engine-setup-1.3.2.3-1.el7ev.noarch
vdsm-jsonrpc-4.17.18-0.el7ev.noarch
vdsm-python-4.17.18-0.el7ev.noarch
vdsm-hook-vmfex-dev-4.17.18-0.el7ev.noarch
vdsm-cli-4.17.18-0.el7ev.noarch
vdsm-yajsonrpc-4.17.18-0.el7ev.noarch
vdsm-xmlrpc-4.17.18-0.el7ev.noarch
vdsm-4.17.18-0.el7ev.noarch
vdsm-infra-4.17.18-0.el7ev.noarch


Engine:

ovirt-engine-extension-aaa-jdbc-1.0.5-1.el6ev.noarch
ovirt-host-deploy-1.4.1-1.el6ev.noarch
ovirt-vmconsole-1.0.0-1.el6ev.noarch
ovirt-host-deploy-java-1.4.1-1.el6ev.noarch
rhevm-setup-plugin-ovirt-engine-common-3.6.2.6-0.1.el6.noarch
ovirt-vmconsole-proxy-1.0.0-1.el6ev.noarch
rhevm-setup-plugin-ovirt-engine-3.6.2.6-0.1.el6.noarch
ovirt-setup-lib-1.0.1-1.el6ev.noarch
rhevm-setup-plugin-websocket-proxy-3.6.2.6-0.1.el6.noarch
rhevm-vmconsole-proxy-helper-3.6.2.6-0.1.el6.noarch
rhevm-spice-client-x86-msi-3.6-6.el6.noarch
rhevm-lib-3.6.2.6-0.1.el6.noarch
rhevm-cli-3.6.0.0-1.el6ev.noarch
rhevm-webadmin-portal-3.6.2.6-0.1.el6.noarch
rhevm-tools-3.6.2.6-0.1.el6.noarch
rhevm-iso-uploader-3.6.0-1.el6ev.noarch
rhevm-doc-3.6.0-2.el6eng.noarch
rhevm-backend-3.6.2.6-0.1.el6.noarch
rhevm-setup-3.6.2.6-0.1.el6.noarch
rhevm-spice-client-x64-cab-3.6-6.el6.noarch
rhevm-userportal-3.6.2.6-0.1.el6.noarch
rhevm-image-uploader-3.6.0-1.el6ev.noarch
rhevm-branding-rhev-3.6.0-3.el6ev.noarch
rhevm-sdk-python-3.6.2.1-1.el6ev.noarch
rhevm-log-collector-3.6.0-1.el6ev.noarch
rhevm-dependencies-3.6.0-1.el6ev.noarch
rhevm-setup-plugin-ovirt-engine-common-3.6.2.6-0.1.el6.noarch
rhevm-dbscripts-3.6.2.6-0.1.el6.noarch
rhevm-setup-plugins-3.6.1-2.el6ev.noarch
rhevm-spice-client-x64-msi-3.6-6.el6.noarch
rhevm-restapi-3.6.2.6-0.1.el6.noarch
rhevm-setup-plugin-ovirt-engine-3.6.2.6-0.1.el6.noarch
rhevm-3.6.2.6-0.1.el6.noarch
rhevm-setup-base-3.6.2.6-0.1.el6.noarch
rhevm-extensions-api-impl-3.6.2.6-0.1.el6.noarch
rhevm-websocket-proxy-3.6.2.6-0.1.el6.noarch
rhevm-setup-plugin-vmconsole-proxy-helper-3.6.2.6-0.1.el6.noarch
rhevm-spice-client-x86-cab-3.6-6.el6.noarch