[libvirt] [PATCH v2 0/6] rewrite virt-host-validate to be data driven, using Go & YAML
Martin Kletzander
mkletzan at redhat.com
Tue Oct 1 14:50:54 UTC 2019
On Tue, Oct 01, 2019 at 12:53:50PM +0100, Daniel P. Berrangé wrote:
>On Tue, Oct 01, 2019 at 01:36:07PM +0200, Bjoern Walk wrote:
>> Daniel P. Berrangé <berrange at redhat.com> [2019-09-30, 03:48PM +0100]:
>> > In this case, our existing C language for writing our production code is
>> > not well suited for the task we're applying it too. You could make an
>> > argument that the virt-host-validate could be written in Python, but
>> > I think it is preferred to keep all our deployable code written in
>> > compiled languages, leaving the scripting languages for our supporting
>> > build system.
>>
>> Any hard arguments on why that's preferential? I don't see a reasoning
>> as to not ship python code as many other project do just fine.
>
>The various core system tools which involve python have a history of
>poor performance. For example, we previously used "firewall-cmd" for
>talking to firewalld and it caused a massive performance hit, because
>of all the time spent during startup processing imported modules. This
>is seen again in OpenStack with its command line tools being so terribly
>slow - it takes 1.5 seconds just to load the client & do nothing.
>
>There's the classic difference of dynamic vs compiled languages where
>with the former many basic syntax errors don't appear until you hit
>them at runtime unless. Only mitigated if you invest a tonne of time
>in unit testing every possible codepath.
>
Both are good points, but they are greyscale rather than black/white. It
depends on the size and complexity of the script. It also contradicts the use
of declarative language when you are offloading lot of the logic into the input
file. I also think that both points are very much relevant to the build system
as well, just not that visible because not all parts of the build system are
used/modified by everyone.
>Using compiled languages also enables us to share code between the
>tools and library. This would enable us to actually embed the host
>validation functionality into the virt driver, so its exposed as a
>normal API in libvirt.
>
>Regards,
>Daniel
>--
>|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
>|: https://libvirt.org -o- https://fstop138.berrange.com :|
>|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20191001/ebb600cc/attachment-0001.sig>
More information about the libvir-list
mailing list