Commit Graph

2916 Commits

Author SHA1 Message Date
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
david-sarah
fffb3ae75b Fix a test failure in test_package_initialization on Python 2.4.x due to exceptions being stringified differently than in later versions of Python. refs #1389 2011-04-11 12:07:38 -07:00
david-sarah
a09d7300e0 tests: add test for including the ImportError message and traceback entry in the summary of errors from importing dependencies. refs #1389 2011-04-10 08:58:44 -07:00
david-sarah
449b7ad8c7 allmydata/__init__.py: preserve the message and last traceback entry (file, line number, function, and source line) of ImportErrors in the package versions string. fixes #1389 2011-04-10 08:57:05 -07:00
Zooko O'Whielacronx
4911510e0d remove unused variable detected by pyflakes 2011-04-07 10:22:31 -07:00
david-sarah
f3246a9ca0 allmydata/__init__.py: Nicer reporting of unparseable version numbers in dependencies. fixes #1388 2011-04-01 13:27:50 -07:00
Brian Warner
70f9f89c66 control.py: remove all uses of s.get_serverid() 2011-02-26 19:12:03 -07:00
Brian Warner
73a54f83d1 web: remove some uses of s.get_serverid(), not all 2011-02-26 19:11:59 -07:00
Brian Warner
3834192455 immutable/downloader/fetcher.py: remove all get_serverid() calls 2011-02-26 19:11:56 -07:00
Brian Warner
a4068dd1e0 immutable/downloader/fetcher.py: fix diversity bug in server-response handling
When blocks terminate (either COMPLETE or CORRUPT/DEAD/BADSEGNUM), the
_shares_from_server dict was being popped incorrectly (using shnum as the
index instead of serverid). I'm still thinking through the consequences of
this bug. It was probably benign and really hard to detect. I think it would
cause us to incorrectly believe that we're pulling too many shares from a
server, and thus prefer a different server rather than asking for a second
share from the first server. The diversity code is intended to spread out the
number of shares simultaneously being requested from each server, but with
this bug, it might be spreading out the total number of shares requested at
all, not just simultaneously. (note that SegmentFetcher is scoped to a single
segment, so the effect doesn't last very long).
2011-02-26 19:11:53 -07:00
Brian Warner
9ae026d9f4 immutable/downloader/share.py: reduce get_serverid(), one left, update ext deps
test_download.py: create+check MyShare instances better, make sure they share
Server objects, now that finder.py cares
2011-02-26 19:11:50 -07:00
Brian Warner
baf1506b9b immutable/downloader/finder.py: reduce use of get_serverid(), one left 2011-02-26 19:11:46 -07:00
Brian Warner
d9d55ad006 immutable/offloaded.py: reduce use of get_serverid() a bit more 2011-02-26 19:11:42 -07:00
Brian Warner
2f63d9b522 immutable/upload.py: reduce use of get_serverid() 2011-02-26 19:11:38 -07:00
Brian Warner
bdc5cfbdad immutable/checker.py: remove some uses of s.get_serverid(), not all 2011-02-26 19:11:34 -07:00
Brian Warner
9672b34880 add remaining get_* methods to storage_client.Server, NoNetworkServer, and
MockIServer stubs
2011-02-26 19:11:32 -07:00
Brian Warner
36fabb4f4a upload.py: rearrange _make_trackers a bit, no behavior changes 2011-02-26 19:11:28 -07:00
Brian Warner
ee14f2ad67 happinessutil.py: finally rename merge_peers to merge_servers 2011-02-26 19:11:24 -07:00
Brian Warner
13d284b087 test_upload.py: factor out FakeServerTracker 2011-02-26 19:11:20 -07:00
Brian Warner
9fc55bad25 test_upload.py: server-vs-tracker cleanup 2011-02-26 19:11:15 -07:00
Brian Warner
459b9d9e7c happinessutil.py: server-vs-tracker cleanup 2011-02-26 19:11:11 -07:00
Brian Warner
43488b025c upload.py: more tracker-vs-server cleanup 2011-02-26 19:11:07 -07:00
Brian Warner
0cf9e3b150 upload.py: fix var names to avoid confusion between 'trackers' and 'servers' 2011-02-26 19:11:03 -07:00
Brian Warner
ebfcb649f9 refactor: s/peer/server/ in immutable/upload, happinessutil.py, test_upload
No behavioral changes, just updating variable/method names and log messages.
The effects outside these three files should be minimal: some exception
messages changed (to say "server" instead of "peer"), and some internal class
names were changed. A few things still use "peer" to minimize external
changes, like UploadResults.timings["peer_selection"] and
happinessutil.merge_peers, which can be changed later.
2011-02-26 19:11:00 -07:00
Brian Warner
9b9ea3f739 storage_client.py: clean up test_add_server/test_add_descriptor, remove .test_servers 2011-02-26 19:10:56 -07:00
Brian Warner
cba3de04a4 test_client.py, upload.py:: remove KiB/MiB/etc constants, and other dead code 2011-02-26 19:10:51 -07:00
Zooko O'Whielacronx
578a117c5b test: increase timeout on a network test because Francois's ARM machine hit that timeout
I'm skeptical that the test was proceeding correctly but ran out of time. It seems more likely that it had gotten hung. But if we raise the timeout to an even more extravagant number then we can be even more certain that the test was never going to finish.
2011-03-17 09:59:09 -07:00
Brian Warner
44466fbb1b web/filenode.py: avoid calling req.finish() on closed HTTP connections. Closes #1366 2011-02-20 22:15:44 -08:00
david-sarah
787d12165a Add unit tests for cross_check_pkg_resources_versus_import, and a regression test for ref #1355. This requires a little refactoring to make it testable. 2011-02-20 17:58:17 -08:00
david-sarah
71c301ca34 allmydata/__init__.py: .name was used in place of the correct .__name__ when printing an exception. Also, robustify string formatting by using %r instead of %s in some places. fixes #1355. 2011-02-20 18:01:25 -08:00
Brian Warner
ffd296fc5a Refactor StorageFarmBroker handling of servers
Pass around IServer instance instead of (peerid, rref) tuple. Replace
"descriptor" with "server". Other replacements:

 get_all_servers -> get_connected_servers/get_known_servers
 get_servers_for_index -> get_servers_for_psi (now returns IServers)

This change still needs to be pushed further down: lots of code is now
getting the IServer and then distributing (peerid, rref) internally.
Instead, it ought to distribute the IServer internally and delay
extracting a serverid or rref until the last moment.

no_network.py was updated to retain parallelism.
2011-02-20 17:58:04 -08:00
david-sarah
ed67df866c SFTP: report unknown sizes as "0" instead of "?", to satisfy some clients. fixes #1337 2011-01-27 22:22:49 -08:00
david-sarah
d318122cd2 Change tests for check_requirement to ensure that it accepts None in the comment field of a (version, location, comment) triple, and add a test that it raises ImportError when a module couldn't be imported. Also fix typo in a comment. refs #1339 2011-01-28 11:24:52 -08:00
Zooko O'Whielacronx
6f84f1b869 setup: adjust tests to use the new interface of check_requirement which has a 3-tuples instead of a 2-tuple
fixes #1339
2011-01-28 06:15:46 -08:00
david-sarah
c71a19b9ed src/allmydata/__init__.py: fix #1339, give an indication in the --version[-and-path] output of when the imported setuptools is distribute, and use a separate element in _vers_and_locs_list tuples for information other than the package name and location. This also changes slightly how the sqlite version is reported. 2011-01-27 21:41:50 -08:00
david-sarah
74b6ea36c4 CLI: improve help synopsis for 'tahoe create-key-generator'. 2011-01-22 17:50:04 -08:00
david-sarah
cb02adb110 Don't put debugging information in 'My versions' section of the Welcome page. Also remove the extra blank line between version and command output when --version[-and-path] is used. refs #1306 2011-01-21 20:02:20 -08:00
david-sarah
f84f2aa987 tests: use verlib to compare versions, and get the versions of Twisted and Nevow from get_package_versions() instead of pkg_resources. refs #1287 2011-01-21 17:42:56 -08:00
david-sarah
39eede4217 src/allmydata/web/common.py: ensure that filenames in 'humanized failures' are quoted. 2011-01-21 17:40:06 -08:00
david-sarah
0c51ce3d89 CLI: improve help synopses for some commands. 2011-01-21 17:27:00 -08:00
david-sarah
c8ccb297fa src/allmydata/_auto_deps.py: setuptools is still an install requirement even in frozen builds, because .tac files import pkg_resources. refs #585 2011-01-21 17:24:42 -08:00
david-sarah
8587c63bdc Make bb-freeze (and probably other static packaging tools) work. This updates various places where we assumed that the tahoe process was executed via the Python interpreter. It also allows tests to recursively invoke the same tahoe.exe, rather than bin/tahoe. refs #585 2011-01-21 00:04:29 -08:00
david-sarah
28bd80812f Change --version and --version-and-path to not exit immediately, if a command is given. 2011-01-20 23:59:13 -08:00
david-sarah
f3b4f4181c src/allmydata/_auto_deps.py: 'pysqlite.dbapi2' module should have been 'pysqlite2.dbapi2'. refs #1306 2011-01-20 23:32:34 -08:00
david-sarah
b6c2c9591d src/allmydata/util/iputil.py: correct an error in the address-matching regexps introduced by the previous patch to iputil. refs #1274 2011-01-20 23:21:36 -08:00
david-sarah
b1f15a630a Add src/allmydata/util/verlib.py, which is a copy of verlib from https://bitbucket.org/tarek/distutilsversion/src/17df9a7d96ef . It is used to normalize and compare versions of dependencies. refs #1258 2011-01-20 22:04:49 -08:00
david-sarah
29336a0916 Refactor _auto_deps.py and __init__.py, adding more robust checking of dependency versions, and not trusting pkg_resources to get the versions right. refs #1258, #1287 2011-01-20 21:36:10 -08:00
david-sarah
d5138b3237 src/allmydata/util/iputil.py: loosen regexps and ensure that 'LANG=en_US.UTF-8' is set in the environment, to minimize problems with localized output of IP-address-finding tools. refs #1274 2011-01-20 00:48:27 -08:00
david-sarah
6dd8b6f471 Eliminate dependencies on pywin32, even via Twisted. refs #1274 2011-01-19 20:32:38 -08:00
david-sarah
fd6cdc48ae src/allmydata/test/test_runner.py: add test_import_from_repl, which checks that we are running the right code in a bin/tahoe subprocess. refs #1258 2011-01-19 00:21:45 -08:00
david-sarah
a9fc4668c0 docs/frontends/CLI.rst, src/allmydata/test/trialtest.py: add trailing newlines. refs #1296 2011-01-19 00:19:55 -08:00
david-sarah
d21f4071c3 Eliminate direct dependencies of Tahoe-LAFS on pywin32 (rebased to trunk). refs #1274 2011-01-18 23:59:11 -08:00
david-sarah
3798d9946e Add support to bin/tahoe for invoking a runner command prefixed with @, with the Tahoe libraries on the PYTHONPATH. This is documented in 'tahoe debug --help'. 2011-01-18 21:11:37 -08:00
david-sarah
74b1eec1d6 trivial: add comment in scripts/debug.py about trial option parsing. refs #1296 2011-01-18 22:08:08 -08:00
david-sarah
8d2983c493 Update foolscap requirement to >= 0.6.1. fixes #1329 2011-01-18 22:06:39 -08:00
david-sarah
93c1909847 bin/tahoe-script.template, src/windows/fixups.py: simplify the method of stripping initial arguments in sys.argv on Windows. This helps with bb-freeze and running tahoe via 'coverage'. Also includes some wording changes and minor refactoring of bin/tahoe-script.template. refs #585, #1303 2011-01-18 20:53:24 -08:00
david-sarah
8f0af33ba6 src/allmydata/test/test_cli.py: add test for 'tahoe debug trial' options help. refs #1296 2011-01-18 18:42:24 -08:00
david-sarah
1819c25c88 Add src/allmydata/test/trialtest.py needed by tests for 'tahoe debug trial'. refs #1296 2011-01-18 18:02:39 -08:00
david-sarah
0d6df9c9fc Tests for 'tahoe debug trial' (rebased and fixed to work with Twisted 10.2). refs #1296 2011-01-18 17:38:59 -08:00
david-sarah
420aadd95e Make 'mock' a run-time rather than setup-time dependency. This is necessary in order for 'tahoe debug trial' to work. refs #1296 2011-01-18 12:51:14 -08:00
david-sarah
7a887871b0 src/allmydata/scripts/debug.py: add 'tahoe debug trial' command (rebased for trunk). refs #1296 2011-01-18 12:46:59 -08:00
david-sarah
fc98aded8a src/allmydata/webish.py: clean-ups and correction to a comment. Also change an open and write to use fileutil.write. See ref #1286 comment 13. 2011-01-17 15:31:52 -08:00
Brian Warner
980fb0b2bb 'tahoe debug catalog-shares': sort SIs and shnums
Without this, SIs or shnums could be emitted in random order, depending upon
what the filesystem happens to return.
2011-01-17 01:59:32 -08:00
david-sarah
5a3acc05b7 CLI: tests for ref #1305 (v2, remove spurious extra arg to create-alias in test) 2011-01-13 20:03:27 -08:00
david-sarah
f10a2c0902 CLI: make 'tahoe create-alias' and 'tahoe add-alias' accept a trailing colon on the new alias name (v2, minor change not to rely on implicit Unicode conversion). Includes doc changes and news; tests in a separate patch. fixes #1305 2011-01-13 19:44:14 -08:00
Brian Warner
b9fb74d2a0 Improve 'tahoe ln' help text. Patch by David-Sarah. Closes #1230. 2011-01-17 00:14:21 -08:00
Brian Warner
09a2241471 Tolerate Twisted-10.2's endpoints, patch by David-Sarah. Closes #1286.
The service generated by strports.service() changed in 10.2, and the ugly
private-attribute-reading hack we used to glean a kernel-allocated port
number (e.g. when using "tcp:0", especially during unit tests) broke, causing
Tahoe to be completely unusable with Twisted-10.2 . The new ugly
private-attribute-reading hack starts by figuring out what sort of service
was generated, then reads different attributes accordingly.

This also hushes a warning when using schemeless strports strings like "0" or
"3456", by quietly prepending a "tcp:" scheme, since 10.2 complains about
those. It also adds getURL() and getPortnum() accessors to the "webish"
service, rather than having unit tests dig through _url and _portnum and such
to find out what they are.
2011-01-16 23:47:51 -08:00
david-sarah
8a3cb60bf7 Test changes to take account of ref #1311. 2011-01-16 22:05:40 -08:00
david-sarah
d3f24736ca create_node.py: add comments to default tahoe.cfg to clarify the meaning of each section. fixes #1311 2011-01-16 21:24:19 -08:00
david-sarah
e52d97a917 Undo the temporary hack to check the foolscap version. refs #1246 2011-01-16 21:20:42 -08:00
Brian Warner
45212d8000 Set "reserved_space=1G" in newly-created storage nodes. Closes #1208. 2011-01-16 12:58:22 -08:00
david-sarah
727b25f622 Temporary hack to investigate whether we are getting the right version of foolscap on trunk. refs #1258 2011-01-15 20:49:59 -08:00
david-sarah
e62a69e7ff test_runner: avoid unnecessary use of non-ASCII. 2011-01-01 02:01:01 -08:00
david-sarah
2c099ffa0d Move dependency imports from windows/depends.py (which has gone away) into src/allmydata/windows/tahoesvc.py. Also fix a pyflakes warning, and change the service display name from 'Allmydata Tahoe Node' to 'Tahoe-LAFS node'. refs #1282 2010-12-25 20:21:00 -08:00
david-sarah
3132c9b593 Remove unmaintained Windows GUI app, except for windows/tahoesvc.py which is moved to src/allmydata/windows. refs #1282 2010-12-25 20:02:37 -08:00
david-sarah
195ddbcf7c Remove unmaintained Mac GUI app. fixes #1282 2010-12-25 18:05:08 -08:00
david-sarah
399ee5aea0 Remove src/allmydata/util/find_exe.py which is no longer used. fixes #1150 2010-12-25 18:32:06 -08:00
freestorm77
4027a136f3 status_web_pages_review.darcs.patch
I make some changes on status web pages

status.xhtml:
- Delete unused webform_css link
- Align tables on the left

tahoe-css:
- Do some minor changes on code synthax
- changes table.status-download-events style to look like other tables

status.py:
- Align table on the left
- Changes table header
- Add heading tags
- Modify google api graph: add image border, calculate height to feet data

signed-off-by: zooko@zooko.com
fixes #1219
2011-01-01 19:42:14 -08:00
david-sarah
5027753e23 test_storage.py: fix a pyflakes unused import warning. 2010-12-31 14:07:56 -08:00
david-sarah
0da10d4c37 test_storage.py: leave at least 512 MiB free when running test_large_share. refs #1195 2010-12-31 12:32:15 -08:00
Zooko O'Whielacronx
123a1a3f04 storage: use fileutil's version of get_disk_stats() and get_available_space(), use mockery/fakery in tests, enable large share test on platforms with sparse files and if > 4 GiB of disk space is currently available 2010-09-10 08:36:29 -08:00
Zooko O'Whielacronx
d5e71c2940 fileutil: copy in the get_disk_stats() and get_available_space() functions from storage/server.py 2010-09-10 08:35:20 -08:00
david-sarah
c82b48f3d6 Update foolscap version requirement to 0.6.0, to address http://foolscap.lothar.com/trac/ticket/167 2010-12-30 22:00:39 -08:00