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