I didn't see what are the main differences in http://libguestfs.org/guestfs.3.html#backend Specifically, I'm interested in what is faster (direct sounds faster to me), and if there are any major restrictions (networking?) Here's an example command we are running (sorry, Python'ish, but you'll get it): ['virt-sysprep', '--connect', 'qemu:///system', '-a', u'/zram/3.6/images/lago_basic_suite_3_6_engine_root.qcow2', '--selinux-relabel', '--hostname', 'lago_basic_suite_3_6_engine', '--root-password', 'password:123456', '--mkdir', '/root/.ssh', '--chmod', '0700:/root/.ssh', '--upload', '/zram/3.6/id_rsa.pub:/root/.ssh/authorized_keys', '--run-command', 'chown root.root /root/.ssh/authorized_keys', '--mkdir', '/etc/iscsi', '--chmod', '0755:/etc/iscsi', '--write', '/etc/iscsi/initiatorname.iscsi:InitiatorName=iqn.2014-07.org.lago:lago_basic_suite_3_6_engine', '--mkdir', '/etc/selinux', '--chmod', '0755:/etc/selinux', '--write', '/etc/selinux/config:SELINUX=enforcing\nSELINUXTYPE=targeted\n', '--mkdir', '/etc/sysconfig/network-scripts', '--chmod', '0755:/etc/sysconfig/network-scripts', '--write', '/etc/sysconfig/network-scripts/ifcfg-eth0:HWADDR="54:52:c0:a8:c8:03"\nBOOTPROTO="dhcp"\nTYPE="Ethernet"\nONBOOT="yes"\nNAME="eth0"'] TIA, Y.