oVirt is a very rich product with lot a useful features. But is very difficult to use and debug. You should give higher priority to error management. Too many times we can "generic error" in the UI, or very deep stack trace, or just plain NPE. All of this is buried in very verbose logging. My last example, I'm trying to restore ovirt, using: engine-backup --mode=restore --file=/data/ovirt/backups/20160421T034001.tar.gz -scope=files My command line is not the good one, but I have no idea why ! I just get 166 of generic usage but not a single one the specific mistake I made. A mandatory missing argument missing ? A wrong option, no idea, it didn't give an hint. And I have numerous example about same problems. That's a very big problem because it's failure is painful, and having no good direction for reparation, I could make the problem wore by doing wrong actions.
Adding tracking keyword
Taken from a previous mail: I installed a oVirt stack without glusterfs. Now I want to add it. So I configured a cluster to be a gluster-enabled one. Now i want to add a gluster volume to it. That went fine until I click Ok at the "New Volume" dialog, the answer was : Error while executing action Create Gluster Volume: Unexpected exception I the log, I saw : 2016-04-13 16:45:53,573 INFO [org.ovirt.engine.core.vdsbroker.gluster.GlusterTasksListVDSCommand] (DefaultQuartzScheduler_Worker-84) [5303bffb] FINISH, GlusterTasksListVDSCommand, log id: 2e5a7991 2016-04-13 16:45:53,573 ERROR [org.ovirt.engine.core.bll.gluster.GlusterTasksSyncJob] (DefaultQuartzScheduler_Worker-84) [5303bffb] Error updating tasks from CLI: org.ovirt.engine.core.common.errors.EngineException: EngineException: org.ovirt.engine.core.vdsbroker.vdsbroker.VDSErrorException: VDSGenericException: VDSErrorException: Failed to GlusterTasksListVDS, error = The method does not exist / is not available., code = -32601 (Failed with error unexpected and code 16) at org.ovirt.engine.core.bll.VdsHandler.handleVdsResult(VdsHandler.java:112) [bll.jar:] at org.ovirt.engine.core.bll.VDSBrokerFrontendImpl.RunVdsCommand(VDSBrokerFrontendImpl.java:33) [bll.jar:] at org.ovirt.engine.core.bll.gluster.tasks.GlusterTasksService.runVdsCommand(GlusterTasksService.java:64) [bll.jar:] at org.ovirt.engine.core.bll.gluster.tasks.GlusterTasksService.getTaskListForCluster(GlusterTasksService.java:32) [bll.jar:] at org.ovirt.engine.core.bll.gluster.GlusterTasksSyncJob.updateGlusterAsyncTasks(GlusterTasksSyncJob.java:87) [bll.jar:] at sun.reflect.GeneratedMethodAccessor250.invoke(Unknown Source) [:1.7.0_99] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_99] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_99] at org.ovirt.engine.core.utils.timer.JobWrapper.invokeMethod(JobWrapper.java:81) [scheduler.jar:] at org.ovirt.engine.core.utils.timer.JobWrapper.execute(JobWrapper.java:52) [scheduler.jar:] at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz.jar:] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557) [quartz.jar:] Failed with error unexpected and code 16, what can I do with that ?
self.api = API(**self.api_connect_settings) File "build/bdist.macosx-10.10-x86_64/egg/ovirtsdk/api.py", line 191, in __init__ File "build/bdist.macosx-10.10-x86_64/egg/ovirtsdk/infrastructure/proxy.py", line 115, in request File "build/bdist.macosx-10.10-x86_64/egg/ovirtsdk/infrastructure/connectionspool.py", line 81, in do_request ovirtsdk.infrastructure.errors.ConnectionError: [ERROR]::oVirt API connection failure, (4, '') Even when the connection is set to debug. What can I do with that ?
Another case: 2016-04-21 17:18:36,126 ERROR [org.ovirt.engine.core.vdsbroker.vdsbroker.GetCapabilitiesVDSCommand] (DefaultQuartzScheduler_Worker-50) [] Command 'GetCapabilitiesVDSCommand(HostName = nb0104, VdsIdAndVdsVDSCommandParametersBase:{runAsync='true', hostId='edbb893a-e4a4-4fdc-acd9-df1fe694e529', vds='Host[nb0104,edbb893a-e4a4-4fdc-acd9-df1fe694e529]'})' execution failed : org.ovirt.vdsm.jsonrpc.client.ClientConnectionException: Connection timeout 2016-04-21 17:18:36,126 ERROR [org.ovirt.engine.core.vdsbroker.HostMonitoring] (DefaultQuartzScheduler_Worker-50) [] Failure to refresh Vds runtime info: org.ovirt.vdsm.jsonrpc.client. ClientConnectionException: Connection timeout 2016-04-21 17:18:36,126 ERROR [org.ovirt.engine.core.vdsbroker.HostMonitoring] (DefaultQuartzScheduler_Worker-50) [] Exception: org.ovirt.engine.core.vdsbroker.vdsbroker.VDSNetworkExce ption: org.ovirt.vdsm.jsonrpc.client.ClientConnectionException: Connection timeout at org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerCommand.createNetworkException(VdsBrokerCommand.java:157) [vdsbroker.jar:] at org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerCommand.executeVDSCommand(VdsBrokerCommand.java:120) [vdsbroker.jar:] at org.ovirt.engine.core.vdsbroker.VDSCommandBase.executeCommand(VDSCommandBase.java:65) [vdsbroker.jar:] at org.ovirt.engine.core.dal.VdcCommandBase.execute(VdcCommandBase.java:33) [dal.jar:] at org.ovirt.engine.core.vdsbroker.ResourceManager.runVdsCommand(ResourceManager.java:467) [vdsbroker.jar:] at org.ovirt.engine.core.vdsbroker.VdsManager.refreshCapabilities(VdsManager.java:652) [vdsbroker.jar:] at org.ovirt.engine.core.vdsbroker.HostMonitoring.refreshVdsRunTimeInfo(HostMonitoring.java:119) [vdsbroker.jar:] at org.ovirt.engine.core.vdsbroker.HostMonitoring.refresh(HostMonitoring.java:84) [vdsbroker.jar:] at org.ovirt.engine.core.vdsbroker.VdsManager.onTimer(VdsManager.java:227) [vdsbroker.jar:] at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source) [:1.8.0_74] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_74] at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_74] at org.ovirt.engine.core.utils.timer.JobWrapper.invokeMethod(JobWrapper.java:81) [scheduler.jar:] at org.ovirt.engine.core.utils.timer.JobWrapper.execute(JobWrapper.java:52) [scheduler.jar:] at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz.jar:] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557) [quartz.jar:] Caused by: org.ovirt.vdsm.jsonrpc.client.ClientConnectionException: Connection timeout at org.ovirt.vdsm.jsonrpc.client.reactors.stomp.SSLStompClient.waitForConnect(SSLStompClient.java:107) [vdsm-jsonrpc-java-client.jar:] at org.ovirt.vdsm.jsonrpc.client.reactors.stomp.SSLStompClient.sendMessage(SSLStompClient.java:77) [vdsm-jsonrpc-java-client.jar:] at org.ovirt.vdsm.jsonrpc.client.JsonRpcClient.call(JsonRpcClient.java:73) [vdsm-jsonrpc-java-client.jar:] at org.ovirt.engine.core.vdsbroker.jsonrpc.FutureMap.<init>(FutureMap.java:68) [vdsbroker.jar:] at org.ovirt.engine.core.vdsbroker.jsonrpc.JsonRpcVdsServer.getCapabilities(JsonRpcVdsServer.java:268) [vdsbroker.jar:] at org.ovirt.engine.core.vdsbroker.vdsbroker.GetCapabilitiesVDSCommand.executeVdsBrokerCommand(GetCapabilitiesVDSCommand.java:15) [vdsbroker.jar:] at org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerCommand.executeVDSCommand(VdsBrokerCommand.java:110) [vdsbroker.jar:] ... 14 more A full double stack for a plain time out ? I don't think network error should generate stack, the first line is enough. And any way, it's not a time out, the destination host is alive, it's just my ovirt-engine that is fucked up.
On a host, in upgrade.log: MainThread::DEBUG::2016-04-14 16:38:08,656::utils::689::root::(execCmd) SUCCESS: <err> = 'cp: cannot stat \xe2\x80\x98/var/run/vdsm/netconf\xe2\x80\x99: No such file or directory\n'; <rc> = 0 a DEBUG log that I didn't request, a SUCCESS with an error, a totally fucked up command.
Thank you for the reports, but from process perspective, we need a single bug per issue. Different community developers may want to fix that or this issue, which are in different parts of the code. The above is not going to get anything fixed. Lastly, I'd be happy if you could use a more gentle language when reporting issues.
This bug is not about a specific case on unhelpfull message. I think more that the number of such things is a problem by himself, the way QA is managed at oVirt. It make using it painful even if it's a nice product full of interesting features.
(In reply to Fabrice Bacchella from comment #7) > This bug is not about a specific case on unhelpfull message. Indeed, it isn't. It's a mixture of issues, from both host and engine. > > I think more that the number of such things is a problem by himself, the way > QA is managed at oVirt. It make using it painful even if it's a nice product > full of interesting features. We try to fix issues by reporting them to bugzilla. This one is not going to be handled. I suggest splitting. Lastly, oVirt is not a product, but a project.
Pushed [1] for the issue in comment 0. I agree current bug has too many different issues discussed, thus not linking there or moving to POST. [1] https://gerrit.ovirt.org/56872
Again, please split to bug per use-case.