diff options
author | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2015-06-22 15:42:19 +0000 |
---|---|---|
committer | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2015-06-22 16:17:44 +0000 |
commit | e584911f83ae311227994a1d19e9e81371c51b42 (patch) | |
tree | 9a463704ba8fada9ccc790575b900222118aecf4 | |
parent | d383ae96a0300f43f5a22040e2f2420677307eef (diff) | |
download | definitions-e584911f83ae311227994a1d19e9e81371c51b42.tar.gz |
Fix kvm deployment
Deployment to kvm got broken by the patch to remove dependencies
on morphlib and cliapp. This commit fixes the issues that were
introduced.
Change-Id: Iface1b38e638be4d84cf86b434ee30e1fffc34a0
-rwxr-xr-x | extensions/kvm.check | 3 | ||||
-rwxr-xr-x | extensions/kvm.write | 9 |
2 files changed, 8 insertions, 4 deletions
diff --git a/extensions/kvm.check b/extensions/kvm.check index 3c277156..84a343a5 100755 --- a/extensions/kvm.check +++ b/extensions/kvm.check @@ -17,7 +17,6 @@ import os import re -import subprocess import urlparse import writeexts @@ -70,7 +69,7 @@ class KvmPlusSshCheckExtension(writeexts.WriteExtension): try: writeexts.ssh_runcmd(ssh_host, ['virsh', '--connect', 'qemu:///system', 'domstate', vm_name]) - except CalledProcessError as e: + except writeexts.ExtensionError as e: pass else: raise writeexts.ExtensionError( diff --git a/extensions/kvm.write b/extensions/kvm.write index 2290725e..c7ed7b87 100755 --- a/extensions/kvm.write +++ b/extensions/kvm.write @@ -23,6 +23,7 @@ See file kvm.write.help for documentation import os import re +import subprocess import sys import tempfile import urlparse @@ -81,10 +82,14 @@ class KvmPlusSshWriteExtension(writeexts.WriteExtension): 'sh', '-c', recv_hole, 'dummy-argv0', 'file', vm_path ] - subprocess.check_call( + xfer_hole_proc = subprocess.Popen( ['python', xfer_hole_path, raw_disk], + stdout=subprocess.PIPE) + recv_hole_proc = subprocess.Popen( ['ssh', ssh_host] + map(writeexts.shell_quote, ssh_remote_cmd), - stdout=None, stderr=None) + stdin=xfer_hole_proc.stdout) + xfer_hole_proc.stdout.close() + recv_hole_proc.communicate() def create_libvirt_guest(self, ssh_host, vm_name, vm_path, autostart): '''Create the libvirt virtual machine.''' |