X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/77269356e0e57b5e35fec45eb5fa235dfcc821d5..66cccc3c93b4cd7d98c14564db63ee9831c4047e:/main.py diff --git a/main.py b/main.py index d4ae1c5..f567c71 100755 --- a/main.py +++ b/main.py @@ -185,10 +185,6 @@ def create(user, fields): def getListDict(user): machines = [m for m in Machine.select() if validation.haveAccess(user, m)] - #if user == 'moo': - # machines = Machine.select() - #else: - # machines = Machine.query().join('users').filter_by(user=user).all() checkpoint.checkpoint('Got my machines') on = {} has_vnc = {} @@ -274,6 +270,15 @@ def vnc(user, fields): authtoken=token) return templates.vnc(searchList=[d]) +def getHostname(nic): + if nic.hostname and '.' in nic.hostname: + return nic.hostname + elif nic.machine: + return nic.machine.name + '.servers.csail.mit.edu' + else: + return None + + def getNicInfo(data_dict, machine): """Helper function for info, get data on nics for a machine. @@ -289,8 +294,7 @@ def getNicInfo(data_dict, machine): for i in range(len(machine.nics)): nic_fields.extend([(x % i, y % i) for x, y in nic_fields_template]) if not i: - data_dict['nic%s_hostname' % i] = (machine.name + - '.servers.csail.mit.edu') + 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 if len(machine.nics) == 1: @@ -575,11 +579,8 @@ def printHeaders(headers): def getUser(): """Return the current user based on the SSL environment variables""" - if 'SSL_CLIENT_S_DN_Email' in os.environ: - username = os.environ['SSL_CLIENT_S_DN_Email'].split("@")[0] - return username - else: - return 'moo' + username = os.environ['SSL_CLIENT_S_DN_Email'].split("@")[0] + return username def main(operation, user, fields): start_time = time.time() @@ -640,7 +641,8 @@ if __name__ == '__main__': if not operation: operation = 'list' - main(operation, u, fields) - #import profile - #profile.run('main(operation, u, fields)', 'log-'+operation) - + if os.getenv("SIPB_XEN_PROFILE"): + import profile + profile.run('main(operation, u, fields)', 'log-'+operation) + else: + main(operation, u, fields)