Fixed to use uname instead of environ
[invirt/packages/invirt-web.git] / code / main.py
index 908d7cd..b0fa833 100755 (executable)
@@ -12,6 +12,7 @@ import simplejson
 import sys
 import time
 import urllib
 import sys
 import time
 import urllib
+import os
 from StringIO import StringIO
 
 def revertStandardError():
 from StringIO import StringIO
 
 def revertStandardError():
@@ -379,6 +380,9 @@ def modifyDict(username, state, fields):
             update_acl = True
         if hasattr(validate, 'name'):
             machine.name = validate.name
             update_acl = True
         if hasattr(validate, 'name'):
             machine.name = validate.name
+            for n in machine.nics:
+                if n.hostname == oldname:
+                    n.hostname = validate.name
         if hasattr(validate, 'description'):
             machine.description = validate.description
         if hasattr(validate, 'admin') and validate.admin != machine.administrator:
         if hasattr(validate, 'description'):
             machine.description = validate.description
         if hasattr(validate, 'admin') and validate.admin != machine.administrator:
@@ -476,7 +480,7 @@ power on and off the machine.  This can be either a user or a moira
 group.""",
                     'Quotas': """
 Quotas are determined on a per-locker basis.  Each locker may have a
 group.""",
                     'Quotas': """
 Quotas are determined on a per-locker basis.  Each locker may have a
-maximum of 512 megabytes of active ram, 50 gigabytes of disk, and 4
+maximum of 512 mebibytes of active ram, 50 gibibytes of disk, and 4
 active machines.""",
                     'Console': """
 <strong>Framebuffer:</strong> At a Linux boot prompt in your VM, try
 active machines.""",
                     'Console': """
 <strong>Framebuffer:</strong> At a Linux boot prompt in your VM, try
@@ -485,7 +489,7 @@ your machine will run just fine, but the applet's display of the
 console will suffer artifacts.
 """,
                     'Windows': """
 console will suffer artifacts.
 """,
                     'Windows': """
-<strong>Windows Vista:</strong> The Vista image is licensed for all MIT students and will automatically activate off the network; see <a href="/static/msca-email.txt">the licensing confirmation e-mail</a> for details. The installer req    uires 512 MB RAM and at least 7.5 GB disk space (15 GB or more recommended).<br>
+<strong>Windows Vista:</strong> The Vista image is licensed for all MIT students and will automatically activate off the network; see <a href="/static/msca-email.txt">the licensing confirmation e-mail</a> for details. The installer requires 512 MiB RAM and at least 7.5 GiB disk space (15 GiB or more recommended).<br>
 <strong>Windows XP:</strong> This is the volume license CD image. You will need your own volume license key to complete the install. We do not have these available for the general MIT community; ask your department if they have one.
 """
                     }
 <strong>Windows XP:</strong> This is the volume license CD image. You will need your own volume license key to complete the install. We do not have these available for the general MIT community; ask your department if they have one.
 """
                     }
@@ -523,8 +527,6 @@ def infoDict(username, state, machine):
         cpu_time_float = float(main_status.get('cpu_time', 0))
         cputime = datetime.timedelta(seconds=int(cpu_time_float))
     checkpoint.checkpoint('Status')
         cpu_time_float = float(main_status.get('cpu_time', 0))
         cputime = datetime.timedelta(seconds=int(cpu_time_float))
     checkpoint.checkpoint('Status')
-    display_fields = """name uptime memory state cpu_weight on_reboot 
-     on_poweroff on_crash on_xend_start on_xend_stop bootloader""".split()
     display_fields = [('name', 'Name'),
                       ('description', 'Description'),
                       ('owner', 'Owner'),
     display_fields = [('name', 'Name'),
                       ('description', 'Description'),
                       ('owner', 'Owner'),
@@ -539,12 +541,6 @@ def infoDict(username, state, machine):
                       'DISK_INFO',
                       ('state', 'state (xen format)'),
                       ('cpu_weight', 'CPU weight'+helppopup('CPU Weight')),
                       'DISK_INFO',
                       ('state', 'state (xen format)'),
                       ('cpu_weight', 'CPU weight'+helppopup('CPU Weight')),
-                      ('on_reboot', 'Action on VM reboot'),
-                      ('on_poweroff', 'Action on VM poweroff'),
-                      ('on_crash', 'Action on VM crash'),
-                      ('on_xend_start', 'Action on Xen start'),
-                      ('on_xend_stop', 'Action on Xen stop'),
-                      ('bootloader', 'Bootloader options'),
                       ]
     fields = []
     machine_info = {}
                       ]
     fields = []
     machine_info = {}
@@ -611,7 +607,8 @@ def info(username, state, path, fields):
 
 def unauthFront(_, _2, _3, fields):
     """Information for unauth'd users."""
 
 def unauthFront(_, _2, _3, fields):
     """Information for unauth'd users."""
-    return templates.unauth(searchList=[{'simple' : True}])
+    return templates.unauth(searchList=[{'simple' : True, 
+            'hostname' : os.uname()[1]}])
 
 def admin(username, state, path, fields):
     if path == '':
 
 def admin(username, state, path, fields):
     if path == '':