david-sarah [Wed, 13 Jul 2011 00:12:18 +0000 (17:12 -0700)]
WUI: change the label of the button to unlink a file from 'del' to 'unlink'. Also change some internal names to 'unlink', and allow 't=unlink' as a synonym for 't=delete' in the web-API interface. Incidentally, improve a test to check for the rename button as well as the unlink button. fixes #1104
david-sarah [Mon, 1 Aug 2011 20:30:09 +0000 (13:30 -0700)]
src/allmydata/web/filenode.py: delete a stale comment that was made incorrect by changeset [3133].
Brian Warner [Mon, 1 Aug 2011 20:03:41 +0000 (13:03 -0700)]
fix typo introduced during rebasing of 'remove get_serverid from
DownloadStatus.add_dyhb_request and customers' patch, to fix test failure.
Zooko O'Whielacronx [Mon, 1 Aug 2011 18:54:01 +0000 (11:54 -0700)]
remove get_serverid from DownloadStatus.add_dyhb_request and customers
This patch is a rebase of a patch originally written by Brian. I didn't change any of the intent of Brian's patch, just ported it to current trunk.
refs #1363
Zooko O'Whielacronx [Mon, 1 Aug 2011 18:53:44 +0000 (11:53 -0700)]
remove get_serverid from DownloadStatus.add_block_request and customers
This is a rebase of a patch Brian originally wrote. I haven't changed the intent of that patch, just ported it to trunk.
refs #1363
Brian Warner [Mon, 1 Aug 2011 17:44:52 +0000 (10:44 -0700)]
apply zooko's advice: storage_client get_known_servers() returns a frozenset, caller sorts
refs #1363
Brian Warner [Mon, 1 Aug 2011 17:44:44 +0000 (10:44 -0700)]
test_immutable.Test: rewrite to use NoNetworkGrid, now takes 2.7s not 97s
remove now-unused ShareManglingMixin
refs #1363
Brian Warner [Mon, 1 Aug 2011 17:44:36 +0000 (10:44 -0700)]
DownloadStatus.add_known_share wants to be used by Finder, web.status
refs #1363
Brian Warner [Mon, 1 Aug 2011 17:44:28 +0000 (10:44 -0700)]
replace IServer.name() with get_name(), and get_longname()
This patch was originally written by Brian, but was re-recorded by Zooko to use
darcs replace instead of hunks for any file in which it would result in fewer
total hunks.
refs #1363
Zooko O'Whielacronx [Mon, 1 Aug 2011 17:41:43 +0000 (10:41 -0700)]
upload.py: apply David-Sarah's advice rename (un)contacted(2) trackers to first_pass/second_pass/next_pass
This patch was written by Brian but was re-recorded by Zooko (with David-Sarah looking on) to use darcs replace instead of editing to rename the three variables to their new names.
refs #1363
Brian Warner [Mon, 1 Aug 2011 04:39:32 +0000 (21:39 -0700)]
Coalesce multiple Share.loop() calls, make downloads faster. Closes #1268.
david-sarah [Mon, 1 Aug 2011 03:40:35 +0000 (20:40 -0700)]
src/allmydata/_auto_deps.py: 'i686' is another way of spelling x86.
david-sarah [Sat, 22 Jan 2011 07:42:12 +0000 (00:42 -0700)]
tahoe_rm.py: better error message when there is no path. refs #1292
david-sarah [Tue, 4 Jan 2011 11:51:08 +0000 (04:51 -0700)]
test_cli.py: Test for error message when 'tahoe rm' is invoked without a path. refs #1292
david-sarah [Mon, 1 Aug 2011 00:52:09 +0000 (17:52 -0700)]
src/allmydata/__init__.py: suppress a spurious warning from 'bin/tahoe --version[-and-path]' about twisted-web and twisted-core packages.
david-sarah [Sat, 30 Jul 2011 03:25:21 +0000 (20:25 -0700)]
test_cli.py: use to_str on fields loaded using simplejson.loads in new tests. refs #1304
Kevan Carstensen [Fri, 29 Jul 2011 20:20:39 +0000 (13:20 -0700)]
cli: make 'tahoe cp' overwrite mutable files in-place
david-sarah [Fri, 29 Jul 2011 23:31:02 +0000 (16:31 -0700)]
SFTP: write an error message to standard error for unrecognized shell commands. Change the existing message for shell sessions to be written to standard error, and refactor some duplicated code. Also change the lines of the error messages to end in CRLF, and take into account Kevan's review comments. fixes #1442, #1446
david-sarah [Thu, 28 Jul 2011 02:14:02 +0000 (19:14 -0700)]
src/allmydata/scripts/cli.py: fix pyflakes warning.
david-sarah [Sun, 24 Jul 2011 22:54:40 +0000 (15:54 -0700)]
Fix the help synopses of CLI commands to include [options] in the right place. fixes #1359, fixes #636
david-sarah [Wed, 29 Jun 2011 18:53:56 +0000 (11:53 -0700)]
encodingutil: argv and output encodings are always the same on all platforms. Lose the unnecessary generality of them being different. fixes #1120
david-sarah [Sun, 24 Jul 2011 17:17:28 +0000 (10:17 -0700)]
docs/man/tahoe.1: add man page. fixes #1420
david-sarah [Thu, 21 Jul 2011 23:49:41 +0000 (16:49 -0700)]
Update the dependency on zope.interface to fix an incompatiblity between Nevow and zope.interface 3.6.4. fixes #1435
david-sarah [Fri, 22 Jul 2011 00:03:20 +0000 (17:03 -0700)]
frontends/ftpd.py: remove the check for IWriteFile.close since we're now guaranteed to be using Twisted >= 10.1 which has it.
david-sarah [Thu, 21 Jul 2011 23:36:58 +0000 (16:36 -0700)]
Update the dependency on Twisted to >= 10.1. This allows us to simplify some documentation: it's no longer necessary to install pywin32 on Windows, or apply a patch to Twisted in order to use the FTP frontend. fixes #1274, #1438. refs #1429
david-sarah [Fri, 22 Jul 2011 03:54:02 +0000 (20:54 -0700)]
misc/build_helpers/run_trial.py: undo change to block pywin32 (it didn't work because run_trial.py is no longer used). refs #1334
david-sarah [Fri, 22 Jul 2011 02:49:07 +0000 (19:49 -0700)]
misc/build_helpers/run_trial.py: ensure that pywin32 is not on the sys.path when running the test suite. Includes some temporary debugging printouts that will be removed. refs #1334
david-sarah [Mon, 18 Jul 2011 00:59:49 +0000 (17:59 -0700)]
docs/running.rst: use 'tahoe run ~/.tahoe' instead of 'tahoe run' (the default is the current directory, unlike 'tahoe start').
david-sarah [Sun, 17 Jul 2011 19:43:15 +0000 (12:43 -0700)]
docs/running.rst: say to put the introducer.furl in tahoe.cfg.
david-sarah [Sun, 17 Jul 2011 19:24:00 +0000 (12:24 -0700)]
README.txt: say that quickstart.rst is in the docs directory.
Zooko O'Whielacronx [Sun, 17 Jul 2011 11:42:26 +0000 (04:42 -0700)]
setup: remove the dependency on foolscap's "secure_connections" extra, add a dependency on pyOpenSSL
fixes #1383
david-sarah [Sat, 16 Jul 2011 18:18:13 +0000 (11:18 -0700)]
test_sftp.py cleanup: remove a redundant definition of failUnlessReallyEqual.
Zooko O'Whielacronx [Tue, 12 Jul 2011 15:33:07 +0000 (08:33 -0700)]
docs: add missing link in NEWS.rst
Zooko O'Whielacronx [Tue, 12 Jul 2011 15:32:29 +0000 (08:32 -0700)]
contrib: remove the contributed fuse modules and the entire contrib/ directory, which is now empty
Also remove a couple of vestigial references to figleaf, which is long gone.
fixes #1409 (remove contrib/fuse)
Brian Warner [Wed, 29 Jun 2011 22:26:06 +0000 (15:26 -0700)]
add Protovis.js-based download-status timeline visualization
provide status overlap info on the webapi t=json output, add decode/decrypt
rate tooltips, add zoomin/zoomout buttons
Brian Warner [Wed, 29 Jun 2011 22:25:55 +0000 (15:25 -0700)]
add more download-status data, fix tests
Brian Warner [Wed, 29 Jun 2011 22:22:04 +0000 (15:22 -0700)]
prepare for viz: improve DownloadStatus events
consolidate IDownloadStatusHandlingConsumer stuff into DownloadNode
Zooko O'Whielacronx [Wed, 29 Jun 2011 18:57:11 +0000 (11:57 -0700)]
docs: fix error in crypto specification that was noticed by Taylor R Campbell <campbell+tahoe@mumble.net>
david-sarah [Mon, 31 Jan 2011 00:58:09 +0000 (17:58 -0700)]
setup.py: don't make bin/tahoe.pyscript executable. fixes #1347
david-sarah [Sun, 26 Jun 2011 05:41:24 +0000 (22:41 -0700)]
Makefile: remove targets relating to 'setup.py check_auto_deps' which no longer exists. fixes #1345
david-sarah [Thu, 23 Jun 2011 20:55:28 +0000 (13:55 -0700)]
Makefile: add 'make check' as an alias for 'make test'. Also remove an unnecessary dependency of 'test' on 'build' and 'src/allmydata/_version.py'. fixes #1344
Brian Warner [Sat, 11 Jun 2011 19:02:34 +0000 (12:02 -0700)]
Rename test_package_initialization.py to (much shorter) test_import.py .
The former name was making my 'ls' listings hard to read, by forcing them
down to just two columns.
Zooko O'Whielacronx [Sat, 11 Jun 2011 16:37:41 +0000 (09:37 -0700)]
tests: fix tests to accomodate [
20110611153758-92b7f-
0ba5e4726fb6318dac28fb762a6512a003f4c430]
Apparently none of the two authors (stercor, terrell), three reviewers (warner, davidsarah, terrell), or one committer (me) actually ran the tests. This is presumably due to #20.
fixes #1412
Zooko O'Whielacronx [Sat, 11 Jun 2011 15:37:58 +0000 (08:37 -0700)]
wui: right-align the size column in the WUI
Thanks to Ted "stercor" Rolle Jr. and Terrell Russell.
fixes #1412
Zooko O'Whielacronx [Fri, 10 Jun 2011 12:16:56 +0000 (05:16 -0700)]
docs: three minor fixes
CREDITS for arc for stats tweak
fix link to .zip file in quickstart.rst (thanks to ChosenOne for noticing)
English usage tweak
david-sarah [Thu, 9 Jun 2011 22:37:19 +0000 (15:37 -0700)]
docs/running.rst: fix stray HTML (not .rst) link noticed by ChosenOne.
wilcoxjg [Fri, 27 May 2011 12:01:35 +0000 (05:01 -0700)]
server.py: get_latencies now reports percentiles _only_ if there are sufficient observations for the interpretation of the percentile to be unambiguous.
interfaces.py: modified the return type of RIStatsProvider.get_stats to allow for None as a return value
NEWS.rst, stats.py: documentation of change to get_latencies
stats.rst: now documents percentile modification in get_latencies
test_storage.py: test_latencies now expects None in output categories that contain too few samples for the associated percentile to be unambiguously reported.
fixes #1392
secorp [Mon, 25 Apr 2011 01:03:08 +0000 (18:03 -0700)]
corrected "k must never be smaller than N" to "k must never be greater than N"
david-sarah [Tue, 17 May 2011 01:12:14 +0000 (18:12 -0700)]
docs: revert link in relnotes.txt from NEWS.rst to NEWS, since the former did not exist at revision 5000.
david-sarah [Tue, 17 May 2011 01:02:55 +0000 (18:02 -0700)]
docs: convert NEWS to NEWS.rst and change all references to it.
david-sarah [Thu, 12 May 2011 14:05:59 +0000 (07:05 -0700)]
docs: remove out-of-date docs/testgrid/introducer.furl and containing directory. fixes #1404
david-sarah [Sun, 30 Jan 2011 17:49:23 +0000 (10:49 -0700)]
scripts/common.py: don't assume that the default alias is always 'tahoe' (it is, but the API of get_alias doesn't say so). refs #1342
Zooko O'Whielacronx [Fri, 28 Jan 2011 15:20:06 +0000 (08:20 -0700)]
setup: don't catch all Exception from check_requirement(), but only PackagingError and ImportError
I noticed this because I had accidentally inserted a bug which caused AssertionError to be raised from check_requirement().
Zooko O'Whielacronx [Tue, 10 May 2011 19:36:53 +0000 (12:36 -0700)]
M-x whitespace-cleanup
Zooko O'Whielacronx [Tue, 10 May 2011 19:36:33 +0000 (12:36 -0700)]
docs: fix typo in running.rst, thanks to arch_o_median
david-sarah [Fri, 4 Feb 2011 21:49:02 +0000 (14:49 -0700)]
relnotes.txt: don't claim to work on Cygwin (which has been untested for some time). refs #1342
david-sarah [Fri, 4 Feb 2011 21:41:16 +0000 (14:41 -0700)]
relnotes.txt: forseeable -> foreseeable. refs #1342
Zooko O'Whielacronx [Tue, 10 May 2011 19:16:50 +0000 (12:16 -0700)]
replace remaining .html docs with .rst docs
Remove install.html (long since deprecated).
Also replace some obsolete references to install.html with references to quickstart.rst.
Fix some broken internal references within docs/historical/historical_known_issues.txt.
Thanks to Ravi Pinjala and Patrick McDonald.
refs #1227
Zooko O'Whielacronx [Thu, 28 Apr 2011 05:52:32 +0000 (22:52 -0700)]
docs: FTP-and-SFTP.rst: fix a minor error and update the information about which version of Twisted fixes #1297
francois [Thu, 28 Apr 2011 05:53:12 +0000 (22:53 -0700)]
munin tahoe_files plugin: fix incorrect file count
fixes #1391
david-sarah [Mon, 11 Apr 2011 19:07:38 +0000 (12:07 -0700)]
Fix a test failure in test_package_initialization on Python 2.4.x due to exceptions being stringified differently than in later versions of Python. refs #1389
david-sarah [Sun, 10 Apr 2011 15:58:44 +0000 (08:58 -0700)]
tests: add test for including the ImportError message and traceback entry in the summary of errors from importing dependencies. refs #1389
david-sarah [Sun, 10 Apr 2011 15:57:05 +0000 (08:57 -0700)]
allmydata/__init__.py: preserve the message and last traceback entry (file, line number, function, and source line) of ImportErrors in the package versions string. fixes #1389
Zooko O'Whielacronx [Thu, 7 Apr 2011 17:22:31 +0000 (10:22 -0700)]
remove unused variable detected by pyflakes
david-sarah [Fri, 1 Apr 2011 20:27:50 +0000 (13:27 -0700)]
allmydata/__init__.py: Nicer reporting of unparseable version numbers in dependencies. fixes #1388
Brian Warner [Fri, 25 Mar 2011 23:25:11 +0000 (16:25 -0700)]
update FTP-and-SFTP.rst: the necessary patch is included in Twisted-10.1
Brian Warner [Sun, 27 Feb 2011 02:12:03 +0000 (19:12 -0700)]
control.py: remove all uses of s.get_serverid()
Brian Warner [Sun, 27 Feb 2011 02:11:59 +0000 (19:11 -0700)]
web: remove some uses of s.get_serverid(), not all
Brian Warner [Sun, 27 Feb 2011 02:11:56 +0000 (19:11 -0700)]
immutable/downloader/fetcher.py: remove all get_serverid() calls
Brian Warner [Sun, 27 Feb 2011 02:11:53 +0000 (19:11 -0700)]
immutable/downloader/fetcher.py: fix diversity bug in server-response handling
When blocks terminate (either COMPLETE or CORRUPT/DEAD/BADSEGNUM), the
_shares_from_server dict was being popped incorrectly (using shnum as the
index instead of serverid). I'm still thinking through the consequences of
this bug. It was probably benign and really hard to detect. I think it would
cause us to incorrectly believe that we're pulling too many shares from a
server, and thus prefer a different server rather than asking for a second
share from the first server. The diversity code is intended to spread out the
number of shares simultaneously being requested from each server, but with
this bug, it might be spreading out the total number of shares requested at
all, not just simultaneously. (note that SegmentFetcher is scoped to a single
segment, so the effect doesn't last very long).
Brian Warner [Sun, 27 Feb 2011 02:11:50 +0000 (19:11 -0700)]
immutable/downloader/share.py: reduce get_serverid(), one left, update ext deps
test_download.py: create+check MyShare instances better, make sure they share
Server objects, now that finder.py cares
Brian Warner [Sun, 27 Feb 2011 02:11:46 +0000 (19:11 -0700)]
immutable/downloader/finder.py: reduce use of get_serverid(), one left
Brian Warner [Sun, 27 Feb 2011 02:11:42 +0000 (19:11 -0700)]
immutable/offloaded.py: reduce use of get_serverid() a bit more
Brian Warner [Sun, 27 Feb 2011 02:11:38 +0000 (19:11 -0700)]
immutable/upload.py: reduce use of get_serverid()
Brian Warner [Sun, 27 Feb 2011 02:11:34 +0000 (19:11 -0700)]
immutable/checker.py: remove some uses of s.get_serverid(), not all
Brian Warner [Sun, 27 Feb 2011 02:11:32 +0000 (19:11 -0700)]
add remaining get_* methods to storage_client.Server, NoNetworkServer, and
MockIServer stubs
Brian Warner [Sun, 27 Feb 2011 02:11:28 +0000 (19:11 -0700)]
upload.py: rearrange _make_trackers a bit, no behavior changes
Brian Warner [Sun, 27 Feb 2011 02:11:24 +0000 (19:11 -0700)]
happinessutil.py: finally rename merge_peers to merge_servers
Brian Warner [Sun, 27 Feb 2011 02:11:20 +0000 (19:11 -0700)]
test_upload.py: factor out FakeServerTracker
Brian Warner [Sun, 27 Feb 2011 02:11:15 +0000 (19:11 -0700)]
test_upload.py: server-vs-tracker cleanup
Brian Warner [Sun, 27 Feb 2011 02:11:11 +0000 (19:11 -0700)]
happinessutil.py: server-vs-tracker cleanup
Brian Warner [Sun, 27 Feb 2011 02:11:07 +0000 (19:11 -0700)]
upload.py: more tracker-vs-server cleanup
Brian Warner [Sun, 27 Feb 2011 02:11:03 +0000 (19:11 -0700)]
upload.py: fix var names to avoid confusion between 'trackers' and 'servers'
Brian Warner [Sun, 27 Feb 2011 02:11:00 +0000 (19:11 -0700)]
refactor: s/peer/server/ in immutable/upload, happinessutil.py, test_upload
No behavioral changes, just updating variable/method names and log messages.
The effects outside these three files should be minimal: some exception
messages changed (to say "server" instead of "peer"), and some internal class
names were changed. A few things still use "peer" to minimize external
changes, like UploadResults.timings["peer_selection"] and
happinessutil.merge_peers, which can be changed later.
Brian Warner [Sun, 27 Feb 2011 02:10:56 +0000 (19:10 -0700)]
storage_client.py: clean up test_add_server/test_add_descriptor, remove .test_servers
Brian Warner [Sun, 27 Feb 2011 02:10:51 +0000 (19:10 -0700)]
test_client.py, upload.py:: remove KiB/MiB/etc constants, and other dead code
Zooko O'Whielacronx [Thu, 17 Mar 2011 16:59:09 +0000 (09:59 -0700)]
test: increase timeout on a network test because Francois's ARM machine hit that timeout
I'm skeptical that the test was proceeding correctly but ran out of time. It seems more likely that it had gotten hung. But if we raise the timeout to an even more extravagant number then we can be even more certain that the test was never going to finish.
Brian Warner [Tue, 22 Feb 2011 01:43:23 +0000 (17:43 -0800)]
docs/configuration.rst: add a "Frontend Configuration" section
this points to docs/frontends/*.rst, which were previously underlinked
Brian Warner [Mon, 21 Feb 2011 06:15:44 +0000 (22:15 -0800)]
web/filenode.py: avoid calling req.finish() on closed HTTP connections. Closes #1366
david-sarah [Mon, 21 Feb 2011 01:58:17 +0000 (17:58 -0800)]
Add unit tests for cross_check_pkg_resources_versus_import, and a regression test for ref #1355. This requires a little refactoring to make it testable.
david-sarah [Mon, 21 Feb 2011 02:01:25 +0000 (18:01 -0800)]
allmydata/__init__.py: .name was used in place of the correct .__name__ when printing an exception. Also, robustify string formatting by using %r instead of %s in some places. fixes #1355.
Brian Warner [Mon, 21 Feb 2011 01:58:04 +0000 (17:58 -0800)]
Refactor StorageFarmBroker handling of servers
Pass around IServer instance instead of (peerid, rref) tuple. Replace
"descriptor" with "server". Other replacements:
get_all_servers -> get_connected_servers/get_known_servers
get_servers_for_index -> get_servers_for_psi (now returns IServers)
This change still needs to be pushed further down: lots of code is now
getting the IServer and then distributing (peerid, rref) internally.
Instead, it ought to distribute the IServer internally and delay
extracting a serverid or rref until the last moment.
no_network.py was updated to retain parallelism.
Brian Warner [Mon, 31 Jan 2011 02:01:01 +0000 (18:01 -0800)]
TAG allmydata-tahoe-1.8.2
Brian Warner [Mon, 31 Jan 2011 01:59:45 +0000 (17:59 -0800)]
update docs for the 1.8.2 release
david-sarah [Fri, 28 Jan 2011 06:22:49 +0000 (22:22 -0800)]
SFTP: report unknown sizes as "0" instead of "?", to satisfy some clients. fixes #1337
david-sarah [Fri, 28 Jan 2011 19:24:52 +0000 (11:24 -0800)]
Change tests for check_requirement to ensure that it accepts None in the comment field of a (version, location, comment) triple, and add a test that it raises ImportError when a module couldn't be imported. Also fix typo in a comment. refs #1339
Zooko O'Whielacronx [Mon, 31 Jan 2011 00:04:20 +0000 (16:04 -0800)]
setup: comment out the setup_requires on setuptools_darcs in order to work-around distribute bug 55
Note that we still inject the setuptools_darcs egg at the beginning of setup.py, which makes the setuptools_darcs plugin work when building dists from tahoe-lafs source so those dists have all of the needed files.
http://bitbucket.org/tarek/distribute/issue/55/revision-control-plugin-automatically-installed-as-a-build-dependency-is-not-present-when-another-build-dependency-is-being
Zooko O'Whielacronx [Fri, 28 Jan 2011 15:07:00 +0000 (07:07 -0800)]
docs: edit running.html, change "http://allmydata.org" to "http://tahoe-lafs.org" in NEWS and README.txt, add Josh Wilcox to CREDITS for his contribution of doc patches
Zooko O'Whielacronx [Fri, 28 Jan 2011 14:15:46 +0000 (06:15 -0800)]
setup: adjust tests to use the new interface of check_requirement which has a 3-tuples instead of a 2-tuple
fixes #1339
david-sarah [Fri, 28 Jan 2011 05:41:50 +0000 (21:41 -0800)]
src/allmydata/__init__.py: fix #1339, give an indication in the --version[-and-path] output of when the imported setuptools is distribute, and use a separate element in _vers_and_locs_list tuples for information other than the package name and location. This also changes slightly how the sqlite version is reported.