Description of problem: An unfortunate typo in a error handler cause an AttriuteError when handling an error to remove a volume run link (e.g. /run/vdsm/sd/img/vol): I'm getting in VDSM: 2016-12-15 05:01:50,098 INFO (merge/7adfae6f) [storage.StorageDomainManifest] Unlinking volme runtime link: u'/var/run/vdsm/storage/95e01177-20bf-4240-8656-3774e22deda0/1440299f-e24f-4d12-a6ba-ee583de8ed58/fae82f50-2d2c-406d-a293-c1f05125dc20' (blockSD:911) 2016-12-15 05:01:50,098 ERROR (merge/7adfae6f) [root] Unhandled exception (utils:369) Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/vdsm/utils.py", line 366, in wrapper return f(*a, **kw) File "/usr/share/vdsm/virt/vm.py", line 5000, in run self.teardown_top_volume() File "/usr/share/vdsm/virt/vm.py", line 4988, in teardown_top_volume self.job['topVolume']) File "/usr/share/vdsm/storage/blockSD.py", line 903, in teardownVolume self.removeVolumeRunLink(imgUUID, volUUID) File "/usr/share/vdsm/storage/blockSD.py", line 915, in removeVolumeRunLink if e.error != errno.ENOENT: AttributeError: 'exceptions.OSError' object has no attribute 'error' 2016-12-15 05:01:50,098 ERROR (merge/7adfae6f) [root] Unhandled exception (utils:369) Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/vdsm/utils.py", line 366, in wrapper return f(*a, **kw) File "/usr/lib/python2.7/site-packages/vdsm/concurrent.py", line 180, in run return func(*args, **kwargs) File "/usr/lib/python2.7/site-packages/vdsm/utils.py", line 366, in wrapper return f(*a, **kw) File "/usr/share/vdsm/virt/vm.py", line 5000, in run self.teardown_top_volume() File "/usr/share/vdsm/virt/vm.py", line 4988, in teardown_top_volume self.job['topVolume']) File "/usr/share/vdsm/storage/blockSD.py", line 903, in teardownVolume self.removeVolumeRunLink(imgUUID, volUUID) File "/usr/share/vdsm/storage/blockSD.py", line 915, in removeVolumeRunLink if e.error != errno.ENOENT: AttributeError: 'exceptions.OSError' object has no attribute 'error' Version-Release number of selected component (if applicable): vdsm-4.18.999-1162.gite95442e.el7.centos.x86_64 How reproducible: Unknown, see once few month after the code was introduced. Steps to Reproduce: Unknown Actual results: Getting AttributeError about the wrong name. Expected results: 1. If the link does not exists, nothing, this is expected condition. The only way to test for this condition correctly is to remove the link and check if the operation failed with ENOENT. 2. If the link cannot be remove, fail loudly. This is unexpected situation that should never happen. This is likely an expected condition (no link), but it may hide serious errors.
4.0.6 has been the last oVirt 4.0 release, please re-target this bug.
Nir/Ala, any idea how to reproduce?
Elad, I don't think it will be easy to reproduce, this happens only in certain negative flows. The fix is trivial so I don't think we should spend too much time on "verifying" it.
Based on comment #3 moving to CLOSED UPSTREAM
Bug is already closed and needinfo already addressed - comment #3