diff options
Diffstat (limited to 'morphlib/exts/kvm.write')
-rwxr-xr-x | morphlib/exts/kvm.write | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/morphlib/exts/kvm.write b/morphlib/exts/kvm.write index 94a55daa..3e3b3eb1 100755 --- a/morphlib/exts/kvm.write +++ b/morphlib/exts/kvm.write @@ -90,9 +90,16 @@ class KvmPlusSshWriteExtension(morphlib.writeexts.WriteExtension): '''Transfer raw disk image to libvirt host.''' self.status(msg='Transferring disk image') - target = '%s:%s' % (ssh_host, vm_path) - with open(raw_disk, 'rb') as f: - cliapp.runcmd(['rsync', '-szS', raw_disk, target]) + + xfer_hole_path = morphlib.util.get_data_path('xfer-hole') + recv_hole = morphlib.util.get_data('recv-hole') + + cliapp.runcmd( + ['python', xfer_hole_path, raw_disk], + ['ssh', ssh_host, + 'sh', '-c', cliapp.shell_quote(recv_hole), + 'dummy-argv0', 'file', vm_path], + stdout=None, stderr=None) def create_libvirt_guest(self, ssh_host, vm_name, vm_path, autostart): '''Create the libvirt virtual machine.''' |