summaryrefslogtreecommitdiff
path: root/morphlib/exts/virtualbox-ssh.write
diff options
context:
space:
mode:
authorRic Holland <richard.holland@codethink.co.uk>2013-03-05 10:32:03 +0000
committerRic Holland <richard.holland@codethink.co.uk>2013-03-05 17:51:32 +0000
commitd84b38a86c050b08f73fe07022737c4e54208d35 (patch)
tree68191288eae382c2ce2f46c11b9af998659d8758 /morphlib/exts/virtualbox-ssh.write
parentff7980a4ddadbcad93acecaa94cdcfa2c6c8c244 (diff)
downloadmorph-d84b38a86c050b08f73fe07022737c4e54208d35.tar.gz
Fix virtualbox deployment
It was missing an import for sys. It did not have the size of the disk either, this has also been fixed
Diffstat (limited to 'morphlib/exts/virtualbox-ssh.write')
-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):