Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 1077243

Summary: [TEXT][engine-backend] ConnectStorageServer fails with 'general exception' error when export path does not exist
Product: Red Hat Enterprise Virtualization Manager Reporter: Elad <ebenahar>
Component: ovirt-engineAssignee: Allon Mureinik <amureini>
Status: CLOSED WONTFIX QA Contact: Aharon Canan <acanan>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.4.0CC: acathrow, amureini, gklein, iheim, lpeer, Rhev-m-bugs, scohen, yeylon
Target Milestone: ---Flags: amureini: Triaged+
Target Release: 3.5.0   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-08 08:12:14 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:
Bug Depends On:    
Bug Blocks: 1142923, 1156165    
Attachments:
Description Flags
engine and vdsm logs (from both 3.2 and 3.4 hosts) none

Description Elad 2014-03-17 14:56:21 UTC
Created attachment 875518 [details]
engine and vdsm logs (from both 3.2 and 3.4 hosts)

Description of problem:
I tried to create a NFS storage domain with wrong export path. Instead of getting an error of the fact that the path does not exist, I'm getting a general exception error.


Version-Release number of selected component (if applicable):
rhevm-3.4.0-0.3.master.el6ev.noarch

How reproducible:
Always

Steps to Reproduce:
On 3.4 setup:
1. Create a 3.2 DC and cluster
2. Add a 3.2 host to the cluster
3. Create new NFS domain with wrong export path

Actual results:
VDSM fails to connect to the storage server with the following error in vdsm.log:


OSError: [Errno 2] Mount of `lion.qa.lab.tlv.redhat.com:/export/elad/7` at `/rhev/data-center/mnt/lion.qa.lab.tlv.redhat.com:_export_elad_7` does not exist

ERROR in engine.log:

2014-03-17 16:26:15,289 ERROR [org.ovirt.engine.core.bll.storage.NFSStorageHelper] (ajp-/127.0.0.1:8702-9) [529ada8a] The connection with details lion.qa.lab.tlv.redhat.com:/export/elad/7 failed because of error c
ode 100 and error message is: general exception


I tried also to create a storage domain with this wrong path on 3.4 DC with 3.4 host and failed with a proper error. The error in vdsm.log in 3.4 vdsm:

MountError: (32, ';mount.nfs: mounting lion.qa.lab.tlv.redhat.com:/export/elad/7 failed, reason given by server: No such file or directory\n')

I guess engine doesn't know how to handle with 'OSError:'

Expected results:
Engine should know how to handle with 'OSError:' from vdsm, so ConnectStorageServer failure due to wrong export path from 3.4 vdsm will be notified to user with the right error message.

Additional info:
engine and vdsm logs (from both 3.2 and 3.4 hosts)

Comment 1 Elad 2014-03-17 16:47:22 UTC
Correction:
Expected results:
Engine should know how to handle with 'OSError:' from vdsm, so ConnectStorageServer failure due to wrong export path from 3.2 vdsm will be notified to user with the right error message.

Comment 2 Allon Mureinik 2014-05-08 08:12:14 UTC
The bug is in VDSM 3.2 returning a wrong error code. Upstream builds (3.4 definitely, 3.3 probably) return the right code.

We aren't going to put in the effort to backport a text fix. Closing.