Opened at 2012-11-06T16:37:10Z
Last modified at 2021-03-30T18:40:19Z
#1843 assigned enhancement
add `tahoe create-server`, define `create-node` to mean client+server
Reported by: | ChosenOne | Owned by: | warner |
---|---|---|---|
Priority: | normal | Milestone: | soon |
Component: | code-frontend-cli | Version: | 1.9.2 |
Keywords: | usability p2p | Cc: | zooko |
Launchpad Bug: |
Description (last modified by zooko)
Just now on IRC there was a discussion about creating a storage node. A new user was confused and couldn't wrap his head around the general setup of a tahoe grid.
As zooko stated, tahoe isn't really sure about whether it's a p2p or a client-server protocol, since nodes can have multiple roles as of now.
One outcome was the suggestion to have a "tahoe create-storage". This term would be less shallow and explicitly state what kind of node is created.
Change History (7)
comment:1 Changed at 2012-11-06T16:51:09Z by zooko
- Cc zooko added
- Keywords usability added
comment:2 Changed at 2013-06-25T15:54:49Z by zooko
- Description modified (diff)
- Keywords p2p added
comment:3 Changed at 2016-04-28T07:59:26Z by warner
I'm coming around to agree with this.
Originally I thought of tahoe nodes as being a collection of services: one or more of (client, server, helper, key-generator, introducer), and others that we haven't invented yet. But we've refined that a bit:
- "helper" is an optional add-on to a client (i.e. it doesn't make sense to have a helper without a client)
- key-generator can hopefully go away (#2783)
- introducer is a standalone thing, not shared with clients or servers
I think it's useful to have client-only nodes, server-only nodes, and client+server nodes.
So how about:
- tahoe create-client makes a client-only node
- tahoe create-server makes a server-only node
- tahoe create-node makes a client+server node
Soon, the forms that include servers will probably need additional arguments like --location or --hostname (see #2773), which are unnecessary for client-only nodes. Client-only nodes will not listen on any TCP ports, and don't need to advertise a hostname or IP address to anybody else.
comment:4 Changed at 2016-05-05T01:18:38Z by warner
- Milestone changed from undecided to 1.12.0
- Owner set to warner
- Status changed from new to assigned
- Summary changed from rename (or alias) tahoe create-node to create-storage to add `tahoe create-server`, define `create-node` to mean client+server
Ok, I'm repurposing this ticket to move us to create-client / create-server / create-node, where "node" is both client and server.
create-storage is somewhat more precise, but we don't have any non-storage servers that might compete for the namespace:
- the Introducer is a server, but create-introducer is a great name for that
- same for stats-gatherer
- I can imagine some non-storage servers we could build (repair service, check/verify service, rebalancing service), but I think we can use names like create-repairer and create-rebalancer for those
And create-server is a clear parallel to create-client, and emphasizes the new client-server mindset we're moving to.
comment:5 Changed at 2016-06-28T18:20:37Z by warner
- Milestone changed from 1.12.0 to 1.13.0
moving most tickets from 1.12 to 1.13 so we can release 1.12 with magic-folders
comment:6 Changed at 2020-06-30T14:45:13Z by exarkun
- Milestone changed from 1.13.0 to 1.15.0
Moving open issues out of closed milestones.
comment:7 Changed at 2021-03-30T18:40:19Z by meejah
- Milestone changed from 1.15.0 to soon
Ticket retargeted after milestone closed
adding keyword p2p to tag tickets that have to do with the open question of "Is Tahoe-LAFS client-server or is it peer-to-peer?": pipermail/tahoe-dev/2012-July/007533.html