[tahoe-lafs-trac-stream] [tahoe-lafs] #666: Accounting: limit storage space used by different parties

tahoe-lafs trac at tahoe-lafs.org
Thu Jul 4 18:51:35 UTC 2013


#666: Accounting: limit storage space used by different parties
------------------------------+------------------------
     Reporter:  warner        |      Owner:  davidsarah
         Type:  task          |     Status:  new
     Priority:  major         |  Milestone:  2.0.0
    Component:  code-storage  |    Version:  1.3.0
   Resolution:                |   Keywords:  accounting
Launchpad Bug:                |
------------------------------+------------------------

Comment (by nejucomo):

 **Understanding the Scope of 666-accounting:**

 I want to understand which parts of https://tahoe-lafs.org/trac/tahoe-
 lafs/browser/docs/proposed/accounting-overview.txt are in scope for branch
 https://github.com/davidsarah/tahoe-lafs/tree/666-accounting .

 Then, after I understand that, I'd like to create smaller more bite-sized
 tickets to serve as a roadmap and as an indicator of progress.

 I want to know which of the following coarse features are present or not
 in that branch, as well as if these feature distinctions are accurate or
 useful "bite sized pieces" of the {{{accounting-overview.txt}}} design:

 * Storage Server:
   1. Authority creation implementation on the server without a UI.
     * This would provide a concrete specification of the certificate
 formats.
     * Possibly with special-case uses like "create a general-public
 account for backwards compatibility / opt-in behavior."
   1. Upload/write restriction based on authority in the storage server.
 (Selective request denial.)
   1. Authority creation UI: commandline
   1. Authority creation UI: webapi (Is this a goal? I did not see it in
 the overview.)
   1. Backwards compatibility in the storage server.
     * I consider this a separable task, because a branch could break
 compatibility, then fix it later, as distinct phases.
     * I recall warner describing something that assigns legacy client
 requests to a "general public" account.  That's one example implementation
 of this bullet.
 * Client-gateway:
   1. The ability to provide account authority in foolscap requests, with
 no exposed api.
     * Perhaps this includes a hardcoded "general public" request.
   1. Backwards compatibility with storage servers that don't speak
 accounting.
   1. The ability to provide account authority in requests with a webapi.
     * Updated {{{webapi.rst}}} describing the interface.
   1. Commandline tools for passing explicit account authorities.
   1. Commandline tools for "account petnames" and "ambient account
 authority".

 I'm kind of guessing here at the proper way to split up the implementation
 and specification work.

 **Desire for a roadmap:**

 I'd like to create tickets at a level of granularity so that we have a
 tangible roadmap.

 If no one comments on these bullets, then when I next invest time in
 accounting, I'll examine the branches and try to determine which bullets
 are in scope for the {{{666-accounting}}} branch, and which are out of
 scope.

 For any "bite sized chunks" that I notice, I will create distinct tickets
 and link them into this parent ticket.

 **Landing Changes:**

 I believe it may be possible to land onto trunk/default at multiple
 intermediate stages.  I recognize this might imply more overall work.  I
 prefer it because it signals to the general community where the progress
 is.

 If we *don't* land intermediate stages which are tracked in separate
 tickets, perhaps we can create a "branch666" keyword?  Is that sensible?

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/666#comment:18>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list