def handleProxy(self ): """ Init the user proxy, and delegate it if necessary. """ if not self.options.skipProxy and self.initializeProxy: proxy = CredentialInteractions('', '', self.voRole, self.voGroup, self.logger, myproxyAccount=self.serverurl) self.proxy = proxy self.logger.debug("Checking credentials") _, self.proxyfilename = proxy.createNewVomsProxy( timeleftthreshold = 720 ) if self.requiresREST: #if the command does not contact the REST we can't delegate the proxy proxy.myproxyAccount = self.serverurl baseurl = self.getUrl(self.instance, resource='info') #get the dn of the task workers from the server alldns = server_info('delegatedn', self.serverurl, self.proxyfilename, baseurl) for serverdn in alldns['services']: proxy.defaultDelegation['serverDN'] = serverdn proxy.defaultDelegation['myProxySvr'] = 'myproxy.cern.ch' self.logger.debug("Registering user credentials for server %s" % serverdn) proxy.createNewMyProxy( timeleftthreshold = 60 * 60 * 24 * RENEW_MYPROXY_THRESHOLD, nokey=True) else: self.proxyfilename = self.options.skipProxy os.environ['X509_USER_PROXY'] = self.options.skipProxy self.logger.debug('Skipping proxy creation')