<div dir="ltr">Hi all,<div><br></div><div>Since [0], any program importing vdscli issues a user facing</div><div>warnings - for example:</div><div><br></div><div><div>$ vdsClient -s 0 getVdsCaps</div><div>client/vdsClient.py:35: DeprecationWarning: vdscli uses xmlrpc. since ovirt 3.6 xmlrpc is deprecated, please use vdsm.jsonrpcvdscli</div><div>  from vdsm import utils, vdscli, constants</div></div><div>...</div><div><br></div><div>This is *not* the purpose of Python&#39;s warnings. They are for</div><div>developers, not users.</div><div><br></div><div>Unfortunately, we configured the warnings filter in vdscli, </div><div>so the application importing this module cannot control </div><div>warnings.</div><div><br></div><div>This cause unwanted warnings in vdsClient, hosted-engine</div><div>and any other program importing this module.</div><div>See bug [1].</div><div><br></div><div>Lately we decided to remove the warnings module from vdsm, </div><div>as it is leaking memory - one instance of each warning is</div><div>kept in a dict even if you configure warning to ignore all</div><div>warnings.</div><div><br></div><div>Francesco sent patch [2], replacing the warning with </div><div>log message to the &quot;devel&quot; logger. This fixes the issue</div><div>in vdsm, but does not solve the issue for other tools.</div><div><br></div><div>I sent this patch [3] for vdsClient, but we still need a fix</div><div>for vdsm-tool, hosted-engine, and any other program importing</div><div>this library.</div><div><br></div><div>So it seems that using a special logger for deprecation</div><div>warnings is not a good solution for library like vdscli,</div><div>and we should keep the warning module for this</div><div>purpose.</div><div><br></div><div>I sent also this minimal patch [4] that can be easily</div><div>backported to 4.0.</div><div><br></div><div>Please review, we should fix this regression quickly.</div><div><br></div><div><div>[0] <a href="https://gerrit.ovirt.org/61187">https://gerrit.ovirt.org/61187</a></div></div><div>[1] <a href="https://bugzilla.redhat.com/1377069">https://bugzilla.redhat.com/1377069</a></div><div>[2] <a href="https://gerrit.ovirt.org/62209">https://gerrit.ovirt.org/62209</a><br></div><div>[3] <a href="https://gerrit.ovirt.org/64099">https://gerrit.ovirt.org/64099</a></div><div>[4] <a href="https://gerrit.ovirt.org/64100">https://gerrit.ovirt.org/64100</a></div><div><br></div><div>Thanks,</div><div>Nir</div></div>