Ignore:
Timestamp:
Mar 4, 2012 6:45:19 PM (12 years ago)
Author:
Ted Faber <faber@…>
Branches:
compt_changes, master
Children:
6527d60
Parents:
2bb8b35
Message:

More improved logging

File:
1 edited

Legend:

Unmodified
Added
Removed
  • fedd/federation/emulab_access.py

    r2bb8b35 r8cab4c2  
    241241            return rv
    242242
     243        self.log.info("RequestAccess called by %s" % fid)
    243244        # The dance to get into the request body
    244245        if req.has_key('RequestAccessRequestBody'):
     
    291292            f.close()
    292293        except EnvironmentError, e:
     294            self.log.info("RequestAccess failed for by %s: internal error" \
     295                    % fid)
    293296            raise service_error(service_error.internal,
    294297                    "Can't open %s/%s : %s" % (self.certdir, aid, e))
     298        self.log.debug('RequestAccess Returning allocation ID: %s' % allocID)
    295299        resp = self.build_access_response({ 'fedid': allocID } ,
    296300                pname, services, proof)
     
    298302
    299303    def ReleaseAccess(self, req, fid):
     304        self.log.info("ReleaseAccess called by %s" % fid)
    300305        # The dance to get into the request body
    301306        if req.has_key('ReleaseAccessRequestBody'):
     
    335340            self.log.debug("Removing %s" % cf)
    336341            os.remove(cf)
     342            self.log.info("ReleaseAccess succeeded for %s" % fid)
    337343            return { 'allocID': req['allocID'], 'proof': proof.to_dict() }
    338344        else:
     
    811817        rv = None   # Return value from segment creation
    812818
     819        self.log.info("StartSegment called by %s" % fid)
    813820        try:
    814821            req = req['StartSegmentRequestBody']
     
    826833                with_proof=True)
    827834        if not access_ok:
     835            self.log.info("StartSegment for %s failed: access denied" % fid)
    828836            raise service_error(service_error.access, "Access denied")
    829837        else:
     
    852860            os.mkdir(softdir)
    853861        except EnvironmentError:
     862            self.log.info("StartSegment for %s failed: internal error" % fid)
    854863            raise service_error(service_error.internal, "Cannot create tmp dir")
    855864
     
    884893            rv = starter(self, ename, proj, user, expfile, tmpdir, gid=gid)
    885894        except service_error, e:
     895            self.log.info("StartSegment for %s failed: %s"  % (fid, e))
    886896            err = e
    887897        except:
    888898            t, v, st = sys.exc_info()
     899            self.log.info("StartSegment for %s failed: unexpected error:  %s" \
     900                    % (fid, v, traceback.extract_tb(st)))
    889901            err = service_error(service_error.internal, "%s: %s" % \
    890902                    (v, traceback.extract_tb(st)))
     
    895907
    896908        if rv:
     909            self.log.info("StartSegment for %s succeeded" % fid)
    897910            return self.finalize_experiment(starter, topo, aid, req['allocID'],
    898911                    proof)
     
    904917
    905918    def TerminateSegment(self, req, fid):
     919        self.log.info("TerminateSegment called by %s" % fid)
    906920        try:
    907921            req = req['TerminateSegmentRequestBody']
     
    934948
    935949        if not proj:
     950            self.log.info("TerminateSegment failed for %s: cannot find project"\
     951                    % fid)
    936952            raise service_error(service_error.internal,
    937953                    "Can't find project for %s" % aid)
     
    941957
    942958        if not user:
     959            self.log.info("TerminateSegment failed for %s: cannot find user"\
     960                    % fid)
    943961            raise service_error(service_error.internal,
    944962                    "Can't find creation user for %s" % aid)
    945963        if not ename:
     964            self.log.info(
     965                    "TerminateSegment failed for %s: cannot find experiment"\
     966                    % fid)
    946967            raise service_error(service_error.internal,
    947968                    "Can't find experiment name for %s" % aid)
     
    950971                cert=xmlrpc_cert)
    951972        stopper(self, user, proj, ename, gid, nonce)
     973        self.log.info("TerminateSegment succeeded for %s %s %s" % \
     974                (fid, proj, ename))
    952975        return { 'allocID': req['allocID'], 'proof': proof.to_dict() }
    953976
    954977    def InfoSegment(self, req, fid):
     978        self.log.info("InfoSegment called by %s" % fid)
    955979        try:
    956980            req = req['InfoSegmentRequestBody']
     
    9831007
    9841008        if not proj:
     1009            self.log.info("InfoSegment failed for %s: cannot find project"% fid)
    9851010            raise service_error(service_error.internal,
    9861011                    "Can't find project for %s" % aid)
     
    9901015
    9911016        if not user:
     1017            self.log.info("InfoSegment failed for %s: cannot find user"% fid)
    9921018            raise service_error(service_error.internal,
    9931019                    "Can't find creation user for %s" % aid)
    9941020        if not ename:
     1021            self.log.info("InfoSegment failed for %s: cannot find exp"% fid)
    9951022            raise service_error(service_error.internal,
    9961023                    "Can't find experiment name for %s" % aid)
     
    9991026                cert=xmlrpc_cert)
    10001027        info(self, user, proj, ename)
     1028        self.log.info("InfoSegment gathered info for %s %s %s %s" % \
     1029                (fid, user, proj, ename))
    10011030        self.decorate_topology(info, topo)
    10021031        self.state_lock.acquire()
     
    10051034            self.write_state()
    10061035        self.state_lock.release()
     1036        self.log.info("InfoSegment updated info for %s %s %s %s" % \
     1037                (fid, user, proj, ename))
    10071038
    10081039        rv = {
     
    10101041                'proof': proof.to_dict(),
    10111042                }
     1043        self.log.info("InfoSegment succeeded info for %s %s %s %s" % \
     1044                (fid, user, proj, ename))
    10121045        if topo:
    10131046            rv['segmentdescription'] = { 'topdldescription' : topo.to_dict() }
     
    10241057                return None
    10251058
     1059        self.log.info("OperationSegment called by %s" % fid)
    10261060        try:
    10271061            req = req['OperationSegmentRequestBody']
     
    10351069                with_proof=True)
    10361070        if not access_ok:
     1071            self.log.info("OperationSegment failed for %s: access denied" % fid)
    10371072            raise service_error(service_error.access, "Access denied")
    10381073
     
    10421077
    10431078        if op is None :
     1079            self.log.info("OperationSegment failed for %s: no operation" % fid)
    10441080            raise service_error(service_error.req, "missing operation")
    10451081        elif targets is None:
     1082            self.log.info("OperationSegment failed for %s: no targets" % fid)
    10461083            raise service_error(service_error.req, "no targets")
    10471084
     
    10721109                cert=xmlrpc_cert)
    10731110        ops(self, op, ptargets, params, topo)
     1111        self.log.info("OperationSegment operated for %s" % fid)
    10741112       
    10751113        status.extend(ops.status)
     1114        self.log.info("OperationSegment succeed for %s" % fid)
    10761115
    10771116        return {
Note: See TracChangeset for help on using the changeset viewer.