Bug 883937 - vdsm [POSIX]: no clear error when cifs domain creation fails when vdsm is trying to read metadata with directio
Summary: vdsm [POSIX]: no clear error when cifs domain creation fails when vdsm is try...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: vdsm
Version: unspecified
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
: 3.3.0
Assignee: Saggi Mizrahi
QA Contact: Elad
URL:
Whiteboard: storage
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-12-05 15:46 UTC by Dafna Ron
Modified: 2023-09-14 01:39 UTC (History)
15 users (show)

Fixed In Version: is1
Doc Type: Bug Fix
Doc Text:
An invalid argument error was displayed when creating the domain and VDSM tried to read the metadata. This was fixed by checking that underlying file system supports direct IO: - checking when creating a domain - checking when creating a domain object This is done so that posixfs domains are not allowed on top of targets that don't support direct IO. Direct IO is needed in order to read the metadata reliably in a clustered environment. It is also a required feature for Sanlock.
Clone Of:
Environment:
Last Closed: 2014-01-21 16:04:28 UTC
oVirt Team: Storage
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
logs (454.10 KB, application/x-gzip)
2012-12-05 15:46 UTC, Dafna Ron
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2014:0040 0 normal SHIPPED_LIVE vdsm bug fix and enhancement update 2014-01-21 20:26:21 UTC

Description Dafna Ron 2012-12-05 15:46:35 UTC
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

Comment 1 Dafna Ron 2012-12-05 16:00:05 UTC
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'

Comment 2 Saggi Mizrahi 2012-12-05 20:00:20 UTC
http://gerrit.ovirt.org/#/c/9749/

Comment 9 Meital Bourvine 2013-07-17 13:22:29 UTC
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: ()

Comment 10 Charlie 2013-11-28 00:30:22 UTC
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.

Comment 11 errata-xmlrpc 2014-01-21 16:04:28 UTC
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

Comment 12 Red Hat Bugzilla 2023-09-14 01:39:18 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days


Note You need to log in before you can comment on or make changes to this bug.