X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fclient%2Fsfi.py;h=13653420f27e6aebfbfd7bddfb05780715732f69;hb=99e9f96209b9ebfd1853e7b8902a1a0fe893eaa2;hp=d25c172d26590147d5005cad0258db0b74abc151;hpb=a84a9f560f623d7500622e275426ae0e12332a03;p=sfa.git diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index d25c172d..13653420 100755 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -15,9 +15,10 @@ from StringIO import StringIO from types import StringTypes, ListType from optparse import OptionParser import zlib -import logging +from sfa.util.sfalogging import sfa_logger,sfa_logger_goes_to_console from sfa.trust.certificate import Keypair, Certificate +from sfa.trust.gid import GID from sfa.trust.credential import Credential from sfa.util.sfaticket import SfaTicket from sfa.util.record import SfaRecord, UserRecord, SliceRecord, NodeRecord, AuthorityRecord @@ -25,8 +26,6 @@ from sfa.util.namespace import get_leaf, get_authority, hrn_to_urn from sfa.util.xmlrpcprotocol import ServerException import sfa.util.xmlrpcprotocol as xmlrpcprotocol from sfa.util.config import Config -from sfa.util.sfalogging import console_logger - AGGREGATE_PORT=12346 CM_PORT=12346 @@ -128,7 +127,8 @@ class Sfi: self.authority = None self.options = None self.hashrequest = False - self.logger=console_logger + sfa_logger_goes_to_console() + self.logger=sfa_logger() def create_cmd_parser(self, command, additional_cmdargs=None): cmdargs = {"list": "name", @@ -231,14 +231,12 @@ class Sfi: help="user name", metavar="HRN", default=None) parser.add_option("-a", "--auth", dest="auth", help="authority name", metavar="HRN", default=None) - parser.add_option("-v", "--verbose", - action="store_true", dest="verbose", default=False, - help="verbose mode") + parser.add_option("-v", "--verbose", action="count", dest="verbose", default=0, + help="verbose mode - cumulative") parser.add_option("-D", "--debug", action="store_true", dest="debug", default=False, help="Debug (xml-rpc) protocol messages") - parser.add_option("-p", "--protocol", - dest="protocol", default="xmlrpc", + parser.add_option("-p", "--protocol", dest="protocol", default="xmlrpc", help="RPC protocol (xmlrpc or soap)") parser.add_option("-k", "--hashrequest", action="store_true", dest="hashrequest", default=False, @@ -258,7 +256,7 @@ class Sfi: except: self.logger.critical("Failed to read configuration file %s"%config_file) self.logger.info("Make sure to remove the export clauses and to add quotes") - if not self.options.verbose: + if self.options.verbose==0: self.logger.info("Re-run with -v for more details") else: self.logger.log_exc("Could not read config file %s"%config_file) @@ -402,8 +400,8 @@ class Sfi: if (os.path.isfile(file)): credential = Credential(filename=file) # make sure it isnt expired - if not credential.get_lifetime or \ - datetime.datetime.today() < credential.get_lifetime(): + if not credential.get_expiration or \ + datetime.datetime.today() < credential.get_expiration(): return credential return None @@ -433,11 +431,11 @@ class Sfi: if user_name.count(".") > 0: user_name = user_name.replace(".", '_') self.user = self.authority + "." + user_name - cred_str = self.registry.get_self_credential(cert_string, "user", hrn) + cred_str = self.registry.GetSelfCredential(cert_string, hrn, "user") else: # bootstrap slice credential from user credential user_cred = self.get_user_cred().save_to_string(save_parents=True) - cred_str = self.registry.get_credential(user_cred, type, hrn) + cred_str = self.registry.GetCredential(user_cred, hrn, type) if not cred_str: self.logger.critical("Failed to get %s credential" % type) @@ -929,7 +927,7 @@ class Sfi: (options, args) = parser.parse_args() self.options = options - if self.options.verbose: self.logger.setLevel(logging.DEBUG) + self.logger.setLevelFromOptVerbose(self.options.verbose) if options.hashrequest: self.hashrequest = True @@ -942,10 +940,7 @@ class Sfi: self.set_servers() - self.logger.info("Command %s" % command) - self.logger.info("dir %s, user %s, auth %s, reg %s, sm %s" % ( - self. options.sfi_dir, self.options.user,self.options.auth, - self.options.registry, self.options.sm)) + self.logger.info("Command=%s" % command) if command in ("resources"): self.logger.debug("resources cmd_opts %s" % cmd_opts.format) elif command in ("list", "show", "remove"): @@ -961,4 +956,4 @@ class Sfi: return if __name__ == "__main__": - Sfi().main() + Sfi().main()