X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/29d4c7b59532a39298e21f0abbc774dcff546b73..880cccfcec2b9d02c9f1021aff834ca7b2af0b39:/code/main.py?ds=sidebyside diff --git a/code/main.py b/code/main.py index 15647b9..8a5e001 100755 --- a/code/main.py +++ b/code/main.py @@ -201,8 +201,7 @@ def getListDict(username, state): checkpoint.checkpoint('Got max mem/disk') defaults = Defaults(max_memory=max_memory, max_disk=max_disk, - owner=username, - cdrom='gutsy-i386') + owner=username) checkpoint.checkpoint('Got defaults') def sortkey(machine): return (machine.owner != username, machine.owner, machine.name) @@ -426,15 +425,39 @@ def helpHandler(username, state, path, fields): simple = fields.getfirst('simple') subjects = fields.getlist('subject') - help_mapping = {'ParaVM Console': """ + help_mapping = { + 'Autoinstalls': """ +The autoinstaller builds a minimal Debian or Ubuntu system to run as a +ParaVM. You can access the resulting system by logging into the serial console server +with your Kerberos tickets; there is no root password so sshd will +refuse login.

+ +

Under the covers, the autoinstaller uses our own patched version of +xen-create-image, which is a tool based on debootstrap. If you log +into the serial console while the install is running, you can watch +it. +""", + 'ParaVM Console': """ ParaVM machines do not support local console access over VNC. To access the serial console of these machines, you can SSH with Kerberos to %s, using the name of the machine as your username.""" % config.console.hostname, 'HVM/ParaVM': """ HVM machines use the virtualization features of the processor, while -ParaVM machines use Xen's emulation of virtualization features. You -want an HVM virtualized machine.""", +ParaVM machines rely on a modified kernel to communicate directly with +the hypervisor. HVMs support boot CDs of any operating system, and +the VNC console applet. The three-minute autoinstaller produces +ParaVMs. ParaVMs typically are more efficient, and always support the +console server.

+ +

More details are on the +wiki, including steps to prepare an HVM guest to boot as a ParaVM +(which you can skip by using the autoinstaller to begin with.)

+ +

We recommend using a ParaVM when possible and an HVM when necessary. +""", 'CPU Weight': """ Don't ask us! We're as mystified as you are.""", 'Owner': """ @@ -632,7 +655,8 @@ Subject: %s %s """ % (to, config.web.hostname, subject, body) - p = subprocess.Popen(['/usr/sbin/sendmail', to], stdin=subprocess.PIPE) + p = subprocess.Popen(['/usr/sbin/sendmail', '-f', to, to], + stdin=subprocess.PIPE) p.stdin.write(mail) p.stdin.close() p.wait() @@ -657,7 +681,7 @@ def getUser(environ): if environ.get('AUTH_TYPE') == 'Negotiate': # Convert the krb5 principal into a krb4 username - if not user.endswith('@%s' % config.authn[0].realm): + if not user.endswith('@%s' % config.kerberos.realm): return else: return user.split('@')[0].replace('/', '.')