X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/04849845c49a37671b5aab3bedfa3b287e6d13f3..6af249bac425a21c0ec2505b50444d60a454d8f4:/code/main.py?ds=sidebyside diff --git a/code/main.py b/code/main.py index 540b3f4..3a89eea 100755 --- a/code/main.py +++ b/code/main.py @@ -121,7 +121,7 @@ class Defaults: if max_memory is not None: self.memory = min(self.memory, max_memory) if max_disk is not None: - self.max_disk = min(self.disk, max_disk) + self.disk = min(self.disk, max_disk) for key in kws: setattr(self, key, kws[key]) @@ -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) @@ -446,8 +445,19 @@ 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': """ @@ -645,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() @@ -670,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('/', '.')