Commit Graph

1612 Commits

Author SHA1 Message Date
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
Brian Warner
d58591ceba start using Foolscap's 'incident-logging' feature, which requires foolscap-0.2.9 2008-07-02 17:40:29 -07:00
Brian Warner
dfe235bcba test_storage: oops, update the test to match the leave-incoming/ change 2008-06-26 11:36:17 -07:00
Brian Warner
02ce46cfb4 catalog-shares: ignore incoming/ 2008-06-26 11:23:44 -07:00
Brian Warner
edabd2f004 storage.py: leave the storage/shares/incoming/ directory in place when the bucket is closed 2008-06-26 11:07:57 -07:00
Brian Warner
af4e4dc847 storage: record latency stats in a flat dict, not nested, to conform to RIStatsProvider 2008-06-24 17:21:18 -07:00
Brian Warner
dba0ad3d28 test_mutable.py: add more tests of post-mapupdate corruption, to support #474 testing 2008-06-24 11:08:10 -07:00
Brian Warner
4e5b9ee63e introducer: move the relevant interfaces out to introducer/interfaces.py 2008-06-18 17:04:41 -07:00
Brian Warner
fa453c9b5e introducer: add old (V1) introducer code, add test framework for compatibility testing 2008-06-18 16:58:34 -07:00
Brian Warner
9ed9eb2048 check_grid.py: make it work, move node start/stop responsibility from Makefile to script 2008-06-19 12:39:52 -07:00
Brian Warner
50d945ea8f start work on 'check-grid' target, for use in an automated prodnet tester. Just a docstring so far. 2008-06-18 12:57:47 -07:00
Brian Warner
28f4652b96 break introducer up into separate modules in the new allmydata.introducer package 2008-06-18 12:24:16 -07:00
Brian Warner
5bdff74e5b web: stop using absolute links (or url.here) in forms and pages, since they break behind proxies. Partially addresses #461 2008-06-17 19:49:40 -07:00
Brian Warner
c09c342718 test_storage: yet more coverage 2008-06-17 17:44:10 -07:00
Brian Warner
6b55b8b022 test_storage.py: improve test coverage 2008-06-17 17:01:42 -07:00
Brian Warner
8e52b3d97d storage.ReadBucketProxy: avoid double-start, this only affected tests 2008-06-17 17:01:29 -07:00
Brian Warner
b62b3974d3 storage: remove unused method 2008-06-17 11:36:32 -07:00
Brian Warner
2154b5751b test_storage: add coverage for discard_storage 2008-06-16 17:52:40 -07:00
Brian Warner
75e662cc46 test_storage: add coverage for readonly_storage 2008-06-16 17:52:13 -07:00
Brian Warner
166e68f2a3 web /statistics : show 0 instead of None for mutable files 2008-06-16 16:37:04 -07:00
Brian Warner
1ce3b77dde storage: improve stats, make them accessible via webport /statistics 2008-06-16 16:35:59 -07:00
Brian Warner
6b7ff02e36 storage: measure latency-per-operation, calculate mean/median/percentiles 2008-06-16 15:21:55 -07:00
robk-tahoe
212c19fc45 webish: re-fix the addSlash issue in directory rendering
having fixed the relevant unit test not to assert incorrect behaviour of
the node when rendering directories, it's now safe to fix the latter.
2008-06-11 15:35:27 -07:00
robk-tahoe
b803158de7 test_web: fix webapi test around redirection issues
this fixes the test_web test test_POST_upload_mutable which chdir's into
a /foo subdirectory, but then later asserts that the web ui redirects the
user back to /foo, which should really be /foo/ since it's a directory.
2008-06-11 15:19:17 -07:00
Brian Warner
4c681847f8 directory.py: revert that addSlash, it causes a test to fail and we don't understand it yet, and we don't need the fix quite yet 2008-06-11 12:59:28 -07:00
robk-tahoe
021a9e370f webish: fix directory url redirection
when rendering a directory in webish, if the url did not correctly include
a trailing slash '/' then the browser will be redirected to a url which 
does.  this causes any relative links (e.g. the 'other representations'
which are links to files relative to the current directory) to be correctly
intrpreted as relative to the directory in question by the browser.

uses twisted's addSlash mechanism, which is designed for this purpose :-)
2008-06-11 12:46:28 -07:00
Zooko O'Whielacronx
65618ba5a2 wapi/wui: add a trailing slash to the targets of hyperlinks of children of the current directory when those targets are directories
This is intended to fix #458 '"other representations" broken in webish ui'.
2008-06-10 19:59:38 -07:00
Brian Warner
baf3b6868e storage.py: remove unused import 2008-06-10 13:05:44 -07:00
Brian Warner
bc04b8528a upload: abort the bucket upon any write error, and do it with callRemoteOnly to avoid double errors 2008-06-10 11:55:28 -07:00
Brian Warner
814922a9a1 storage: ignore shares in incoming/, to make clients use other servers during simultaneous uploads 2008-06-10 11:53:10 -07:00
Brian Warner
0aa6d24d62 web: add test for unicode POST when the name comes from name=, not the filename attribute 2008-06-03 17:09:39 -07:00
Brian Warner
9f5075e83d web: make nickname more visible in the welcome page, closes #361 2008-06-03 15:02:10 -07:00
Brian Warner
9f59ecafbb webish: make /cap/ equivalent to /uri/, accepting both with the same meanings. Closes #428 2008-06-03 14:34:00 -07:00