Changes between Initial Version and Version 3 of Ticket #999


Ignore:
Timestamp:
2010-03-31T16:48:51Z (11 years ago)
Author:
davidsarah
Comment:

Generalizing this to include support for multiple backends (since I don't think we want to do it in a way that would only support S3 and local disk).

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #999

    • Property Keywords backend s3 added
    • Property Summary changed from amazon s3 backend to support multiple storage backends, including amazon s3
  • Ticket #999 – Description

    initial v3  
    11(originally I incorrectly posted this to #917)
    22
    3 The way to do it is to make a variant of [source:src/allmydata/storage/server.py] which doesn't read from local disk in its [source:src/allmydata/storage/server.py@4164#L359 _iter_share_files()], but instead reads the files from its S3 bucket (it is an S3 client and a Tahoe-LAFS storage server). Likewise variants of [source:src/allmydata/storage/shares.py@3762 storage/shares.py], [source:src/allmydata/storage/immutable.py@3871#L39 storage/immutable.py], and [source:src/allmydata/storage/mutable.py@3815#L34 storage/mutable.py] which write their data out to S3 instead of to their local filesystem.
     3The way to do it is to make a variant of [source:src/allmydata/storage/server.py] which doesn't read from local disk in its [source:src/allmydata/storage/server.py@4164#L359 _iter_share_files()], but instead reads the files using its backend protocol, e.g. from its S3 bucket (it is an S3 client and a Tahoe-LAFS storage server). Likewise variants of [source:src/allmydata/storage/shares.py@3762 storage/shares.py], [source:src/allmydata/storage/immutable.py@3871#L39 storage/immutable.py], and [source:src/allmydata/storage/mutable.py@3815#L34 storage/mutable.py] which write their data out using the backend protocool instead of to their local filesystem.
    44
    55Probably one should first start by abstracting out just the "does this go to local disk, S3, Rackspace Cloudfiles, etc" part from all the other functionality in those four files...  :-)