def newInstance(self, spool): """Returns a new instance. This instance does not have any files assigned. """ from xbe.xbed.config.xen import InstanceConfig from xbe.util.uuid import uuid self.mtx.acquire() try: instance_name = "xbe-%s" % uuid() icfg = InstanceConfig(instance_name) try: inst = Instance(icfg, spool, self) except: log.error(format_exception()) raise # remember the instance in our db self.instances[inst.uuid()] = inst finally: self.mtx.release() return inst
def begin(self): """Begin a new transaction.""" if self.transaction: raise RuntimeError("currently only one active transaction is supported!") self.transaction = uuid() f = Frame("BEGIN") f.header["transaction"] = self.transaction self.sendFrame(f)
def new(self, ticket_id): """Returns a new task.""" from xbe.util.uuid import uuid self.mtx.acquire() task = Task(ticket_id, uuid(), self) self.tasks[task.id()] = task self.mtx.release() self.notify( (task, "newTask") ) return task
def __cache_helper(self, uri, type, **meta_info): uid = uuid() dst = self.__buildFileName(uid) # the following sequence does the following: # - use a DataStager to retrieve the uri (returns 'dst' path) # - after that, compute a hash value for the dst (returns (path, hash) tuple) # - transform 'dst' into a local file uri (returns (uri, hash)) # - insert into the DB # the function returns a Deferred which fires the 'uuid' of the entry return self.__retrieveFile(uri, dst)\ .addCallback(self.__cb_computeHash)\ .addCallback(lambda ph: ("file://"+ph[0], ph[1]))\ .addCallback(self.__cb_insertEntry, uid, type, **meta_info)\ .addCallback(lambda _: uid)\ .addErrback(self.__cb_cleanUpFileOnError, dst)
def __init__(self): StompClient.__init__(self) self.client_id = uuid()
def setUp(self): self.testDir = os.path.join("/tmp", uuid())
def new(self): _id = uuid.uuid() ticket = Ticket(uuid.uuid()) self.__tickets[ticket.id()] = ticket return ticket