cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wido den Hollander <w...@widodh.nl>
Subject patchviasocket: Why in Perl and not native Java?
Date Sun, 26 May 2013 09:20:47 GMT
Hi Marcus,

This is somewhat a rhetorical question, but I wanted to confirm anyway.

The 4.2 SystemVMs use a VirtIO socket on KVM to get their boot 
arguments. That is great, since there is no longer a need for patch 
disks which enables them to run on RBD.

One of the things I dislike about the KVM agent is all the scripts it 
runs, I'd rather see them all disappear since executing scripts and 
getting the correct exit statuses is always a difficult thing.

Anyway, the patchviasocket.pl script opens the VirtIO Unix Socket on the 
hypervisor and writes some data to it.

I've been searching and with some third party libraries it is also 
possible to do this natively from Java, for example:

* http://www.matthew.ath.cx/projects/java/
* http://code.google.com/p/junixsocket/

They require libraries on the system with JNI though, so it will make 
our packaging efforts harder. Was this the reasoning behind doing this 
in Perl?

If so, why Perl? Since most of the stuff in CloudStack is done in Java, 
Python or Bash, why Perl? Couldn't we rewrite this in Python if we don't 
want to do this in Java?

Wido

Mime
View raw message