Bug 839919

Summary: [vdsm]oop can't load storage_exception module when directory permission has problem
Product: [Retired] oVirt Reporter: Royce Lv <lvroyce>
Component: vdsmAssignee: Saggi Mizrahi <smizrahi>
Status: CLOSED DUPLICATE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: abaron, acathrow, amureini, bazulay, dyasny, iheim, mgoldboi, shuming, shuming, wudxw, ykaul
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: infra
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-06 02:00:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Royce Lv 2012-07-13 08:20:31 UTC
Description of problem:
when backstorage (LOCALFS/NFS)has permission problems: 
e.g.:owner/group is not vdsm/kvm
fileUtils.validateAccess will return false,
but the new OOP can't load module storage_exception and throw error:
  File "/usr/share/vdsm/storage/task.py", line 861, in _run
    return fn(*args, **kargs)
  File "/usr/share/vdsm/logUtils.py", line 38, in wrapper
    res = f(*args, **kwargs)
  File "/usr/share/vdsm/storage/hsm.py", line 2143, in createStorageDomain
    typeSpecificArg, storageType, domVersion)
  File "/usr/share/vdsm/storage/nfsSD.py", line 75, in create
    cls._preCreateValidation(sdUUID, mntPoint, remotePath, version)
  File "/usr/share/vdsm/storage/nfsSD.py", line 46, in _preCreateValidation
    fileSD.validateDirAccess(domPath)
  File "/usr/share/vdsm/storage/fileSD.py", line 51, in validateDirAccess
    getProcPool().fileUtils.validateAccess(dirPath)
  File "/usr/share/vdsm/storage/remoteFileHandler.py", line 270, in callCrabRPCFunction
    *args, **kwargs)
  File "/usr/share/vdsm/storage/remoteFileHandler.py", line 186, in callCrabRPCFunction
    res, err = pickle.loads(rawResponse)
  File "/usr/lib64/python2.7/pickle.py", line 1382, in loads
    return Unpickler(file).load()
  File "/usr/lib64/python2.7/pickle.py", line 858, in load
    dispatch[key](self)
  File "/usr/lib64/python2.7/pickle.py", line 1090, in load_global
    klass = self.find_class(module, name)
  File "/usr/lib64/python2.7/pickle.py", line 1124, in find_class
    __import__(module)
ImportError: No module named storage_exception

Version-Release number of selected component (if applicable):
vdsm-4.10.0-0.165.gitcd25a0a.fc17.x86_64

How reproducible:
create a storage domain using a path with a wrong owner/group

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Mark Wu 2012-07-17 02:21:03 UTC
Post to http://gerrit.ovirt.org/#/c/6354/

Comment 2 Itamar Heim 2012-08-05 20:34:15 UTC
Mark - same issue/solution as in bug 841863 and http://gerrit.ovirt.org/6463

Comment 3 Mark Wu 2012-08-06 02:00:04 UTC
Itamar, got it. Thanks for your information!

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