Commit Graph

2998 Commits

Author SHA1 Message Date
Kevan Carstensen
3e996e0c94 immutable/literal.py: Implement interface changes in literal nodes. 2011-08-01 19:08:14 -07:00
Kevan Carstensen
8ae564d8ad test/common: Alter common test code to work with MDMF.
This mostly has to do with making the test code implement the new
unified filenode interfaces.
2011-08-01 18:56:43 -07:00
Kevan Carstensen
f80a7fdf18 mutable: train checker and repairer to work with MDMF mutable files 2011-08-01 18:51:40 -07:00
Kevan Carstensen
893a9028f0 nodemaker: teach nodemaker about MDMF caps 2011-08-01 18:49:26 -07:00
Kevan Carstensen
d3f98498c0 client: teach client how to create and work with MDMF files 2011-08-01 18:48:11 -07:00
Kevan Carstensen
e4f2b27305 mutable/filenode: Modify mutable filenodes for use with MDMF
In particular:
    - Break MutableFileNode and MutableFileVersion into distinct classes.
    - Implement the interface modifications made for MDMF.
    - Be aware of MDMF caps.
    - Learn how to create and work with MDMF files.
2011-08-01 18:45:01 -07:00
Kevan Carstensen
4c48e2e1b6 nodemaker: teach nodemaker how to create MDMF mutable files 2011-08-01 18:42:58 -07:00
Kevan Carstensen
126d1ad010 interfaces: change interfaces to work with MDMF
A lot of this work concerns #993, in that it unifies (to an extent) the
interfaces of mutable and immutable files.
2011-08-01 18:41:19 -07:00
Kevan Carstensen
1576c35d38 mutable/publish: teach the publisher how to publish MDMF mutable files
Like the downloader, the publisher needs some substantial changes to handle multiple segment mutable files.
2011-08-01 18:39:31 -07:00
Kevan Carstensen
ac3b2647dd mutable/retrieve: rework the mutable downloader to handle multiple-segment files
The downloader needs substantial reworking to handle multiple segment
mutable files, which it needs to handle for MDMF.
2011-08-01 18:35:24 -07:00
david-sarah
c41bf14029 Cleanups for suppression of UserWarnings. refs #1435 2011-08-17 21:07:49 -07:00
Zooko O'Whielacronx
f627af3b9f suppress warning emitted by newer zope.interface with Nevow 0.10
refs #1435
2011-08-17 13:31:34 -07:00
david-sarah
a98a4ec13f _auto_deps.py: change the requirement for zope.interface to <= 3.6.2, >= 3.6.6. fixes #1435 2011-08-14 19:53:47 -07:00
david-sarah
a48aee11b3 allmydata/__init__.py, test_version.py: make version parsing understand '<=', with test. refs #1435 2011-08-14 20:51:53 -07:00
Brian Warner
5aad81f84d replace tabs with spaces in the #1441 'tahoe debug' synopsis 2011-08-11 10:37:04 -07:00
david-sarah
0dc917af08 Correct the information printed by '/usr/bin/tahoe debug --help' on Debian/Ubuntu. fixes #1441 2011-07-24 09:25:30 -07:00
david-sarah
6c2670641e Add test for webopen. fixes #1149 2011-07-24 14:16:59 -07:00
david-sarah
ab9eb12f70 test_client.py: relax a check in test_create_drop_uploader so that it should pass on Python 2.4.x. refs #1429 2011-08-09 22:25:04 -07:00
david-sarah
0dc56daaf9 test/common_util.py: correct fix to mkdir_nonascii. refs #1472 2011-08-09 22:19:06 -07:00
david-sarah
2deba3319c test/common_util.py: fix a typo. refs #1472 2011-08-09 21:42:35 -07:00
david-sarah
0104dbab92 test_client.py, test_drop_upload.py: fix pyflakes warnings. 2011-08-09 20:45:05 -07:00
david-sarah
db22fdc20d Factor out methods dealing with non-ASCII directories and filenames from test_drop_upload.py into common_util.py. refs #1429, #1472 2011-08-09 20:15:58 -07:00
david-sarah
c102056ac1 test_client.py: add a test that the drop-uploader is initialized correctly by client.py. Also give the DropUploader service a name, which is necessary for the test. refs #1429 2011-08-09 20:05:38 -07:00
david-sarah
10ee22f50e drop-upload: rename 'start' method to 'startService', which is what you're supposed to use to start a Service. refs #1429 2011-08-09 20:03:45 -07:00
david-sarah
f157b73367 test_drop_upload.py: add comment explaining why we don't use FilePath.setContent. refs #1429 2011-08-09 19:59:42 -07:00
david-sarah
369e30b1df test_drop_upload.py: fix some grammatical and spelling nits. refs #1429 2011-08-09 15:12:31 -07:00
Zooko O'Whielacronx
612abca271 drop-upload: report the configured local directory being absent differently from it being a file
refs #1429
2011-08-09 15:09:30 -07:00
Zooko O'Whielacronx
b7683d9b83 drop-upload: rename the 'upload.uri' parameter to 'upload.dircap', and a couple of cleanups to error messages. refs #1429
I rerecorded this patch, originally by David-Sarah, to use "darcs replace" instead of editing to do the renames. This uncovered one missed rename in Client.init_drop_uploader. (Which also means that code isn't exercised by the current unit tests.)
refs #1429
2011-08-09 15:05:08 -07:00
Zooko O'Whielacronx
5633375d26 drop-upload test for non-existent local dir separately from test for non-directory local dir
A candidate patch for #1429 has a bug when it is using FilePath.is_dir() to detect whether the configured local dir exists and is a directory. FilePath.is_dir() raises exception, instead of returning False, if the thing doesn't exist. This test is to make sure that DropUploader.__init__ raise different exceptions for those two cases.
refs #1429
2011-08-09 15:01:15 -07:00
Zooko O'Whielacronx
720bc2433b drop-upload: unit tests for the configuration options being named "cap" instead of "uri"
This is a subset of a patch that David-Sarah attached to #1429. This is just the unit-tests part of that patch, and uses darcs record instead of hunks to change the names.
refs #1429
2011-08-09 14:59:13 -07:00
david-sarah
c2972e22cb src/allmydata/storage/server.py: use the filesystem of storage/shares/, rather than storage/, to calculate remaining space. fixes #1384 2011-07-18 19:27:52 -07:00
david-sarah
4c592f1505 test_storage.py: test that we are using the filesystem of storage/shares/, rather than storage/, to calculate remaining space, and that the HTML status output reflects the values returned by fileutil.get_disk_stats. This version works with older versions of the mock library. refs #1384 2011-08-09 12:07:22 -07:00
david-sarah
70f03bd615 Work around ref #1472 by having test_drop_upload delete the non-ASCII directories it creates. 2011-08-08 18:23:34 -07:00
david-sarah
bbed522033 Remove all trailing whitespace from .py files. 2011-08-08 17:11:17 -07:00
david-sarah
08af9cea50 test_drop_upload.py: fix unused imports. refs #1429 2011-08-08 16:54:22 -07:00
david-sarah
32a7717205 Drop-upload frontend, rerecorded for 1.9 beta (and correcting a minor mistake). Includes some fixes for Windows but not the Windows inotify implementation. fixes #1429 2011-08-08 16:40:49 -07:00
david-sarah
05684b9251 node.py: ensure that client and introducer nodes record their port number and use that port on the next restart, fixing a regression caused by #1385. fixes #1469. 2011-08-06 15:19:34 -07:00
david-sarah
b9121e045f test_runner.py: fix a race condition in the test when NODE_URL_FILE is written before PORTNUM_FILE. refs #1469 2011-08-06 16:18:42 -07:00
david-sarah
743cb898e7 test_runner.py: cleanups of HOTLINE_FILE writing and removal. 2011-08-06 16:16:52 -07:00
david-sarah
e3c600d047 test_runner.py: remove an unused constant. 2011-08-06 15:14:16 -07:00
david-sarah
1967233f49 node.py: fix the error path for a missing config option so that it works for a Unicode base directory. 2011-08-06 15:10:07 -07:00
david-sarah
531758df19 test_runner.py: test that client and introducer nodes record their port number and use that port on the next restart. This tests for a regression caused by ref #1385. 2011-08-06 15:06:35 -07:00
david-sarah
b9eb0235ea test_runner.py: fix a bug in CreateNode.do_create introduced in changeset [5114] when the tahoe.cfg file has been written with CRLF line endings. refs #1385 2011-08-03 17:30:32 -07:00
david-sarah
b6cfbbeb23 test_client.py: repair Basic.test_error_on_old_config_files. refs #1385 2011-08-03 16:50:36 -07:00
david-sarah
1c77c5f5dc test_checker.py: increase timeout for TooParallel.test_immutable again. The ARM buildslave took 38 seconds, so 40 seconds is too close to the edge; make it 80. 2011-08-03 14:40:42 -07:00
david-sarah
521754b506 test_runner.py: fix RunNode.test_introducer to not rely on the mtime of introducer.furl to detect when the node has restarted. Instead we detect when node.url has been written. refs #1385 2011-08-03 11:09:17 -07:00
david-sarah
80300ea7a3 Further improve error message about old config files. refs #1385 2011-08-03 10:45:46 -07:00
david-sarah
f45bfeb3df Slightly improve error message about old config files (avoid unnecessary Unicode escaping). refs #1385 2011-08-03 09:38:48 -07:00
david-sarah
ed3dbe4985 test_checker.py: increase timeout for TooParallel.test_immutable (was consistently failing on ARM buildslave). 2011-08-03 09:32:13 -07:00
david-sarah
2d16a16ee3 Fix the bug that prevents an introducer from starting when introducer.furl already exists. Also remove some dead code that used to read old config files, and rename 'warn_about_old_config_files' to reflect that it's not a warning. refs #1385 2011-08-02 18:32:12 -07:00
david-sarah
e74387f4f1 test_runner.py: modify RunNode.test_introducer to test that starting an introducer works when the introducer.furl file already exists. refs #1385 2011-08-02 18:27:04 -07:00
david-sarah
c7f65ee8ad verifier: correct a bug introduced in changeset [5106] that caused us to only verify the first block of a file. refs #1395 2011-08-02 10:24:37 -07:00
david-sarah
9f8d34e63a test_repairer: add a deterministic test of share data corruption that always flips the bits of the last byte of the share data. refs #1395 2011-08-02 10:58:41 -07:00
Zooko O'Whielacronx
f426e82287 verifier: serialize the fetching of blocks within a share so that we don't use too much RAM
Shares are still verified in parallel, but within a share, don't request a
block until the previous block has been verified and the memory we used to hold
it has been freed up.

Patch originally due to Brian. This version has a mockery-patchery-style test
which is "low tech" (it implements the patching inline in the test code instead
of using an extension of the mock.patch() function from the mock library) and
which unpatches in case of exception.

fixes #1395
2011-08-01 23:37:03 -07:00
Brian Warner
3668cb3d06 remove nodeid from WriteBucketProxy classes and customers
refs #1363
2011-08-01 15:43:17 -07:00
Brian Warner
550d67f51f remove get_serverid() from ReadBucketProxy and customers, including Checker
and debug.py dump-share commands
refs #1363
2011-08-01 15:43:07 -07:00
Zooko O'Whielacronx
e5c4e83f4c reject old-style (pre-Tahoe-LAFS-v1.3) configuration files
Check for the existence of any of them and if any are found raise exception which will abort the startup of the node.
This is a backwards-incompatible change for anyone who is still using old-style configuration files.
fixes #1385
2011-08-01 16:24:23 -07:00
Zooko O'Whielacronx
420e3aa293 whitespace-cleanup 2011-07-24 18:55:46 -07:00
Zooko O'Whielacronx
3505a8a31c tests: use fileutil.write() instead of open() to ensure timely close even without CPython-style reference counting
Some of these already had an explicit close() but I went ahead and replaced them with fileutil.write() as well for the sake of uniformity.
2011-03-31 07:54:27 -07:00
david-sarah
2da3f69f25 Address Kevan's comment in #776 about Options classes missed when adding 'self.command_name'. refs #776, #1359 2011-08-01 15:13:17 -07:00
david-sarah
06a5d0c1a3 cleanup: implement rm as a synonym for unlink rather than vice-versa. refs #776 2011-08-01 15:01:08 -07:00
david-sarah
07ecac1d83 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 2011-07-12 17:12:18 -07:00
david-sarah
23b3a2f45a src/allmydata/web/filenode.py: delete a stale comment that was made incorrect by changeset [3133]. 2011-08-01 13:30:09 -07:00
Brian Warner
294dc5d0c7 fix typo introduced during rebasing of 'remove get_serverid from
DownloadStatus.add_dyhb_request and customers' patch, to fix test failure.
2011-08-01 13:03:41 -07:00
Zooko O'Whielacronx
6b2e798595 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
2011-08-01 11:54:01 -07:00
Zooko O'Whielacronx
dc66875479 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
2011-08-01 11:53:44 -07:00
Brian Warner
feca907499 apply zooko's advice: storage_client get_known_servers() returns a frozenset, caller sorts
refs #1363
2011-08-01 10:44:52 -07:00
Brian Warner
0605c77f08 test_immutable.Test: rewrite to use NoNetworkGrid, now takes 2.7s not 97s
remove now-unused ShareManglingMixin
refs #1363
2011-08-01 10:44:44 -07:00
Brian Warner
b07af5e1a2 DownloadStatus.add_known_share wants to be used by Finder, web.status
refs #1363
2011-08-01 10:44:36 -07:00
Brian Warner
0f11d35f85 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
2011-08-01 10:44:28 -07:00
Zooko O'Whielacronx
880758340f 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
2011-08-01 10:41:43 -07:00
Brian Warner
c9def76977 Coalesce multiple Share.loop() calls, make downloads faster. Closes #1268. 2011-08-01 08:18:34 -07:00
david-sarah
095efbf7a5 src/allmydata/_auto_deps.py: 'i686' is another way of spelling x86. 2011-07-31 20:40:35 -07:00
david-sarah
52963f4a76 tahoe_rm.py: better error message when there is no path. refs #1292 2011-01-22 00:42:12 -07:00
david-sarah
00fefeba49 test_cli.py: Test for error message when 'tahoe rm' is invoked without a path. refs #1292 2011-01-04 04:51:08 -07:00
david-sarah
a85a462a7a src/allmydata/__init__.py: suppress a spurious warning from 'bin/tahoe --version[-and-path]' about twisted-web and twisted-core packages. 2011-07-31 17:52:09 -07:00
david-sarah
16fd14a78a test_cli.py: use to_str on fields loaded using simplejson.loads in new tests. refs #1304 2011-07-29 20:25:21 -07:00
Kevan Carstensen
448278e807 cli: make 'tahoe cp' overwrite mutable files in-place 2011-07-29 13:20:39 -07:00
david-sarah
a2699ea6f6 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 2011-07-29 16:31:02 -07:00
david-sarah
b21a4f6b3f src/allmydata/scripts/cli.py: fix pyflakes warning. 2011-07-27 19:14:02 -07:00
david-sarah
b978378392 Fix the help synopses of CLI commands to include [options] in the right place. fixes #1359, fixes #636 2011-07-24 15:54:40 -07:00
david-sarah
f9d218c673 encodingutil: argv and output encodings are always the same on all platforms. Lose the unnecessary generality of them being different. fixes #1120 2011-06-29 11:53:56 -07:00
david-sarah
2ebaa916df Update the dependency on zope.interface to fix an incompatiblity between Nevow and zope.interface 3.6.4. fixes #1435 2011-07-21 16:49:41 -07:00
david-sarah
0f83b76190 frontends/ftpd.py: remove the check for IWriteFile.close since we're now guaranteed to be using Twisted >= 10.1 which has it. 2011-07-21 17:03:20 -07:00
david-sarah
8b40826774 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 2011-07-21 16:36:58 -07:00
Zooko O'Whielacronx
89c11d63f1 setup: remove the dependency on foolscap's "secure_connections" extra, add a dependency on pyOpenSSL
fixes #1383
2011-07-17 04:42:26 -07:00
david-sarah
5fcd3f8803 test_sftp.py cleanup: remove a redundant definition of failUnlessReallyEqual. 2011-07-16 11:18:13 -07:00
Zooko O'Whielacronx
4f8e3e5ae8 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)
2011-07-12 08:32:29 -07:00
Brian Warner
0f79973401 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
2011-06-29 15:26:06 -07:00
Brian Warner
d8358f2863 add more download-status data, fix tests 2011-06-29 15:25:55 -07:00
Brian Warner
fc5c2208fb prepare for viz: improve DownloadStatus events
consolidate IDownloadStatusHandlingConsumer stuff into DownloadNode
2011-06-29 15:25:42 -07:00
Brian Warner
fb4dd43310 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.
2011-06-11 12:02:34 -07:00
Zooko O'Whielacronx
be1ebde6e5 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
2011-06-11 09:37:41 -07:00
Zooko O'Whielacronx
06bf0360d6 wui: right-align the size column in the WUI
Thanks to Ted "stercor" Rolle Jr. and Terrell Russell.
fixes #1412
2011-06-11 08:37:58 -07:00
Zooko O'Whielacronx
155d048d17 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
2011-06-10 05:16:56 -07:00
wilcoxjg
67ad0175cd 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
2011-05-27 05:01:35 -07:00
david-sarah
a817163cc6 docs: convert NEWS to NEWS.rst and change all references to it. 2011-05-16 18:02:55 -07:00
david-sarah
49fd2e6e56 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 2011-01-30 10:49:23 -07:00
Zooko O'Whielacronx
b30a269ec2 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().
2011-01-28 08:20:06 -07:00
Zooko O'Whielacronx
299e8ad579 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
2011-05-10 12:16:50 -07:00