Exemple #1
0
 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
Exemple #2
0
    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()
Exemple #3
0
    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()
Exemple #4
0
    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
Exemple #5
0
 def __init__ (self, config):
     self.cache=None
     if config.SFA_SM_CACHING:
         if SliceManager.cache is None:
             SliceManager.cache = Cache()
         self.cache = SliceManager.cache