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

Reply via email to