diff --git a/util/vm/build.py b/util/vm/build.py
index af39e05..be809ec 100755
--- a/util/vm/build.py
+++ b/util/vm/build.py
@@ -158,7 +158,7 @@ def depend():
run( 'sudo apt-get -y update' )
run( 'sudo apt-get install -y'
' kvm cloud-utils genisoimage qemu-kvm qemu-utils'
- ' e2fsprogs dnsmasq'
+ ' e2fsprogs dnsmasq curl'
' python-setuptools mtools zip' )
run( 'sudo easy_install pexpect' )
@@ -457,16 +457,16 @@ def boot( cow, kernel, initrd, logfile, memory=1024 ):
return vm
-def login( vm ):
+def login( vm, user='mininet', password='mininet' ):
"Log in to vm (pexpect object)"
log( '* Waiting for login prompt' )
vm.expect( 'login: ' )
log( '* Logging in' )
- vm.sendline( 'mininet' )
+ vm.sendline( user )
log( '* Waiting for password prompt' )
vm.expect( 'Password: ' )
log( '* Sending password' )
- vm.sendline( 'mininet' )
+ vm.sendline( password )
log( '* Waiting for login...' )
@@ -628,9 +628,9 @@ OVFTemplate = """
The nat network
-
-A Mininet Virtual Machine (%(name)s)
-mininet-vm
+
+%(vminfo)s (%(name)s)
+%(vmname)s
The kind of installed guest operating system
%(osname)s
@@ -640,10 +640,10 @@ OVFTemplate = """
-
hertz * 10^6
Number of Virtual CPUs
-1 virtual CPU(s)
+%(cpus)s virtual CPU(s)
1
3
-1
+%(cpus)s
-
byte * 2^20
@@ -694,19 +694,23 @@ OVFTemplate = """
"""
-def generateOVF( name, osname, osid, diskname, disksize, mem=1024 ):
+def generateOVF( name, osname, osid, diskname, disksize, mem=1024, cpus=1,
+ vmname='Mininet-VM', vminfo='A Mininet Virtual Machine' ):
"""Generate (and return) OVF file "name.ovf"
name: root name of OVF file to generate
osname: OS name for OVF (Ubuntu | Ubuntu 64-bit)
osid: OS ID for OVF (93 | 94 )
diskname: name of disk file
disksize: size of virtual disk in bytes
- mem: VM memory size in MB"""
+ mem: VM memory size in MB
+ cpus: # of virtual CPUs
+ vmname: Name for VM (default name when importing)
+ vmimfo: Brief description of VM for OVF"""
ovf = name + '.ovf'
filesize = stat( diskname )[ ST_SIZE ]
params = dict( osname=osname, osid=osid, diskname=diskname,
filesize=filesize, disksize=disksize, name=name,
- mem=mem )
+ mem=mem, cpus=cpus, vmname=vmname, vminfo=vminfo )
xmltext = OVFTemplate % params
with open( ovf, 'w+' ) as f:
f.write( xmltext )