#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

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

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

Note: See TracTickets for help on using tickets.