Esempio n. 1
0
 def set_persistence(cls, persistence_config):
     if not hasattr(cls, 'project_id'):
         raise Exception('set_persistence can only be called after '
                         'cinderlib has been configured')
     cls.persistence = persistence.setup(persistence_config)
     objects.setup(cls.persistence, Backend, cls.project_id, cls.user_id,
                   cls.non_uuid_ids)
     for backend in cls.backends.values():
         backend.driver.db = cls.persistence.db
Esempio n. 2
0
    def set_persistence(cls, persistence_config):
        if not hasattr(cls, 'project_id'):
            raise Exception('set_persistence can only be called after '
                            'cinderlib has been configured')
        cls.persistence = persistence.setup(persistence_config)
        objects.setup(cls.persistence, Backend, cls.project_id, cls.user_id,
                      cls.non_uuid_ids)
        for backend in cls.backends.values():
            backend.driver.db = cls.persistence.db

        # Replace the standard DB implementation instance with the one from
        # the persistence plugin.
        db_api.IMPL = cls.persistence.db
Esempio n. 3
0
    def __init__(self,
                 server,
                 persistence_config=None,
                 node_id=None,
                 storage_nw_ip=None,
                 **kwargs):
        if persistence_config:
            self.persistence = persistence.setup(persistence_config)
            # TODO(geguileo): Make Node only service work, which may require
            # modifications to cinderlib or faking the Backend object, since
            # all objects set the backend field on initialization.
            # cinderlib.objects.Object.setup(self.persistence, ...)

        node_id = node_id or socket.getfqdn()
        self.node_id = types.IdResp(node_id=node_id)
        self.node_info = NodeInfo.set(node_id, storage_nw_ip)
        Identity.__init__(self, server)
        csi.add_NodeServicer_to_server(self, server)