Red Hat Bugzilla – Bug 883937
vdsm [POSIX]: no clear error when cifs domain creation fails when vdsm is trying to read metadata with directio
Last modified: 2016-02-10 12:30:32 EST
Created attachment 658269 [details] logs Description of problem: we fail to mount smb share on invalid argument when vdsm is trying to read teh metadata. Version-Release number of selected component (if applicable): vdsm-4.9.6-44.0.el6_3.x86_64 How reproducible: 100% Steps to Reproduce: 1. try to create a new domain with posix for cifs 2. 3. in path put: //<win ip>/dirname/dirname in VFS put: cifc in mount options put: uid=36,gid=36,username=<XXXX>,password=<XXXXX> Actual results: we fail to read metadata because kernel does not support directio flag Expected results: vdsm should check if kernel supports directio and if not issue a clear error to user. Additional info: logs
correction to bug: we get invalid argument error when during the create of the domain vdsm tried to read the metadata: Thread-80347::ERROR::2012-12-05 16:56:52,637::task::853::TaskManager.Task::(_setError) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::Unexpected error Traceback (most recent call last): 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 2297, in createStorageDomain typeSpecificArg, storageType, domVersion) File "/usr/share/vdsm/storage/nfsSD.py", line 93, in create fsd = cls(os.path.join(mntPoint, sdUUID)) File "/usr/share/vdsm/storage/fileSD.py", line 130, in __init__ sdUUID = metadata[sd.DMDK_SDUUID] File "/usr/share/vdsm/storage/persistentDict.py", line 85, in __getitem__ return dec(self._dict[key]) File "/usr/share/vdsm/storage/persistentDict.py", line 193, in __getitem__ with self._accessWrapper(): File "/usr/lib64/python2.6/contextlib.py", line 16, in __enter__ return self.gen.next() File "/usr/share/vdsm/storage/persistentDict.py", line 147, in _accessWrapper self.refresh() File "/usr/share/vdsm/storage/persistentDict.py", line 224, in refresh lines = self._metaRW.readlines() File "/usr/share/vdsm/storage/fileSD.py", line 99, in readlines return misc.stripNewLines(self._oop.directReadLines(self._metafile)) File "/usr/share/vdsm/storage/remoteFileHandler.py", line 276, in callCrabRPCFunction *args, **kwargs) File "/usr/share/vdsm/storage/remoteFileHandler.py", line 190, in callCrabRPCFunction raise err OSError: [Errno 22] Invalid argument: '/rhev/data-center/mnt/__10.35.97.9_TEST_kaul/a820ca09-ead6-4a1a-aec5-1321a613e82b/dom_md/metadata' Thread-80347::DEBUG::2012-12-05 16:56:52,637::task::872::TaskManager.Task::(_run) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::Task._run: 8831c22c-d4e3-4049-8c89-950c1b2dfa41 (6, 'a820ca09-ead6-4a1a-aec5-1321a613e82b', 'dafna', '//10.35 .97.9/TEST/kaul', 1, '3') {} failed - stopping task Thread-80347::DEBUG::2012-12-05 16:56:52,638::task::1199::TaskManager.Task::(stop) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::stopping in state preparing (force False) Thread-80347::DEBUG::2012-12-05 16:56:52,638::task::978::TaskManager.Task::(_decref) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::ref 1 aborting True Thread-80347::INFO::2012-12-05 16:56:52,639::task::1157::TaskManager.Task::(prepare) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::aborting: Task is aborted: u"[Errno 22] Invalid argument: '/rhev/data-center/mnt/__10.35.97.9_TEST_kaul/a8 20ca09-ead6-4a1a-aec5-1321a613e82b/dom_md/metadata'" - code 100 Thread-80347::DEBUG::2012-12-05 16:56:52,639::task::1162::TaskManager.Task::(prepare) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::Prepare: aborted: [Errno 22] Invalid argument: '/rhev/data-center/mnt/__10.35.97.9_TEST_kaul/a820ca09-ead 6-4a1a-aec5-1321a613e82b/dom_md/metadata' Thread-80347::DEBUG::2012-12-05 16:56:52,640::task::978::TaskManager.Task::(_decref) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::ref 0 aborting True Thread-80347::DEBUG::2012-12-05 16:56:52,640::task::913::TaskManager.Task::(_doAbort) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::Task._doAbort: force False Thread-80347::DEBUG::2012-12-05 16:56:52,641::resourceManager::844::ResourceManager.Owner::(cancelAll) Owner.cancelAll requests {} Thread-80347::DEBUG::2012-12-05 16:56:52,641::task::588::TaskManager.Task::(_updateState) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::moving from state preparing -> state aborting Thread-80347::DEBUG::2012-12-05 16:56:52,642::task::537::TaskManager.Task::(__state_aborting) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::_aborting: recover policy none Thread-80347::DEBUG::2012-12-05 16:56:52,642::task::588::TaskManager.Task::(_updateState) Task=`8831c22c-d4e3-4049-8c89-950c1b2dfa41`::moving from state aborting -> state failed Thread-80347::DEBUG::2012-12-05 16:56:52,642::resourceManager::809::ResourceManager.Owner::(releaseAll) Owner.releaseAll requests {} resources {} Thread-80347::DEBUG::2012-12-05 16:56:52,643::resourceManager::844::ResourceManager.Owner::(cancelAll) Owner.cancelAll requests {} Thread-80347::ERROR::2012-12-05 16:56:52,643::dispatcher::69::Storage.Dispatcher.Protect::(run) [Errno 22] Invalid argument: '/rhev/data-center/mnt/__10.35.97.9_TEST_kaul/a820ca09-ead6-4a1a-aec5-1321a613e82b/dom_md/metadata' Traceback (most recent call last): File "/usr/share/vdsm/storage/dispatcher.py", line 61, in run result = ctask.prepare(self.func, *args, **kwargs) File "/usr/share/vdsm/storage/task.py", line 1164, in prepare raise self.error OSError: [Errno 22] Invalid argument: '/rhev/data-center/mnt/__10.35.97.9_TEST_kaul/a820ca09-ead6-4a1a-aec5-1321a613e82b/dom_md/metadata'
http://gerrit.ovirt.org/#/c/9749/
Cuurent error is: Thread-30606::INFO::2013-07-17 16:17:36,531::nfsSD::69::Storage.StorageDomain::(create) sdUUID=7d5a7bc4-3c59-4aef-9297-9ff1d4d32fba domainName=bla remotePath=//10.35.71.180/test_share domClass=1 Thread-30606::ERROR::2013-07-17 16:17:36,626::fileSD::76::Storage.fileSD::(validateFileSystemFeatures) Underlying file system doesn't supportdirect IO Thread-30606::ERROR::2013-07-17 16:17:36,627::task::850::TaskManager.Task::(_setError) Task=`b5a6503f-5dd1-4b22-b679-fff09e0db8b2`::Unexpected error Traceback (most recent call last): File "/usr/share/vdsm/storage/task.py", line 857, in _run return fn(*args, **kargs) File "/usr/share/vdsm/logUtils.py", line 45, in wrapper res = f(*args, **kwargs) File "/usr/share/vdsm/storage/hsm.py", line 2527, in createStorageDomain domVersion) File "/usr/share/vdsm/storage/nfsSD.py", line 80, in create version) File "/usr/share/vdsm/storage/nfsSD.py", line 49, in _preCreateValidation fileSD.validateFileSystemFeatures(sdUUID, domPath) File "/usr/share/vdsm/storage/fileSD.py", line 78, in validateFileSystemFeatures raise se.StorageDomainTargetUnsupported() StorageDomainTargetUnsupported: Storage Domain target is unsupported: ()
This bug is currently attached to errata RHBA-2013:15291. If this change is not to be documented in the text for this errata please either remove it from the errata, set the requires_doc_text flag to minus (-), or leave a "Doc Text" value of "--no tech note required" if you do not have permission to alter the flag. Otherwise to aid in the development of relevant and accurate release documentation, please fill out the "Doc Text" field above with these four (4) pieces of information: * Cause: What actions or circumstances cause this bug to present. * Consequence: What happens when the bug presents. * Fix: What was done to fix the bug. * Result: What now happens when the actions or circumstances above occur. (NB: this is not the same as 'the bug doesn't present anymore') Once filled out, please set the "Doc Type" field to the appropriate value for the type of change made and submit your edits to the bug. For further details on the Cause, Consequence, Fix, Result format please refer to: https://bugzilla.redhat.com/page.cgi?id=fields.html#cf_release_notes Thanks in advance.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2014-0040.html