Brian Warner [Tue, 18 Dec 2007 21:07:37 +0000 (14:07 -0700)]
check_load: add stats-gathering
Brian Warner [Tue, 18 Dec 2007 04:06:07 +0000 (21:06 -0700)]
add a simple load-generating tool to do random reads and writes
Brian Warner [Tue, 18 Dec 2007 03:57:40 +0000 (20:57 -0700)]
move my_private_dir.cap into private/
Brian Warner [Tue, 18 Dec 2007 03:48:48 +0000 (20:48 -0700)]
my_private_dir.cap: add newline for readability, open with mode 'w' not 'w+' since we don't need to read from this filehandle
Brian Warner [Tue, 18 Dec 2007 03:22:26 +0000 (20:22 -0700)]
remove the slash-to-bang conversion from CLI tools and webapi.txt
Zooko O'Whielacronx [Wed, 19 Dec 2007 00:47:49 +0000 (17:47 -0700)]
unit test that POST /uri/?t=mkdir works
Zooko O'Whielacronx [Wed, 19 Dec 2007 00:44:24 +0000 (17:44 -0700)]
remove the DirnodeURI foolscap schema and mv those regexes into uri.py
We currently do not pass dirnode uris over foolscap.
Zooko O'Whielacronx [Tue, 18 Dec 2007 20:15:08 +0000 (13:15 -0700)]
make more precise regexp for WriteableSSKFileURI and DirnodeURI and use it in unit tests
Also allow an optional leading "http://127.0.0.1:8123/uri/".
Also fix a few unit tests to generate bogus Dirnode URIs of the modern form instead of the former form.
Zooko O'Whielacronx [Tue, 18 Dec 2007 01:51:16 +0000 (18:51 -0700)]
fix unit tests to assert that we do *not* link to start.html when there is no private dir, instead of asserting that we *do*
Zooko O'Whielacronx [Tue, 18 Dec 2007 01:35:59 +0000 (18:35 -0700)]
do not put a link from the welcoXme page to the start.html if there is not a private directory
Zooko O'Whielacronx [Tue, 18 Dec 2007 01:35:25 +0000 (18:35 -0700)]
rename "my_private_dir.uri" to "my_private_dir.cap"
Zooko O'Whielacronx [Tue, 18 Dec 2007 01:34:11 +0000 (18:34 -0700)]
rename "secret" to "lease_secret" and change its size from 16 to 32 bytes
Zooko O'Whielacronx [Mon, 17 Dec 2007 23:39:54 +0000 (16:39 -0700)]
put all private state in $BASEDIR/private
fixes #219
The only part of #219 that this doesn't include is the part about
logpublisher, which has been moved out of tahoe into foolscap.
Zooko O'Whielacronx [Sat, 15 Dec 2007 01:25:50 +0000 (18:25 -0700)]
we no longer need to replace "/" with "!" in urls
Zooko O'Whielacronx [Sat, 15 Dec 2007 01:24:46 +0000 (18:24 -0700)]
tidy-up some comments and logging messages
Zooko O'Whielacronx [Sat, 15 Dec 2007 00:52:05 +0000 (17:52 -0700)]
fix the overwrite button and add unit test for it
Brian Warner [Fri, 14 Dec 2007 10:08:16 +0000 (03:08 -0700)]
test_system.py: oops, match change in RIControl
Brian Warner [Fri, 14 Dec 2007 09:06:09 +0000 (02:06 -0700)]
test_web.py: cosmetic, remove leftover trailing space
Brian Warner [Fri, 14 Dec 2007 09:05:31 +0000 (02:05 -0700)]
check-speed: test SSK upload/download speed too. SDMF imposes a limit on the file sizes, no 10MB or 100MB test
Brian Warner [Fri, 14 Dec 2007 09:04:25 +0000 (02:04 -0700)]
Makefile check-speed: force-quit any leftover client before starting a new test
Brian Warner [Thu, 13 Dec 2007 03:31:01 +0000 (20:31 -0700)]
remove logpublisher, use the Foolscap version now that this functionality has been moved into Foolscap-0.2.2
Brian Warner [Thu, 13 Dec 2007 03:23:53 +0000 (20:23 -0700)]
remove tests of logging functionality that's been subsumed by foolscap logging
Brian Warner [Thu, 13 Dec 2007 03:21:45 +0000 (20:21 -0700)]
move to foolscap-0.2.2
Zooko O'Whielacronx [Thu, 13 Dec 2007 03:06:05 +0000 (20:06 -0700)]
remove unimplemented and skipped test for feature that we don't plan to implement any time soon (XML-RPC interface)
Zooko O'Whielacronx [Thu, 13 Dec 2007 03:05:30 +0000 (20:05 -0700)]
remove unused import: thanks, pyflakes
Zooko O'Whielacronx [Thu, 13 Dec 2007 02:37:37 +0000 (19:37 -0700)]
refactor the feature of getting versions of packages, include the version numbers of more of the packages that we use
Zooko O'Whielacronx [Thu, 13 Dec 2007 02:34:08 +0000 (19:34 -0700)]
a few documentation and naming convention updates
Notable: the argument to make REPORTER has been renamed to TRIALARGS.
Zooko O'Whielacronx [Wed, 12 Dec 2007 01:10:29 +0000 (18:10 -0700)]
editing: change names like "MyThing" to "FakeThing" for fake objects in unit tests
Zooko O'Whielacronx [Wed, 12 Dec 2007 03:03:44 +0000 (20:03 -0700)]
fix unit test to pass forward-slashes to the CLI since it demands that the CLI emit forward-slashes
Brian Warner [Wed, 12 Dec 2007 02:47:04 +0000 (19:47 -0700)]
test_web.py: survive localdir/localfile= names with spaces. Should close #223
Brian Warner [Wed, 12 Dec 2007 02:16:33 +0000 (19:16 -0700)]
test_system: write test data in 'b' verbatim mode, since on windows the default text-mode is different. Addresses one of the failures in #223
Brian Warner [Wed, 12 Dec 2007 01:04:44 +0000 (18:04 -0700)]
webish: append save=true to a GET URL to save-to-disk. Closes #222.
Zooko O'Whielacronx [Wed, 12 Dec 2007 00:26:10 +0000 (17:26 -0700)]
README.win32: add note showing MikeB where this file is making false statements :-)
Zooko O'Whielacronx [Wed, 12 Dec 2007 00:25:58 +0000 (17:25 -0700)]
README.win32: clarify layout a bit
Zooko O'Whielacronx [Wed, 12 Dec 2007 00:23:01 +0000 (17:23 -0700)]
fix import error, detected thanks to "make test"
Zooko O'Whielacronx [Wed, 12 Dec 2007 00:00:29 +0000 (17:00 -0700)]
fix missing import, thanks to pyflakes
Zooko O'Whielacronx [Tue, 11 Dec 2007 21:08:15 +0000 (14:08 -0700)]
fix test_introducer to wait for the right things in order to avoid intermittent test failures
Brian Warner [Tue, 11 Dec 2007 03:17:34 +0000 (20:17 -0700)]
setup.py: arg, another stupid paste error, affecting cygwin
Brian Warner [Tue, 11 Dec 2007 01:35:08 +0000 (18:35 -0700)]
upgrade to foolscap-0.2.1, with a new logging framework
Zooko O'Whielacronx [Tue, 11 Dec 2007 03:22:59 +0000 (20:22 -0700)]
fix IntroducerClient.when_enough_peers()
add IntroducerClient.when_few_enough_peers(), fix and improve test_introducer
Brian Warner [Tue, 11 Dec 2007 03:08:38 +0000 (20:08 -0700)]
setup.py: fix stupid cut-and-paste error
Brian Warner [Tue, 11 Dec 2007 03:06:59 +0000 (20:06 -0700)]
build-deps: require setuptools 0.6c4 or later, because older ones don't allow foolscap to use os.random at import time
Brian Warner [Fri, 7 Dec 2007 01:38:42 +0000 (18:38 -0700)]
control.py: hush pyflakes warning
Brian Warner [Fri, 7 Dec 2007 01:36:58 +0000 (18:36 -0700)]
the wait_for_numpeers= argument to client.upload() is optional: make both the code and the Interface reflect this
Zooko O'Whielacronx [Fri, 7 Dec 2007 15:03:43 +0000 (08:03 -0700)]
move increase_rlimits() into iputil and make it a no-op on Windows
Zooko O'Whielacronx [Fri, 7 Dec 2007 00:28:23 +0000 (17:28 -0700)]
make check-memory use the new POST /uri?t=upload
Zooko O'Whielacronx [Fri, 7 Dec 2007 00:27:40 +0000 (17:27 -0700)]
make control.get_memory_usage() return all zeroes if reading /proc/mem/whatsit raises an exception
Zooko O'Whielacronx [Fri, 7 Dec 2007 00:17:02 +0000 (17:17 -0700)]
add POST /uri?t=upload and tests thereof
Hm... I refactored processing of segments in a way that I marked as "XXX HELP
I AM YUCKY", and then I ran out of time for rerefactoring it before I
committed. At least all the tests pass.
Brian Warner [Wed, 5 Dec 2007 07:20:34 +0000 (00:20 -0700)]
storage.py: factor out a common compare() routine
Brian Warner [Wed, 5 Dec 2007 07:15:13 +0000 (00:15 -0700)]
webish: fix overwrite form display
Brian Warner [Wed, 5 Dec 2007 06:57:40 +0000 (23:57 -0700)]
test_web.py: add coverage for directory listings that include mutable files
Brian Warner [Wed, 5 Dec 2007 06:49:38 +0000 (23:49 -0700)]
test_web.py: add coverage for POST t=check
Brian Warner [Wed, 5 Dec 2007 06:42:54 +0000 (23:42 -0700)]
webish: add POST t=mutable, make it replace files in-place, add t=overwrite
Brian Warner [Wed, 5 Dec 2007 06:11:00 +0000 (23:11 -0700)]
test_web.py: remove last use of fake_* methods, remove dead code
Brian Warner [Wed, 5 Dec 2007 06:01:37 +0000 (23:01 -0700)]
refactor web tests, and interfaces.IFileNode
Brian Warner [Wed, 5 Dec 2007 01:00:12 +0000 (18:00 -0700)]
checker: improve test coverage a little bit
Brian Warner [Wed, 5 Dec 2007 00:38:31 +0000 (17:38 -0700)]
uri.py: improve test coverage
Brian Warner [Wed, 5 Dec 2007 00:00:58 +0000 (17:00 -0700)]
remove most (maybe all?) traces of old Dirnode class. Yay for negative code days.
Brian Warner [Tue, 4 Dec 2007 22:55:27 +0000 (15:55 -0700)]
improve test coverage on FileNode.check
Brian Warner [Tue, 4 Dec 2007 21:32:04 +0000 (14:32 -0700)]
test_dirnode.py: obtain full coverage of dirnode.py
Brian Warner [Tue, 4 Dec 2007 18:45:20 +0000 (11:45 -0700)]
rename dirnode2.py to dirnode.py
Brian Warner [Tue, 4 Dec 2007 04:37:54 +0000 (21:37 -0700)]
test_mutable: improve test coverage a bit, add test_filenode.py
Brian Warner [Tue, 4 Dec 2007 01:10:01 +0000 (18:10 -0700)]
remove PyCrypto, now we only use pycrypto++
Brian Warner [Tue, 4 Dec 2007 00:27:46 +0000 (17:27 -0700)]
use AES from pycryptopp instead of pycrypto, also truncate the keys slightly differently
Brian Warner [Tue, 4 Dec 2007 00:10:02 +0000 (17:10 -0700)]
remove leftover defer.setDebugging(), to speed up tests from 200s to 83s
Zooko O'Whielacronx [Mon, 3 Dec 2007 22:42:35 +0000 (15:42 -0700)]
fix several bugs and warnings -- thanks, pyflakes
nejucomo [Tue, 20 Nov 2007 08:21:50 +0000 (01:21 -0700)]
A hastily written single-threaded read-only fuse client.
Zooko O'Whielacronx [Mon, 3 Dec 2007 22:29:04 +0000 (15:29 -0700)]
merge patch to integrate decentralized directories with "introducer_and_vdrive.py: use logpublisher too"
Brian Warner [Tue, 20 Nov 2007 21:22:26 +0000 (14:22 -0700)]
introducer_and_vdrive.py: use logpublisher too
Brian Warner [Tue, 20 Nov 2007 06:00:29 +0000 (23:00 -0700)]
encode.py: trivial whitespace change
Zooko O'Whielacronx [Mon, 3 Dec 2007 22:27:21 +0000 (15:27 -0700)]
merge patch to integrate decentralized directories with patch "download: use hierarchical logging"
Brian Warner [Tue, 20 Nov 2007 02:33:41 +0000 (19:33 -0700)]
more hierarchical logging: download/upload/encode
Brian Warner [Tue, 20 Nov 2007 02:07:10 +0000 (19:07 -0700)]
download: use hierarchical logging
Brian Warner [Tue, 20 Nov 2007 01:37:00 +0000 (18:37 -0700)]
logging: only test log.err when Twisted is new enough to let us ignore the generated errors
Zooko O'Whielacronx [Mon, 3 Dec 2007 22:25:14 +0000 (15:25 -0700)]
merge patch to integrate decentralized directories with patch to "only test log.err when Twisted is new enough to let us ignore the generated errors"
Brian Warner [Tue, 20 Nov 2007 01:23:18 +0000 (18:23 -0700)]
hierarchical logging: add numbered messages and parent= args
Brian Warner [Mon, 19 Nov 2007 20:04:50 +0000 (13:04 -0700)]
debian: add Depends: on python-pycryptopp, now that it's been packaged
Brian Warner [Mon, 19 Nov 2007 03:41:26 +0000 (20:41 -0700)]
test_client: stall 2.0s between shutdown and restart, trying to fix cygwin
Brian Warner [Mon, 19 Nov 2007 01:32:04 +0000 (18:32 -0700)]
logtool: add 'gather' and 'dump' modes
Brian Warner [Mon, 19 Nov 2007 01:30:55 +0000 (18:30 -0700)]
logtool: rename get-logs.py to logtool.py
Brian Warner [Sat, 17 Nov 2007 03:14:46 +0000 (20:14 -0700)]
logpublisher: hush pyflakes warning
Brian Warner [Sat, 17 Nov 2007 03:07:50 +0000 (20:07 -0700)]
logpublisher: implement subscribe/publish for log, add a sample client
Brian Warner [Sat, 17 Nov 2007 00:12:33 +0000 (17:12 -0700)]
mutable: fix control flow to allow good+bad shares from a peer. Fixes #211.
Brian Warner [Fri, 16 Nov 2007 23:12:38 +0000 (16:12 -0700)]
node.py: try to fix rlimit-setting again
Brian Warner [Fri, 16 Nov 2007 06:09:02 +0000 (23:09 -0700)]
node.py: try rlimit fix again
Brian Warner [Fri, 16 Nov 2007 06:06:44 +0000 (23:06 -0700)]
node.py: try to fix RLIMIT_NOFILE on solaris too
Brian Warner [Fri, 16 Nov 2007 05:53:55 +0000 (22:53 -0700)]
node.py: raise RLIMIT_NOFILE on bsd/cygwin to more than 256
Brian Warner [Thu, 15 Nov 2007 21:55:00 +0000 (14:55 -0700)]
test_mutable: workaround: use more peers to avoid random test failures.
The underlying issue is recorded in #211: one corrupt share in a query
response will cause us to ignore the remaining shares in that response, even
if they are good. In our tests (with N=10 but only 5 peers), this can leave
us with too few shares to recover the file.
The temporary workaround is to use 10 peers, to make sure we never get
multiple shares per response. The real fix will be to fix the control flow.
This fixes #209.
Brian Warner [Thu, 15 Nov 2007 21:22:56 +0000 (14:22 -0700)]
mutable: add more logging to retrieval process
Brian Warner [Thu, 15 Nov 2007 20:40:49 +0000 (13:40 -0700)]
provisioning: add more options for num-servers and server-dBA
Brian Warner [Wed, 14 Nov 2007 22:26:46 +0000 (15:26 -0700)]
mutable: validate share_hash_chain for each inbound share
Zooko O'Whielacronx [Mon, 3 Dec 2007 22:21:14 +0000 (15:21 -0700)]
merge patch to integrate decentralized directories with patch to handle bad hashes
Brian Warner [Wed, 14 Nov 2007 06:08:15 +0000 (23:08 -0700)]
mutable: handle bad hashes, improve test coverage, rearrange slightly to facilitate these
Brian Warner [Tue, 13 Nov 2007 21:24:49 +0000 (14:24 -0700)]
README: advise 'make clean' before 'make build-deps' (after update), otherwise old versions of the dependent libaries can be used in preference to the newer one
Brian Warner [Tue, 13 Nov 2007 20:54:51 +0000 (13:54 -0700)]
docs/subtree1.svg: make the page smaller
Zooko O'Whielacronx [Mon, 3 Dec 2007 21:52:42 +0000 (14:52 -0700)]
decentralized directories: integration and testing
* use new decentralized directories everywhere instead of old centralized directories
* provide UI to them through the web server
* provide UI to them through the CLI
* update unit tests to simulate decentralized mutable directories in order to test other components that rely on them
* remove the notion of a "vdrive server" and a client thereof
* remove the notion of a "public vdrive", which was a directory that was centrally published/subscribed automatically by the tahoe node (you can accomplish this manually by making a directory and posting the URL to it on your web site, for example)
* add a notion of "wait_for_numpeers" when you need to publish data to peers, which is how many peers should be attached before you start. The default is 1.
* add __repr__ for filesystem nodes (note: these reprs contain a few bits of the secret key!)
* fix a few bugs where we used to equate "mutable" with "not read-only". Nowadays all directories are mutable, but some might be read-only (to you).
* fix a few bugs where code wasn't aware of the new general-purpose metadata dict the comes with each filesystem edge
* sundry fixes to unit tests to adjust to the new directories, e.g. don't assume that every share on disk belongs to a chk file.
Zooko O'Whielacronx [Thu, 29 Nov 2007 21:47:35 +0000 (14:47 -0700)]
unit tests: bump up a timeout which I encountered when running on a very slow machine
Zooko O'Whielacronx [Tue, 20 Nov 2007 20:39:22 +0000 (13:39 -0700)]
setup: README: warn against Python 2.4.1, recommend easy_install, link to easy_install download page, edit for clarity
Zooko O'Whielacronx [Tue, 20 Nov 2007 07:07:44 +0000 (00:07 -0700)]
setup: make dependency failures more helpful (thanks to Priyanka)
Zooko O'Whielacronx [Tue, 20 Nov 2007 06:08:53 +0000 (23:08 -0700)]
setup: README: a few clarifications thanks to Priyanka