Description of problem: case: validateStorageServerConnection verb validates only that parameters are rightfully assembled in cmd and not that storage is either active or reachable. example - valid storage domain: vdsClient -s 0 validateStorageServerConnection 3 0 id=1,connection=10.35.64.106,iqn=iqn.2011-06.com.redhat:hateyaiscsi4,user=,password=,portal=1,port=3260 Connection id 1 - status 0 example - invalid storage domain: vdsClient -s 0 validateStorageServerConnection 3 0 id=1,connection=10.35.64.108888888888888,iqn=iqn.2011-06.com.redhat:hateya-iscsi4,user=,password=,portal=1,port=3260 Connection id 1 - status 0 notes: 1) I know that rhevm uses this verb before they send connect storage server; and I don't see a reason for it. 2) if we are not going to fix it, then lets remove it.
Using validateStorageServerConnection to check connectivity is wrong, as it is inherently raceful - connectivity may be lost just after checking it succeeds. Like you, I do not see any reason to make validateStorageServerConnection see another day. Ayal, any insight?
currently, rhevm commands divided to 2 main phases: CanDoAction and Execute. the CanDoAction is meant to return a fast and as much as possible reliable answer to the user if the command will succeed, and give better error and frontend handling. before connecting to a storage there is a check in CanDoAction to see if it should succeed, therefore i think the opposite: this verb should be fixed and rhevm should check where it is can used more. although there is a race, and this we cannot solve, there are many cases it would save the user getting errors during execution.
Closing old bugs. If this issue is still relevant/important in current version, please re-open the bug.
The engine's use of validateStorageServerConnection was removed in 3.3.0, and I'd really like to remove it from VDSM too. The only "snag" here is that removing it from VDSM will break it's backwards-compatible ability to going a 3.2 cluster managed by a 3.2 engine. Scott/Itamar - in what version will we be able to do this?
In 3.6 since will only be used on .el7 / >= 3.4 engine.
Flagging requires_doc_text as this change needs to be documented and requires_release_note? for consideration whether or not this should be in the release notes, or whether the doctext is enough.
Tested using: ovirt-engine-3.6.0-0.0.master.20150519172219.git9a2e2b3.el6.noarch vdsm-4.17.0-822.git9b11a18.el7.noarch Verification instructions: 1. Run "vdsClient" and verify that "validateStorageServerConnection" is no longer there.
oVirt 3.6.0 has been released on November 4th, 2015 and should fix this issue. If problems still persist, please open a new BZ and reference this one.