Commit Graph

40 Commits

Author SHA1 Message Date
david-sarah
b978378392 Fix the help synopses of CLI commands to include [options] in the right place. fixes #1359, fixes #636 2011-07-24 15:54:40 -07:00
david-sarah
0c51ce3d89 CLI: improve help synopses for some commands. 2011-01-21 17:27:00 -08:00
Brian Warner
69b42c6cb7 remove --multiple/-m option from all CLI commands: closes #1262
I personally used "tahoe start/restart -m ../MY-TESTNET/node*" all the time,
to spin up or update a local testgrid while iterating over new code. However,
with the recent switch from "subprocess.Popen(/bin/twistd)" to "import and
call twistd.run()" in scripts/startstop_node.py (yay fewer processes!),
"start -m" broke, and fixing it requires os.fork, which is unavailable on
windows (boo windows!). And I was probably the only one using -m. So in the
interests of uniformity among platforms and simpler code (yay negative code
days!), we're just removing -m from everything. I will start using a little
shell script or something to simulate the removed functionality.

This patch also cleans up CLI-function calling a bit: get the basedir from
the config dict (instead of sometimes from a separate argument), and always
return a numeric exit code.
2010-11-27 00:38:09 -08:00
Brian Warner
f36bda2780 Revert previous commit: there's an ugly corner-case on windows that fails tests.
Specifically, test_runner.CreateNode.test_client failed, because the
os.fork-is-present test decided that --multiple should not be allowed on
windows, even though --multiple works just fine for 'tahoe create-client'.
The only restriction on --multiple is for 'tahoe start' and 'tahoe restart'.

This needs a different approach, probably by cleaning up BasedirMixin. We
should only be withholding --multiple on windows for "start" and
"restart". (we should continue withholding --multiple on all platforms for
"run").

This reverts (git) commit f3adb037ae:
 "startstop_node.py: fix "tahoe start -m" by forking before non-final targets"
2010-11-26 16:44:11 -08:00
Brian Warner
f3adb037ae startstop_node.py: fix "tahoe start -m" by forking before non-final targets
* don't advertise -m flag on tahoe start/restart/run unless os.fork is
  available (i.e. windows)
* test_runner.py: add test to exercise "start/stop/restart -m"
2010-11-26 14:45:38 -08:00
david-sarah
270322ad47 startstop_node.py: pyflakes import fix. refs #1190 2010-10-27 18:48:05 -07:00
Brian Warner
ac3b26ecf2 'tahoe start': use import+call rather than find+spawn
This removes the need to use a locally-built (dependency) bin/twistd, and
removes a big chunk of behavior differences between unix and windows. It
also happens to resolve the "client node probably started" uncertainty.
Might help with #1190, #602, and #71.
2010-10-26 23:13:42 -07:00
david-sarah
a7c474a098 CLI: further improve consistency of basedir options and add tests. addresses #118 2010-08-03 01:54:16 -07:00
david-sarah
a32f625db9 CLI: make all of the option descriptions imperative sentences. 2010-08-03 01:48:01 -07:00
david-sarah
f952532f08 Basedir/node directory option improvements for ticket798 branch. addresses #188, #706, #715, #772, #890 2010-08-01 21:30:04 -07:00
Brian Warner
7c35f01073 startstop_node.py: when restarting, tolerate a stale pid too 2009-02-25 19:52:45 -07:00
Brian Warner
fdb0200eca #165: make 'tahoe restart --force' the default behavior: warn but do not stop if restart is used on something that wasn't a running node, and always try to start it afterwards. This is particularly important for #315 (restart -m), because otherwise a single not-already-running node will prevent all nodes from being restarted, resulting in longer downtime than necessary 2009-02-24 21:42:13 -07:00
Zooko O'Whielacronx
9ba5f9347d setup: add a case to execute "python .../twistd.py" if "twistd" is not found 2009-02-04 18:06:20 -07:00
Zooko O'Whielacronx
821e64203c cli: make startstop_node wait 40 seconds instead of 20 for a process to go away after we signalled it to go away, before emitting a warning
Because the unit tests on the VirtualZooko? buildslave failed when it took 31 seconds for a process to go away.
Perhaps getting warning message after only 5 seconds instead of 40 seconds is desirable, and we should change the unit tests and set this back to 5, but I don't know exactly how to change the unit tests. Perhaps match this particular warning message about the shutdown taking a while and allow the code under test to pass if the only stderr that it emits is this warning.
2009-01-06 07:51:06 -07:00
Zooko O'Whielacronx
8d83699783 cli: make startstop_node wait 20 seconds instead of 5 for a process to go away after we signalled it to go away
Because the unit tests on the VirtualZooko buildslave failed when it took 16 seconds for a process to go away.
Perhaps getting notification after only 5 seconds instead of 20 seconds is desirable, and we should change the unit tests and set this back to 5, but I don't know exactly how to change the unit tests.  Perhaps match this particular warning message about the shutdown taking a while and allow the code under test to pass if the only stderr that it emits is this warning.
2008-12-30 01:20:22 -07:00
Brian Warner
53f53b7c82 add --syslog argument to 'tahoe start' and 'tahoe restart', used to pass --syslog to twistd for non-Tahoe nodes (like cpu-watcher) 2008-09-24 18:03:02 -07:00
Brian Warner
f00d1961d2 startstop_node.py: find twistd in our supportlib if we had to build Twisted as a setuptools dependency. This is a form of cgalvan's #505 patch, simplified because now 'setup.py trial' takes care of sys.path and PYTHONPATH 2008-09-11 19:51:38 -07:00
Brian Warner
92a6ab6e86 'tahoe start': only create logs/ if we're starting a tahoe node 2008-02-18 00:31:28 -07:00
Brian Warner
6ff98a3c0b 'tahoe start': allow this to start arbitrary .tac file -bearing directories (like the log gatherer) 2008-02-18 00:28:17 -07:00
robk-tahoe
198f593cad fix dumb typo in tahoe run 2008-01-10 20:14:00 -07:00
robk-tahoe
8f4f3bf6cc add 'run' command to tahoe
adds a 'run' commands to bin/tahoe / tahoe.exe
it loads a client node into the tahoe process itself,
running in the base dir specified by --basedir/-C and
defaulting to the current working dir.

it runs synchronously, and the tahoe process blocks until
the reactor is stopped.
2008-01-09 19:54:12 -07:00
Brian Warner
f192ffc18d trailing-whitespace eradication, no functional changes 2007-11-01 15:28:50 -07:00
Brian Warner
5491339912 'tahoe stop': use SIGKILL, clean up twistd.pid ourselves, wait forever 2007-10-29 11:43:35 -07:00
Zooko O'Whielacronx
bba7b81456 startstop_node: use the new find_exe module 2007-10-15 10:25:15 -07:00
Brian Warner
ee72a5adfd rename client.tac to tahoe-client.tac, so that 'ps ax|grep tahoe' works. Closes #156. 2007-10-11 02:48:06 -07:00
Brian Warner
ec8781e587 'tahoe restart': re-enable --force option, which was accidentally lost 2007-10-10 20:10:03 -07:00
Zooko O'Whielacronx
93efd2902e startstop_node.py: use SIGINT instead of SIGTERM to stop the node (fixes #143) 2007-09-23 07:06:54 -07:00
Zooko O'Whielacronx
594a104c71 startstop_node.py: fix bug with options passed to restart and enable restart --profile 2007-09-21 15:48:15 -07:00
Zooko O'Whielacronx
3e4616f4ad cli: add --profile flag 2007-09-21 15:03:47 -07:00
Zooko O'Whielacronx
20079e3019 startstop_node.py: don't pass config to do_start() and do_stop() 2007-09-21 15:03:15 -07:00
Zooko O'Whielacronx
28b2c19f1e startstop_node.py: find twistd.py in sys.prefix/scripts if there isn't a twistd executable on the path 2007-09-21 14:45:20 -07:00
Zooko O'Whielacronx
f0b427485b startstop_node.py: remove debug printout which breaks unit tests 2007-09-20 17:02:36 -07:00
Zooko O'Whielacronx
c2e310825d startstop_node.py: improve the hack of launching twistd
Thanks to Brian for helping me figure out the cleaner way to do this: take the 
first result from which("twistd"), and if it has the extension ".bat" or 
".exe" then execute it, else execute python and give it as the first argument.
2007-09-20 12:37:50 -07:00
Brian Warner
e2f19825d9 startstop_node.py: improve test coverage a little bit 2007-09-19 01:50:27 -07:00
Brian Warner
cf69accfb6 startstop_node.py: use SIGINT instead of SIGTERM, to allow the node a chance to clean up 2007-09-17 02:24:21 -07:00
wilcoxjg
e13783cd6a If do_stop attempts to stop a nonexistent process the OSError exception is caught (by errno) and handled tersely. 2007-08-09 08:57:45 -07:00
Zooko O'Whielacronx
524c9f1fc2 startstop_node now works if the logs directory already exists
Thanks to Arno and Arch for pointing this out.
2007-08-08 21:43:48 -07:00
Brian Warner
2ba415bd3e move nodelogs from BASEDIR/twistd.log* to BASEDIR/logs/twistd.log*, closes #61 2007-07-24 20:44:33 -07:00
Brian Warner
d8a878da86 startstop_node.py: refactor find_twistd() out so it is only run when you need to start a node 2007-07-10 19:13:55 -07:00
Brian Warner
f22801aa33 runner.py: further refactoring 2007-07-10 19:05:18 -07:00