[tahoe-lafs-trac-stream] [Tahoe-LAFS] #467: allow the user to specify which servers a given gateway will use for uploads
Tahoe-LAFS
trac at tahoe-lafs.org
Sat Mar 26 20:38:59 UTC 2016
#467: allow the user to specify which servers a given gateway will use for
uploads
-------------------------+-------------------------------------------------
Reporter: warner | Owner: leif
Type: | Status: new
enhancement |
Priority: major | Milestone: 1.12.0
Component: code- | Version: 1.1.0
peerselection | Keywords: availability preservation cache
Resolution: | anti-censorship placement backend rollback add-
Launchpad Bug: | only
-------------------------+-------------------------------------------------
Comment (by warner):
As mentioned on IRC, I'd like to avoid having this code synthesize a fake
"serverid". In particular I want to maintain the contract that
`NativeStorageServer` (via storage_client) gets a `key_s=` argument that
is either the full !ed25519 pubkey, or None.
So I'd suggest:
* change the stored (YAML) data format. It current stores the full
announcement dictionary (plus the added 'serverid' key). Instead, I'd
suggest a two-level structure, where the top dictionary has a `key_s` key
(the value of which is exactly the first argument passed to
`StorageFarmBroker._got_announcement`: either a full "v0-"-prefixed
pubkey, or None), and an `ann` key (the value of which is the full
announcement dictionary).
* remove the `versionid` changes
`NativeStorageServer` isn't using the `key_s=` argument for anything other
than human-oriented descriptions yet, but I'd like to be consistent about
`key_s` being a real pubkey (if available) so that we could use it
reliably for something else in the future. Like maybe exchanging gossip
with other clients about server reliability, for which having a pubkey to
verify against would be handy.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/467#comment:46>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list