def __init__(self, api): Driver.__init__(self, api) config = api.config self.shell = Shell(config=config) self.cache = None if config.SFA_AGGREGATE_CACHING: if NovaDriver.cache is None: NovaDriver.cache = Cache() self.cache = NovaDriver.cache
def __init__(self, server_address, HandlerClass, key_file, cert_file, logRequests=True): """Secure XML-RPC server. It it very similar to SimpleXMLRPCServer but it uses HTTPS for transporting XML data. """ logger.debug( "SecureXMLRPCServer.__init__, server_address=%s, cert_file=%s, key_file=%s" % (server_address, cert_file, key_file)) logger.debug("SecureXMLRPCServer HandlerClass=%s" % (HandlerClass)) self.logRequests = logRequests self.interface = None self.key_file = key_file self.cert_file = cert_file self.method_map = {} # add cache to the request handler HandlerClass.cache = Cache() #for compatibility with python 2.4 (centos53) if sys.version_info < (2, 5): SimpleXMLRPCServer.SimpleXMLRPCDispatcher.__init__(self) else: SimpleXMLRPCServer.SimpleXMLRPCDispatcher.__init__( self, True, None) SocketServer.BaseServer.__init__(self, server_address, HandlerClass) ctx = SSL.Context(SSL.SSLv23_METHOD) ctx.use_privatekey_file(key_file) ctx.use_certificate_file(cert_file) # If you wanted to verify certs against known CAs.. this is how you would do it #ctx.load_verify_locations('/etc/sfa/trusted_roots/plc.gpo.gid') config = Config() trusted_cert_files = TrustedRoots( config.get_trustedroots_dir()).get_file_list() for cert_file in trusted_cert_files: ctx.load_verify_locations(cert_file) ctx.set_verify(SSL.VERIFY_PEER | SSL.VERIFY_FAIL_IF_NO_PEER_CERT, verify_callback) ctx.set_verify_depth(5) ctx.set_app_data(self) self.socket = SSL.Connection( ctx, socket.socket(self.address_family, self.socket_type)) self.server_bind() self.server_activate()
def __init__(self, api): config = api.config flavour = config.SFA_GENERIC_FLAVOUR # to be cleaned if flavour == "nitos": from sfa.nitos.nitosdriver import NitosDriver self.driver = NitosDriver(api) elif flavour == "fd": from sfa.federica.fddriver import FdDriver self.driver = FdDriver(api) else: logger.error( "V2ToV3Adapter: Unknown Flavour !!!\n Supported Flavours: nitos, fd" ) # Caching if config.SFA_AGGREGATE_CACHING: if self.driver.cache: self.cache = self.driver.cache else: self.cache = Cache()
def __init__(self, encoding="utf-8", methods='sfa.methods', config="/etc/sfa/sfa_config", peer_cert=None, interface=None, key_file=None, cert_file=None, cache=None): XmlrpcApi.__init__(self, encoding) # we may be just be documenting the API if config is None: return # Load configuration self.config = Config(config) self.credential = None self.auth = Auth(peer_cert) self.interface = interface self.hrn = self.config.SFA_INTERFACE_HRN self.key_file = key_file self.key = Keypair(filename=self.key_file) self.cert_file = cert_file self.cert = Certificate(filename=self.cert_file) self.cache = cache if self.cache is None: self.cache = Cache() # load registries from sfa.server.registry import Registries self.registries = Registries() # load aggregates from sfa.server.aggregate import Aggregates self.aggregates = Aggregates() # filled later on by generic/Generic self.manager = None self._dbsession = None
def __init__ (self, config): self.cache=None if config.SFA_SM_CACHING: if SliceManager.cache is None: SliceManager.cache = Cache() self.cache = SliceManager.cache