#2088 new defect

create-node problem — at Version 4

Reported by: jbark55 Owned by: warner
Priority: normal Milestone: soon
Component: code-frontend-cli Version: 1.10.0
Keywords: usability new-user easy error Cc:
Launchpad Bug:

Description (last modified by zooko)

I tried to create a node and it says

$ tahoe create-node
The base directory '/home/jonathanbarker/.tahoe' is not empty.
To avoid clobbering anything, I am going to quit now.
Please use a different directory, or empty this one.

so i mkdir'ed a new dir and cd'ed into it, still problem.

Change History (4)

comment:1 Changed at 2013-09-28T19:47:37Z by zooko

  • Description modified (diff)

comment:2 Changed at 2013-09-28T20:49:35Z by jbark55

sent from the GNU 30th Birthday!

comment:3 Changed at 2013-09-29T03:11:07Z by zooko

  • Component changed from unknown to code-frontend-cli
  • Keywords usability new-user brians-opinion-needed added
  • Owner changed from daira to warner

I was watching over jbark55's shoulder, and I could tell that he assumed "create node" would create a node in the current working directory.

So how can we solve this?

Option (a): Make the error message more explicit. It already has the information in it! But maybe redundantly adding the information would have let jbark55 notice the information in the message, like this:

$ tahoe create-node
Attempting to create node in the default directory '/home/jonathanbarker/.tahoe'.
The base directory '/home/jonathanbarker/.tahoe' is not empty.
To avoid clobbering anything, I am going to quit now.
Please use a different directory, or empty this one.

Note that this kind of redundancy-adding is definitely contrary to the preference for succinctness and non-redundancy that Brian has often expressed in the past, so I would hesitate to do this without some kind of approval from Brian. (*Zooko goes and adds brians-opinion-needed to this ticket.*) }}}

Option (b): stop having a default directory for "tahoe create-node"! How often do you want to create a node in a default directory, anyway? I don't like defaults in general, and prefer to require people to specify explicitly what they want, even though that is more verbose and more typing. So in Option (b) it would say:

$ tahoe create-node
Usage:  tahoe [global-opts] create-node [options] NODEDIR
Options:
      --no-storage   Do not offer storage service to other nodes.
  -C, --basedir=     Same as --node-directory (default /home/zooko/.tahoe).
  -n, --nickname=    Specify the nickname for this node.
  -i, --introducer=  Specify the introducer FURL to use.
  -p, --webport=     Specify which TCP port to run the HTTP interface on. Use
                     'none' to disable. [default: tcp:3456:interface=127.0.0.1]
      --version      
      --help         Display this help and exit.

/home/zooko/playground/LAFS/tahoe-lafs/support/bin/tahoe:  Wrong number of arguments.

$ tahoe create-node .
Node created in '/home/jonathanbarker/newemptydirectory'
 Please set [client]introducer.furl= in tahoe.cfg!
 The node cannot connect to a grid without it.
 Please set [node]nickname= in tahoe.cfg


This is also somewhat opposed to the principle that the Brian-in-my-head has of conciseness, so I guess we need the real Brian to come back and weigh in. In my opinion, option (b) is fine and we should do it.

comment:4 Changed at 2013-09-29T03:23:18Z by zooko

  • Description modified (diff)
Note: See TracTickets for help on using tickets.