<p dir="ltr"><br>
Il 29/Mar/2016 20:02, &quot;Nir Soffer&quot; &lt;<a href="mailto:nsoffer@redhat.com">nsoffer@redhat.com</a>&gt; ha scritto:<br>
&gt;<br>
&gt; Hi all,<br>
&gt;<br>
&gt; In the Vdsm call, we discussed a way to expose vdsm errors to its clients<br>
&gt; (e.g, engine, hosted engine agent/setup).<br>
&gt;<br>
&gt; The idea is to have a vdsmapi package, holding:<br>
&gt; - errors.py - all public errors<br>
&gt; - events.py - all events sent by vdsm<br>
&gt; - client.py - library for communicating with vdsm<br>
&gt; - schema.py - the client will use this to autogenerate online help and<br>
&gt; validate messages<br>
&gt; - schema.yaml - we probably need several files (gluster, events, etc.)<br>
&gt;<br>
&gt; This will allow other projects talking with vdsm to do:<br>
&gt;<br>
&gt;     from vdsmapi import client, errors<br>
&gt;     ...<br>
&gt;     try:<br>
&gt;         client.list(vmId=&quot;xxxyyy&quot;)<br>
&gt;     except errors.NoSuchVM:<br>
&gt;         ...<br>
&gt;<br>
&gt; (this is a fake example, the real api may be different)<br>
&gt;<br>
&gt; Engine can build-require vdsmapi, and generate java module with the<br>
&gt; public errors from<br>
&gt; vdsmapi/errors.py module, instead of keeping this hardcoded in engine,<br>
&gt; and updating<br>
&gt; it every time vdsm adds new public error.<br>
&gt;<br>
&gt; Vdsm will use this package when building response to clients.<br>
&gt;<br>
&gt; Edi was concerned about sharing the errors module, so maybe we need a package:<br>
&gt;<br>
&gt; vdsmapi/<br>
&gt;     errors/<br>
&gt;         network.py<br>
&gt;         virt.py<br>
&gt;         storage.py<br>
&gt;         gluster.py<br>
&gt;<br>
&gt; We can still expose all the errors via errors/__init__.py, so clients<br>
&gt; do not have to care about<br>
&gt; the area of the application the error come from.<br>
&gt;<br>
&gt; Thoughts?</p>
<p dir="ltr">For which version is this proposal targeted? 4.1?<br><br><br></p>
<p dir="ltr">&gt;<br>
&gt; Nir<br>
&gt; _______________________________________________<br>
&gt; Devel mailing list<br>
&gt; <a href="mailto:Devel@ovirt.org">Devel@ovirt.org</a><br>
&gt; <a href="http://lists.ovirt.org/mailman/listinfo/devel">http://lists.ovirt.org/mailman/listinfo/devel</a><br>
</p>