ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CRAB/python/CredentialRenew.py
Revision: 1.1
Committed: Mon Dec 8 21:05:26 2008 UTC (16 years, 4 months ago) by spiga
Content type: text/x-python
Branch: MAIN
Log Message:
allow to renew credential while using the server. Works both for Proxy and Token

File Contents

# Content
1 from Actor import *
2 from crab_util import *
3 import common
4 from ProdCommon.Credential.CredentialAPI import CredentialAPI
5
6 class CredentialRenew(Actor):
7
8 def __init__(self, cfg_params):
9
10 self.credentialType = 'Proxy'
11 if common.scheduler.name().upper() in ['LSF', 'CAF']:
12 self.credentialType = 'Token'
13
14 def run(self):
15 """
16 """
17 common.logger.debug(5, "CredentialRenew::run() called")
18 self.renewer()
19 common.logger.message("Credential successfully delegated to the server.\n")
20 return
21
22 def renewer(self):
23 """
24 """
25 myproxyserver = self.cfg_params.get('EDG.proxy_server', 'myproxy.cern.ch')
26 configAPI = {'credential' : self.credentialType, \
27 'myProxySvr' : myproxyserver,\
28 'serverDN' : self.server_dn,\
29 'shareDir' : common.work_space.shareDir() ,\
30 'userName' : UnixUserName(),\
31 'serverName' : self.server_name \
32 }
33 try:
34 CredAPI = CredentialAPI( configAPI )
35 except Exception, err :
36 common.logger.debug(3, "Configuring Credential API: " +str(traceback.format_exc()))
37 raise CrabException("ERROR: Unable to configure Credential Client API %s\n"%str(err))
38 if not CredAPI.checkCredential(Time=100) :
39 common.logger.message("Please renew your %s :\n"%self.credentialType)
40 try:
41 CredAPI.ManualRenewCredential()
42 except Exception, ex:
43 raise CrabException(str(ex))
44 try:
45 dict = CredAPI.registerCredential(sub)
46 except Exception, err:
47 common.logger.debug(3, "Registering Credentials : " +str(traceback.format_exc()))
48 raise CrabException("ERROR: Unable to register %s delegating server: %s\n"%(self.credentialType,self.server_name ))