X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/503047880c0b9a151a8d4ae2baaed29f3fb2ec70..aa6a36046dc763bffcc092fefe296edc3f4011d7:/code/controls.py diff --git a/code/controls.py b/code/controls.py index b4740d4..8a5f1ef 100644 --- a/code/controls.py +++ b/code/controls.py @@ -2,7 +2,6 @@ Functions to perform remctls. """ -from sipb_xen_database import Machine, Disk, Type, NIC, CDROM, ctx, meta import validation from webcommon import CodeError, InvalidInput import random @@ -13,6 +12,9 @@ import re import cache_acls import yaml +from invirt.config import structs as config +from invirt.database import Machine, Disk, Type, NIC, CDROM, ctx, meta + # ... and stolen from xend/uuid.py def randomUUID(): """Generate a random UUID.""" @@ -25,10 +27,10 @@ def uuidToString(u): "%02x" * 6]) % tuple(u) # end stolen code -def kinit(username = 'daemon/sipb-xen.mit.edu', keytab = '/etc/sipb-xen.keytab'): +def kinit(): """Kinit with a given username and keytab""" - - p = subprocess.Popen(['kinit', "-k", "-t", keytab, username], + p = subprocess.Popen(['kinit', "-k", "-t", '/etc/invirt/keytab', + 'daemon/'+config.web.hostname], stderr=subprocess.PIPE) e = p.wait() if e: @@ -46,7 +48,7 @@ def remctl(*args, **kws): kinits if necessary, and outputs errors to stderr. """ checkKinit() - p = subprocess.Popen(['remctl', 'remote.mit.edu'] + p = subprocess.Popen(['remctl', config.remote.hostname] + list(args), stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -130,7 +132,7 @@ def createVm(username, state, owner, contact, name, description, memory, disksiz open_nics = NIC.select_by(machine_id=None) if not open_nics: #No IPs left! raise CodeError("No IP addresses left! " - "Contact xvm@mit.edu.") + "Contact %s." % config.web.errormail) nic = open_nics[0] nic.machine_id = machine.machine_id nic.hostname = name