[ovirt-devel] Vdsm/virt conversion to etree

Milan Zamazal mzamazal at redhat.com
Wed Jul 20 14:11:57 UTC 2016


We have been planning switching from minidom to etree in Vdsm for long
time.  There are several good reasons why to make the change:

- We currently use both minidom and etree, we should use a single
  library.
- etree has apparently better performance in the sense of CPU time and
  RAM usage.
- etree has a simpler and more convenient API (e.g. limited XPath
  support).

After various discussions and trying different draft approaches, there
is now available a complete series of patches migrating virt usage of
minidom to etree.  It starts with patch

  https://gerrit.ovirt.org/55769

and you can follow the whole vm-etree topic from there.  Please read the
commit message in the initial patch, it explains the overall approach.
I tried to make the series reviewer friendly, for patch-by-patch review.
It's still draft, not finished, missing many tests, etc., but it already
basically works.  If you have any serious problems with the approach to
the conversion or its general directions, tell me before we start
discussing details.  Just don't forget we must perform the conversion in
some reasonably safe way and it must be possible to review it.

Please note the series doesn't try to solve all the world/Vdsm problems,
it focuses just on the etree conversion.  Further changes may be
implemented in followup patches.  I already implemented some
post-refactoring in vm-etree-refact topic starting with
https://gerrit.ovirt.org/60940.

Thanks to Francesco Romani for cooperation and help with the work.



More information about the Devel mailing list