wiki:DDBFS

ABOUT

DDBFS is a proof of concept for a data storage middleware. It is decoupled from any storage system, database and UI and provides a client-server models. This proof of concept has the following implementations running :

  • STORAGE using Tahoe-LAFS <http://tahoe-lafs.org>
  • DATABASE using SQLite
  • several UI : a Gtk-based GUI, a CLI and FUSE implementation

The code is 100% pythonic, not really optimized and thus not that fast. It works, though it must still have bugs.

Project's URLs

  • The code's main page is hosted at :

http://forge.bearstech.com/trac/wiki/DDBFS

  • The code repository is at :

svn://svn.bearstech.com/forge/DDBFS/

  • For tickets/bug reporting, please use :

http://forge.bearstech.com/trac/newticket and use ddbfs component

TESTING DDBFS

instanciate the grid storage

install the common library

% cd ddbfs_common
% sudo python setup.py develop

instanciate the node server

% cd ../ddbfs_node
% python bootstrap.py
% bin/buildout
    (be patient)
    start the RPC server
% bin/ddbfs_server

the commandline interface is also available :

% bin/ddbfs help

instanciate the client

% cd ddbfs_client
% python bootstrap.py
% bin/buildout
    (be patient)
% bin/ddbfs help

Configuration

After first run of each module, that module will create its configuration file in ~/.ddbfs/ as follows :

  • node.yaml
    #node configuration
    tahoe_host: 127.0.0.1      # Address of the Tahoe storage server to connect to
    tahoe_port: 42001          # Port of the Tahoe storage server to connec to
    sqlite_file: mds.db        # name for the database file (for SQLite) (PATH relative to ~/.ddbfs/)
    service_host: 0.0.0.0      # Address on which the RPC server will listen on (0.0.0.0 means every interface on the host)
    service_port: 8000         # Port on which the RPC server wil listen on
    
  • client.yaml
    # client configuration
    node_host: 127.0.0.1       # Address of the DDBFS node as configured in node.yaml
    node_port: 8000            # Port of the DDBFS node as configured in node.yaml
    

LICENSE

 Copyright (C) 2010 Bernard `Guyzmo` Pratz, Bearstech

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of 
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
Last modified 7 years ago Last modified on Nov 17, 2010, 10:45:19 AM