Bug 1316128

Summary: Error catching mechanism is required in vm.py
Product: [oVirt] vdsm Reporter: Amit Aviram <aaviram>
Component: CoreAssignee: Francesco Romani <fromani>
Status: CLOSED CURRENTRELEASE QA Contact: Israel Pinto <ipinto>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.18.0CC: aaviram, amureini, bugs, dev-unix-virtualization, fromani, michal.skrivanek
Target Milestone: ovirt-4.1.0-alphaKeywords: CodeChange
Target Release: ---Flags: rule-engine: ovirt-4.1+
rule-engine: planning_ack+
rule-engine: devel_ack+
mavital: testing_ack+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: virt
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-15 15:01:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Amit Aviram 2016-03-09 13:33:30 UTC
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.

Comment 1 Michal Skrivanek 2016-03-14 07:47:31 UTC
what kind of error catching mechanism do you have in mind? For what exactly? Can you share some examples?

Comment 2 Amit Aviram 2016-03-15 12:02:13 UTC
Francesco's patch is attached, dropping needinfo flag.
(Francesco, Thanks!)

Comment 3 Francesco Romani 2016-04-06 11:47:08 UTC
Please note that the infrastructure is merged, we "just" need to convirt the virt flows to use it.

Comment 4 Francesco Romani 2016-10-17 07:00:57 UTC
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.

Comment 5 meital avital 2016-11-21 09:03:15 UTC
Please provide steps to verify

Comment 6 Francesco Romani 2016-11-21 09:10:44 UTC
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.

Comment 7 Sandro Bonazzola 2016-12-12 14:00:25 UTC
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.

Comment 8 Francesco Romani 2016-12-16 14:29:27 UTC
this test is an internal code change, we don't need doc_text either.

Comment 9 Israel Pinto 2017-01-16 09:43:44 UTC
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)