On Thu, Dec 15, 2016 at 2:59 PM, Yaniv Kaul <[email protected]> wrote:
> > > On Thu, Dec 15, 2016 at 2:55 PM, Nir Soffer <[email protected]> wrote: > >> On Thu, Dec 15, 2016 at 1:37 PM, Dan Kenigsberg <[email protected]> >> wrote: >> >>> On Thu, Dec 15, 2016 at 11:58 AM, Yaniv Kaul <[email protected]> wrote: >>> > 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' >>> > >>> > >>> > vdsm-4.18.999-1162.gite95442e.el7.centos.x86_64 >>> >>> Ala. This seems like a 4.0.6 respin candidate, as e.error should >>> become e.errno also in the stable branch. >>> >> >> Fix in master in >> https://gerrit.ovirt.org/68535 >> >> I'm sure we have more errors like these, the only way to avoid such errors >> in python is to have 100% coverage, including all the error code paths, >> and >> legacy vdsm code has very low test coverage. >> > > Static code analysis won't help here? > Maybe, current tool we use do not find this, maybe pylint can find this. Basically python is too dynamic to preform good static analysis, pylint give too many false negatives, but maybe we can have configuration eliminating the false negative and revealing such issues. Dan, maybe we start by running pylint on a daily job just to collect data, and when we have usable configuration we can integrated into the build? > > Anyway, filed a bug ( on the real issue - live merge failing - > https://bugzilla.redhat.com/show_bug.cgi?id=1405042 ). > Y. > > >> Will send a backport if needed once we merge this. >> >> Nir >> >> >>> https://gerrit.ovirt.org/59725 >>> _______________________________________________ >>> Devel mailing list >>> [email protected] >>> http://lists.ovirt.org/mailman/listinfo/devel >>> >> >> >
_______________________________________________ Devel mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/devel
