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.