Commit Graph

1644 Commits

Author SHA1 Message Date
Brian Warner
af2231563e immutable/checker: make log() tolerate the format= form 2008-09-07 20:03:08 -07:00
Brian Warner
3408d552cd checker: overhaul checker results, split check/check_and_repair into separate methods, improve web displays 2008-09-07 12:44:56 -07:00
Brian Warner
e2c484a761 introducer: add get_nickname_for_peerid 2008-09-05 22:07:00 -07:00
Brian Warner
bab799297f testutil.PollMixin: use a custom exception (and convert it) to avoid the ugly 'stash' cycle 2008-09-02 20:32:51 -07:00
Zooko O'Whielacronx
037c9157dc setup: simplify parsing of python version number 2008-08-28 17:00:45 -07:00
Zooko O'Whielacronx
6801d5f572 setup: emit the version of python in the list of versions 2008-08-28 15:04:54 -07:00
Brian Warner
3b06aa6a79 servermap: don't log late arrivals, and don't log DeadReferenceError at log.WEIRD 2008-08-26 17:37:29 -07:00
Brian Warner
1668401c16 mutable: make mutable-repair work for non-verifier runs, add tests 2008-08-26 16:34:54 -07:00
Zooko O'Whielacronx
f7b4c45d46 mutable: remove work-around for a flaw in an older version of foolscap
We now require "foolscap[secure_connections] >= 0.3.0", per [source:_auto_deps.py].
2008-08-26 08:50:55 -07:00
Brian Warner
a94af879ff logging: add 'unique-message-ids' (or 'umids') to each WEIRD-or-higher log.msg call, to make it easier to correlate log message with source code 2008-08-25 18:57:59 -07:00
Brian Warner
735aa895b9 logging cleanups: lower DeadReferenceError from WEIRD (which provokes Incidents) to merely UNUSUAL, don't pre-format Failures in others 2008-08-25 17:51:55 -07:00
Zooko O'Whielacronx
def9fc8cf0 checker: make the log() function of SimpleCHKFileVerifier compatible with the log() function of its superclasses and subclasses 2008-08-25 14:44:07 -07:00
Brian Warner
eb695f1c58 mutable/checker: log a WEIRD-level event when we see a hash failure, to trigger an Incident 2008-08-12 20:50:20 -07:00
Brian Warner
97852cd626 immutable checker: add a status_report field 2008-08-12 20:35:30 -07:00
Brian Warner
e82d77c3cf mutable/servermap: lower the priority of many log messages 2008-08-12 20:35:06 -07:00
Brian Warner
e5252fd5b2 web/deep-check: show the webapi runtime at the bottom of the page 2008-08-12 20:34:26 -07:00
Brian Warner
7a206421b4 CLI: tolerate blank lines in the aliases file 2008-08-12 19:50:50 -07:00
Brian Warner
bcbb51fe4a test_web: workaround broken HEAD behavior in twisted-2.5.0 and earlier 2008-08-12 19:45:20 -07:00
Brian Warner
6af4619928 test_web: oops, actually use HEAD (instead of GET) in the HEAD test 2008-08-12 19:04:51 -07:00
Brian Warner
4d6b504883 web: use get_size_of_best_version for HEAD requests, provide correct content-type 2008-08-12 19:04:10 -07:00
Brian Warner
d43baa2ad7 mutable: add get_size_of_best_version to the interface, to simplify the web HEAD code, and tests 2008-08-12 19:02:52 -07:00
Brian Warner
014c9b5969 CLI: add 'tahoe debug corrupt-share', and use it for deep-verify tests, and fix non-deep web checker API to pass verify=true into node 2008-08-12 17:05:01 -07:00
Brian Warner
c80e352951 IFilesystemNode: add get_storage_index(), it makes tests easier 2008-08-12 16:14:07 -07:00
Brian Warner
5c0bfd7681 test_system: rename Checker to ImmutableChecker, to make room for a mutable one 2008-08-12 15:59:32 -07:00
Brian Warner
67e7333955 'tahoe debug dump-share': add --offsets, to show section offsets 2008-08-12 14:46:56 -07:00
Brian Warner
022fcf3db8 test_cli: oops, fix tests after recent stdout/stderr cleanup 2008-08-12 14:46:34 -07:00
Brian Warner
acb0297806 scripts/debug: split out dump_immutable_share 2008-08-12 13:55:17 -07:00
Brian Warner
533afd039f scripts/debug: clean up use of stdout/stderr 2008-08-12 13:52:42 -07:00
Brian Warner
1711b5591f CLI: move the 'repl' command to 'tahoe debug repl' 2008-08-12 13:40:17 -07:00
Brian Warner
bb33e3e4c2 CLI: move all debug commands (dump-share, dump-cap, find-shares, catalog-shares) into a 'debug' subcommand, and improve --help output 2008-08-12 13:37:32 -07:00
Brian Warner
3cf70697e8 hush a pyflakes warning 2008-08-11 21:24:23 -07:00
Brian Warner
08e229f29a web/directory: enable verify=true in t=deep-check 2008-08-11 21:24:09 -07:00
Brian Warner
1306b11a76 dirnode: add some deep-check logging 2008-08-11 21:23:38 -07:00
Brian Warner
79576cf75b checker_results.problems: don't str the whole Failure, just extract the reason string 2008-08-11 21:23:06 -07:00
Brian Warner
d106e411af checker: add information to results, add some deep-check tests, fix a bug in which unhealthy files were not counted 2008-08-11 21:03:26 -07:00
Brian Warner
17d7f7d983 mutable/checker: rearrange a bit, change checker-results to have a status_report string 2008-08-11 20:20:33 -07:00
Brian Warner
a15ae52122 mutable/servermap: add summarize_version 2008-08-11 20:19:30 -07:00
Brian Warner
376df2eb5a CLI: make 'tahoe webopen' command accept aliases like 'tahoe ls' 2008-08-11 18:20:23 -07:00
Brian Warner
0d5c8468e9 storage: include disk-free information in the stats-gatherer output 2008-08-06 14:06:02 -07:00
Brian Warner
c7c57bd85c mutable: more repair tests, one with force=True to check out merging 2008-08-06 12:06:07 -07:00
Brian Warner
a68c9364b8 test/common: add ShouldFailMixin 2008-08-06 12:05:52 -07:00
Brian Warner
572115a405 test_mutable: add comment about minimal-bandwidth repairer, comma lack of 2008-08-06 10:38:50 -07:00
Brian Warner
cdbfccd23e test_mutable: factor out common setup code 2008-08-06 10:38:04 -07:00
Brian Warner
dd6ec73efa mutable: start adding Repair tests, fix a simple bug 2008-08-05 23:12:39 -07:00
Brian Warner
3ad0168fbf test_system: factor out find_shares/replace_shares to a common class, so they can be used by other tests 2008-08-05 18:49:58 -07:00
Brian Warner
56943bc5e2 web: add 'report incident' button at the bottom of the welcome page 2008-08-05 12:09:21 -07:00
Brian Warner
45d12baba2 test_cli: more coverage for 'tahoe put' modifying a mutable file in-place, by filename, closes #441 2008-08-04 13:26:43 -07:00
Brian Warner
4fb03c2510 check_grid.py: update to match new CLI: 'put - TARGET' instead of 'put TARGET' 2008-08-01 19:48:56 -07:00
Brian Warner
b9f4006b96 test_cli: remove windows-worrying newlines from test data 2008-08-01 19:47:34 -07:00
Brian Warner
35afe726c1 test_cli.py: factor out CLITestMixin 2008-08-01 19:29:38 -07:00
Brian Warner
f7d2fcc233 CLI: change one-arg forms of 'tahoe put' to make an unlinked file, fix replace-mutable #441 2008-08-01 19:27:29 -07:00
Brian Warner
2eec38279d CLI: add create-alias command, to merge mkdir and add-alias into a single (secure-from-argv-snooping) step 2008-08-01 19:10:41 -07:00
Brian Warner
dc57ab4d36 test_cli: add system-based tests for PUT, including a mutable put that fails/todo (#441) 2008-08-01 15:10:09 -07:00
Brian Warner
071cbec865 tests: simplify CLI tests that use stdin, now that runner supports it 2008-08-01 15:05:14 -07:00
Brian Warner
f181a0458a CLI: simplify argument-passing, use options= for everthing, including stdout 2008-08-01 11:46:24 -07:00
Zooko O'Whielacronx
6d3ec390b0 tests: add test that verifier notices any (randomly chosen) bit flipped in the verifiable part of any (randomly chosen) share
The currently verifier doesn't (usually) pass this randomized test, hence the TODO.
2008-07-30 17:20:15 -07:00
Zooko O'Whielacronx
86160c3fc9 tests: test that checker doesn't cause reads on the storage servers
It would still pass the test if it noticed a corrupted share.  (It won't
notice, of course.)  But it is required to do its work without causing storage
servers to read blocks from the filesystem.
2008-07-30 16:54:20 -07:00
Zooko O'Whielacronx
29255568df storage: make storage servers declare oldest supported version == 1.0, and storage clients declare oldest supported version == 1.0
See comments in patch for intended semantics.
2008-07-30 15:51:07 -07:00
Zooko O'Whielacronx
dbd1c2397e tests: use the handy dandy TestCase.mktemp() function from trial to give unique and nicely named directories for each testcase 2008-07-30 15:49:20 -07:00
Zooko O'Whielacronx
6aabaa0797 tests: don't use SignalMixin
It seems like we no longer need it, and it screws up something internal in
trial which causes trial's TestCase.mktemp() method to exhibit wrong behavior
(always using a certain test method name instead of using the current test
method name), and I wish to use TestCase.mktemp().

Of course, it is possible that the buildbot is about to tell me that we do
still require SignalMixin on some of our platforms...
2008-07-30 15:35:36 -07:00
Zooko O'Whielacronx
56282613c5 tests: add test_system.Checker which tests basic checking (without verification) functionality 2008-07-28 16:43:17 -07:00
Zooko O'Whielacronx
9d14341c7d test: add testutil.flip_one_bit which flips a randomly chosen bit of the input string 2008-07-28 16:42:17 -07:00
Zooko O'Whielacronx
fe522e31a4 tests: make it so that you can use common.py's SystemTestMixin.set_up_nodes() more than once with the same introducer 2008-07-28 16:40:29 -07:00
Brian Warner
cd4d3cdeea download.py: set up self._paused before registering the producer, since they might call pauseProducing right away 2008-07-28 14:57:31 -07:00
Brian Warner
9e22353773 test/common.py: use pre-computed Tub certificates for the system-test mixin, to speed such tests up by maybe 15%. The goal is to encourage more full-grid tests. 2008-07-28 12:44:21 -07:00
Brian Warner
914783acdf web: add /status/?t=json, with active upload/download ops. Addresses #493. 2008-07-25 17:41:10 -07:00
Brian Warner
f8221c2c66 web: make t=json stats pages use text/plain, instead of leaving it at text/html 2008-07-25 17:24:27 -07:00
Brian Warner
48c64b7a29 test_system.py: factor SystemTestMixin out of SystemTest 2008-07-25 15:33:49 -07:00
Brian Warner
10bbc740e9 test_system.py: modify system-test setup code in preparation for merge with common.SystemTestMixin 2008-07-25 15:29:31 -07:00
Brian Warner
766cdd9c52 test_system.py: move SystemTestMixin out into common.py, where further improvements will occur 2008-07-25 15:17:58 -07:00
Brian Warner
e317fcc08c test_system.py: create SystemTestMixin, with less cruft, for faster system-like tests 2008-07-25 15:13:00 -07:00
Brian Warner
afda2a43e4 storage: remove update_write_enabler method, it won't serve the desired purpose, and I have a better scheme in mind. See #489 for details 2008-07-21 17:28:28 -07:00
Zooko O'Whielacronx
9461887e0a immutable file download: make the ciphertext hash tree mandatory
This fixes #491 (URIs do not refer to unique files in Allmydata Tahoe).
Fortunately all of the versions of Tahoe currently in use are already producing
this ciphertext hash tree when uploading, so there is no
backwards-compatibility problem with having the downloader require it to be
present.
2008-07-21 09:31:02 -07:00
Brian Warner
edec917060 test_web: test that save=true filename=unicode doesn't crash 2008-07-18 18:58:57 -07:00
Brian Warner
572c848d98 web: for GET save=true, don't interpret the filename= arg with any character set, just copy the bytes back into the Content-Disposition header. This seems to make it maximally compatible with Firefox and IE7 2008-07-18 18:06:50 -07:00
Brian Warner
879fefe5f3 first pass at a mutable repairer. not tested at all yet, but of course all existing tests pass 2008-07-17 21:09:23 -07:00
Brian Warner
3e95681bad interfaces: add IRepairable 2008-07-17 17:32:17 -07:00
Brian Warner
923c9c242a oops, fix import/pyflakes problems 2008-07-17 17:06:20 -07:00
Brian Warner
67db0a4967 deep-check: add webapi, add 'DEEP-CHECK' button to wui, add tests, rearrange checker API a bit 2008-07-17 16:47:09 -07:00
Brian Warner
69156aeb28 dirnode deep-check: add tests of cycles, fix failures 2008-07-17 14:37:04 -07:00
Brian Warner
acf3180fac dirnode deep-check: rearrange traversal approach, simplify code a bit 2008-07-17 14:25:04 -07:00
Brian Warner
9289433ba3 first pass at deep-checker, no webapi yet, probably big problems with it, only minimal tests 2008-07-16 18:20:57 -07:00
Brian Warner
7b9fff388d immutable download: remove dead LiteralDownloader, now that we use filenodes for download 2008-07-16 16:31:47 -07:00
Brian Warner
3e9322bcb6 checker: re-enable checker web results (although they just say 'Healthy' right now) 2008-07-16 15:42:56 -07:00
Brian Warner
7394607141 move encode/upload/download/checker.py into a new immutable/ directory. No behavior changes expected. 2008-07-16 13:14:39 -07:00
Brian Warner
94e619c1f6 overhaul checker invocation
Removed the Checker service, removed checker results storage (both in-memory
and the tiny stub of sqlite-based storage). Added ICheckable, all
check/verify is now done by calling the check() method on filenodes and
dirnodes (immutable files, literal files, mutable files, and directory
instances).

Checker results are returned in a Results instance, with an html() method for
display. Checker results have been temporarily removed from the wui directory
listing until we make some other fixes.

Also fixed client.create_node_from_uri() to create LiteralFileNodes properly,
since they have different checking behavior. Previously we were creating full
FileNodes with LIT uris inside, which were downloadable but not checkable.
2008-07-15 17:23:25 -07:00
Brian Warner
fd465b4aaf download: fix stopProducing failure ('self._paused_at not defined'), add tests 2008-07-14 15:25:21 -07:00
Brian Warner
c46f5bc634 storage: rename the latency key names so they sort properly 2008-07-11 21:51:02 -07:00
Brian Warner
bffe14ef3e add 1%,10% percentiles to the storage server latency output 2008-07-11 21:34:36 -07:00
Brian Warner
60725ed065 storage: add add_lease/update_write_enabler to remote API, revamp lease handling 2008-07-09 18:06:55 -07:00
Brian Warner
de8ce0cb5b welcome page: add link to statistics page 2008-07-09 17:37:22 -07:00
Brian Warner
a7aa6f8686 implement a mutable checker+verifier. No repair yet. Part of #205. 2008-07-07 17:36:00 -07:00
Brian Warner
a0de01e971 servermap.shares_available: report N too, not just k 2008-07-07 15:06:15 -07:00
Brian Warner
45405d85c4 interfaces: add verify= and repair= args to check() 2008-07-07 14:37:36 -07:00
Brian Warner
9b6f23ac05 'tahoe dump-share': show verify-cap too 2008-07-07 14:11:02 -07:00
Brian Warner
2074c92dd1 test_mutable.py: add tests for no-servers conditions, closes #463. 2008-07-07 12:18:10 -07:00
Brian Warner
bbc63e5d3f web/root.py: fix minor typo 2008-07-07 00:18:16 -07:00
Brian Warner
91c7e0f689 mutable: if there are no servers available, return an error, rather than hanging forever 2008-07-07 00:17:41 -07:00
Brian Warner
7dc8ff0263 re-enable incident-reporting, but disable it in unit tests, because they take 150% longer, and the leftover trailing timers cause errors 2008-07-06 23:49:08 -07:00
Brian Warner
13d0ba72a4 disable incident reporting: unit tests are failing because of the leftover post-incident timer 2008-07-02 18:24:00 -07:00