Description of problem: Currently, there is no error catching mechanism in vm.py, which causes cumbersome error catchings in the module's functions, and thus dirty code. A proper mechanism is required for making the code look better, easier maintenance, and better error responses in vm.py flows.
what kind of error catching mechanism do you have in mind? For what exactly? Can you share some examples?
Francesco's patch is attached, dropping needinfo flag. (Francesco, Thanks!)
Please note that the infrastructure is merged, we "just" need to convirt the virt flows to use it.
All needed patches merged to master, further refinement in progress, but the core parts are in. Please note this bug has not user-visible impact (besides regression testing), hence the CodeChange.
Please provide steps to verify
We need just regression testing here; use the system as usual, make sure errors are reported when one operation fails. Make sure to cover all (major) the flows. This BZ fails verification basically if Vdsm crashes (stacktrace in the logs) or if one error is misreported after a failed action. I believe no special action is strictly needed here; testing for this BZ could be safely piggybacked on the test for all the other features.
The fix for this issue should be included in oVirt 4.1.0 beta 1 released on December 1st. If not included please move back to modified.
this test is an internal code change, we don't need doc_text either.
Verify with: Engine: 4.2.0-0.0.master.20170104114928.git5490b36.el7.centos Host: OS Version:RHEL - 7.3 - 7.el7 Kernel Version:3.10.0 - 514.el7.bug1404060_20.x86_64 KVM Version:2.6.0 - 28.el7_3.3 LIBVIRT Version:libvirt-2.0.0-10.el7_3.2 VDSM Version:vdsm-4.20.0-128.git7001c0a.el7.centos SPICE Version:0.12.4 - 19.el7 Run Virt sanity test (via automation all pass)