summaryrefslogtreecommitdiff
path: root/morphlib
diff options
context:
space:
mode:
authorLars Wirzenius <lars.wirzenius@codethink.co.uk>2013-03-06 13:31:28 +0000
committerLars Wirzenius <lars.wirzenius@codethink.co.uk>2013-03-06 13:31:28 +0000
commitab90f3561ce43dba089686c743ecf0c4d6f33d31 (patch)
tree6db2e698570db1f8c8a249c4a14b404741aad982 /morphlib
parentbaf921ff9566b78519c0eda49becb6531a68e550 (diff)
parentd84b38a86c050b08f73fe07022737c4e54208d35 (diff)
downloadmorph-ab90f3561ce43dba089686c743ecf0c4d6f33d31.tar.gz
Merge remote-tracking branch 'origin/baserock/richardholland/fix-virtualbox-deploy' into staging
Diffstat (limited to 'morphlib')
-rwxr-xr-xmorphlib/exts/virtualbox-ssh.write8
1 files changed, 5 insertions, 3 deletions
diff --git a/morphlib/exts/virtualbox-ssh.write b/morphlib/exts/virtualbox-ssh.write
index c21dcc57..9b99c7a1 100755
--- a/morphlib/exts/virtualbox-ssh.write
+++ b/morphlib/exts/virtualbox-ssh.write
@@ -26,6 +26,7 @@ accessed over ssh. The machine gets created, but not started.
import cliapp
import os
import re
+import sys
import time
import tempfile
import urlparse
@@ -68,7 +69,7 @@ class VirtualBoxPlusSshWriteExtension(morphlib.writeexts.WriteExtension):
try:
self.transfer_and_convert_to_vdi(
- raw_disk, size, ssh_host, vdi_path)
+ raw_disk, ssh_host, vdi_path)
self.create_virtualbox_guest(ssh_host, vm_name, vdi_path)
except BaseException:
sys.stderr.write('Error deploying to VirtualBox')
@@ -93,14 +94,15 @@ class VirtualBoxPlusSshWriteExtension(morphlib.writeexts.WriteExtension):
raise cliapp.AppException('Cannot parse location %s' % location)
return x.netloc, m.group('guest'), m.group('path')
- def transfer_and_convert_to_vdi(self, raw_disk, size, ssh_host, vdi_path):
+ def transfer_and_convert_to_vdi(self, raw_disk, ssh_host, vdi_path):
'''Transfer raw disk image to VirtualBox host, and convert to VDI.'''
self.status(msg='Transfer disk and convert to VDI')
with open(raw_disk, 'rb') as f:
cliapp.runcmd(
['ssh', ssh_host,
- 'VBoxManage', 'convertfromraw', 'stdin', vdi_path, str(size)],
+ 'VBoxManage', 'convertfromraw', 'stdin', vdi_path,
+ str(os.path.getsize(raw_disk))],
stdin=f)
def create_virtualbox_guest(self, ssh_host, vm_name, vdi_path):