summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorAdam Coldrick <adam.coldrick@codethink.co.uk>2015-06-22 15:42:19 +0000
committerAdam Coldrick <adam.coldrick@codethink.co.uk>2015-06-22 16:17:44 +0000
commite584911f83ae311227994a1d19e9e81371c51b42 (patch)
tree9a463704ba8fada9ccc790575b900222118aecf4 /extensions
parentd383ae96a0300f43f5a22040e2f2420677307eef (diff)
downloaddefinitions-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
Diffstat (limited to 'extensions')
-rwxr-xr-xextensions/kvm.check3
-rwxr-xr-xextensions/kvm.write9
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.'''