X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/2cd57935fb39398e28281b9e8a6714453d430376..2be0969e153ace507ec07b27d156b50e54e00f94:/code/main.py diff --git a/code/main.py b/code/main.py index 797f33b..86da50e 100755 --- a/code/main.py +++ b/code/main.py @@ -156,11 +156,6 @@ 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, - 'Network Device': """ -While we recommend you use the Intel e1000 NIC, we've provided you the -option of using the AMD PCnet NIC if you are using an old enough OS -that doesn't have support for the e1000 NIC. -""", 'HVM/ParaVM': """ HVM machines use the virtualization features of the processor, while ParaVM machines rely on a modified kernel to communicate directly with @@ -217,7 +212,7 @@ console will suffer artifacts. def parseCreate(self, fields): kws = dict([(kw, fields[kw]) for kw in - 'name description owner memory disksize vmtype cdrom nictype autoinstall'.split() + 'name description owner memory disksize vmtype cdrom autoinstall'.split() if fields[kw]]) validate = validation.Validate(cherrypy.request.login, cherrypy.request.state, @@ -226,7 +221,6 @@ console will suffer artifacts. description=validate.description, memory=validate.memory, disksize=validate.disksize, owner=validate.owner, machine_type=getattr(validate, 'vmtype', Defaults.type), - nic_type=getattr(validate, 'nictype', Defaults.nic), cdrom=getattr(validate, 'cdrom', None), autoinstall=getattr(validate, 'autoinstall', None)) @@ -409,7 +403,6 @@ class Defaults: description = '' administrator = '' type = 'linux-hvm' - nic = 'e1000' def __init__(self, max_memory=None, max_disk=None, **kws): if max_memory is not None: @@ -495,7 +488,6 @@ def getNicInfo(data_dict, machine): nic_fields_template = [('nic%s_hostname', 'NIC %s Hostname'), ('nic%s_mac', 'NIC %s MAC Addr'), ('nic%s_ip', 'NIC %s IP'), - ('nic%s_type', 'NIC %s Type'), ] nic_fields = [] for i in range(len(machine.nics)): @@ -503,7 +495,6 @@ def getNicInfo(data_dict, machine): data_dict['nic%s_hostname' % i] = getHostname(machine.nics[i]) data_dict['nic%s_mac' % i] = machine.nics[i].mac_addr data_dict['nic%s_ip' % i] = machine.nics[i].ip - data_dict['nic%s_type' % i] = machine.nics[i].nic_type if len(machine.nics) == 1: nic_fields = [(x, y.replace('NIC 0 ', '')) for x, y in nic_fields] return nic_fields @@ -543,10 +534,6 @@ def modifyDict(username, state, machine_id, fields): if hasattr(validate, 'memory'): machine.memory = validate.memory - if hasattr(validate, 'nictype'): - for i in range(len(machine.nics)): - machine.nics[i] = validate.nictype - if hasattr(validate, 'vmtype'): machine.type = validate.vmtype @@ -607,7 +594,11 @@ def modifyDict(username, state, machine_id, fields): def infoDict(username, state, machine): """Get the variables used by info.tmpl.""" - status = controls.statusInfo(machine) + try: + status = controls.statusInfo(machine) + except CodeError, e: + # machine was shut down in between the call to listInfoDict and this + status = None has_vnc = hasVnc(status) if status is None: main_status = dict(name=machine.name, @@ -676,7 +667,6 @@ def infoDict(username, state, machine): for name in 'machine_id name description administrator owner memory contact'.split(): if getattr(machine, name): setattr(defaults, name, getattr(machine, name)) - defaults.nic = machine.nics[0].nic_type defaults.type = machine.type.type_id defaults.disk = "%0.2f" % (machine.disks[0].size/1024.) d = dict(user=username,