David-Sarah Hopwood [Sat, 5 Jan 2013 01:02:13 +0000 (01:02 +0000)]
sftpd.py: switch from using bare asserts to assertutil.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Brian Warner [Tue, 19 Mar 2013 00:40:56 +0000 (17:40 -0700)]
introducer.client: use integer seqnums, not time-based. Closes #1767.
This stores the sequence number in BASEDIR/announcement-seqnum, and
increments it each time any service is published (every service
announcement is regenerated with the new sequence number). As everyone
knows, time is an illusion, and occasionally goes backwards, so a
counter is generally safer (and reveals less information about the
node).
Later, we'll improve the introducer client to tolerate rollbacks (where,
perhaps due to a VM being restarted from an earlier checkpoint, the
stored sequence number reverts to an earlier version).
Brian Warner [Tue, 19 Mar 2013 00:30:57 +0000 (17:30 -0700)]
fileutil.write: accept mode=, and use it in Node.write_config
I want mode="w" (i.e. text, with newline conversion) for code that
writes newline-terminated strings (which should also be human readable)
to files. I like to use things like "cat .tahoe/permutation-seed"
without seeing the seed jammed together with the next command prompt.
David-Sarah Hopwood [Sun, 17 Mar 2013 18:27:58 +0000 (18:27 +0000)]
setup.py: add helpful comment on line that is a SyntaxError in Python < 2.6.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Sun, 17 Mar 2013 18:26:34 +0000 (18:26 +0000)]
test_web.py: relax tests for upload and mkdir forms to tolerate nondeterministic order of attributes.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Sun, 17 Mar 2013 16:43:46 +0000 (16:43 +0000)]
Move embedded setuptools egg to reflect new version (0.6c16dev4).
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Sun, 17 Mar 2013 16:42:59 +0000 (16:42 +0000)]
Tolerate import errors when loading extra commands for "setup.py --help-commands"
and bump zetuptoolz version to 0.6c16dev4. fixes #1405
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Fri, 15 Mar 2013 06:39:12 +0000 (06:39 +0000)]
Update helper.rst to explain new-style config. fixes #1915
Author: Zooko Wilcox-O'Hearn <zooko>
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Fri, 15 Mar 2013 02:28:38 +0000 (02:28 +0000)]
Redesigned Welcome page using Twitter Bootstrap CSS.
Author: Tony Arcieri <tarcieri>
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Brian Warner [Sat, 16 Mar 2013 04:46:32 +0000 (21:46 -0700)]
bump 'mock' dependency to >=0.8.0, to get the .call object
The 0.6.0 version that was previously allowed did not provide .call, so
test_cli.py failed during import.
David-Sarah Hopwood [Fri, 15 Mar 2013 05:13:30 +0000 (05:13 +0000)]
Require at least Python 2.6. fixes #1658
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Fri, 15 Mar 2013 04:41:53 +0000 (04:41 +0000)]
Make doubly sure that we fail quickly on future Python 3.x versions. refs #1775
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Fri, 15 Mar 2013 04:28:35 +0000 (04:28 +0000)]
Ensure that bin/tahoe and setup.py fail quickly on Python 3.3+. fixes #1775
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 3 Jan 2013 03:19:52 +0000 (03:19 +0000)]
Add test for anti-Ubuntu-crash-reporter exception-catching code. fixes #1746
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Fri, 4 Jan 2013 05:32:24 +0000 (05:32 +0000)]
tahoe_ls.py: JSON responses don't need quotemarks or quoted newlines.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Fri, 4 Jan 2013 05:31:07 +0000 (05:31 +0000)]
Only quote newline characters where necessary. fixes #1484
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Mike Kazantsev [Wed, 27 Feb 2013 17:14:58 +0000 (23:14 +0600)]
test_web.py: fix test_GET_DIRECTORY_html_filenode_encoding for Twisted==12.3.0. fixes #1922
twisted.web.html.escape was used to produce html-encoded string (to then look
it up in "value" attribute), but behavior of that function has changed between
Twisted 12.2.0 (simple custom implementation) and 12.3.0 (imported from stdlib
cgi module).
David-Sarah Hopwood [Fri, 8 Feb 2013 19:27:57 +0000 (19:27 +0000)]
Add comment explaining fix to #1679. refs #1679
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Zooko O'Whielacronx [Thu, 7 Feb 2013 16:35:43 +0000 (16:35 +0000)]
do not cache and re-use imm filenodes in nodemaker
fixes #1679
Zooko O'Whielacronx [Thu, 7 Feb 2013 16:35:23 +0000 (16:35 +0000)]
unit test for #1679
David-Sarah Hopwood [Thu, 3 Jan 2013 22:16:20 +0000 (22:16 +0000)]
tahoe_check.py: tolerate missing fields in check results for LIT files/dirs. fixes #1758
Also test this case and improve some existing tests of 'tahoe check'.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Sat, 29 Dec 2012 23:54:54 +0000 (23:54 +0000)]
Make WUI headings and titles more consistent and accurate:
'Recent and Active Operations' and 'Operational Statistics'. fixes #1457
Signed-off-by: David-Sarah Hopwood <davidsarah@jacaranda.org>
David-Sarah Hopwood [Sat, 29 Dec 2012 23:44:11 +0000 (23:44 +0000)]
test_web.py: minor cleanup to test_helper_status.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Sat, 29 Dec 2012 04:17:00 +0000 (04:17 +0000)]
If a helper is not configured, make the banner on the welcome page say that, and have a white background.
fixes #1735
Author: kick
Signed-off-by: David-Sarah Hopwood <davidsarah@jacaranda.org>
David-Sarah Hopwood [Thu, 27 Dec 2012 23:38:58 +0000 (23:38 +0000)]
docs/configuration.rst: clarification on scale suffixes for reserved_space.
refs #1812
Signed-off-by: David-Sarah Hopwood <davidsarah@mint>
David-Sarah Hopwood [Thu, 27 Dec 2012 20:08:27 +0000 (20:08 +0000)]
Make abbreviate_space able to output in exabytes. refs #1812
Signed-off-by: David-Sarah Hopwood <davidsarah@mint>
David-Sarah Hopwood [Thu, 27 Dec 2012 20:08:00 +0000 (20:08 +0000)]
Allow T (terabytes), P (petabytes), and E (exabytes), case-insensitive, in parse_abbreviated_size.
This also simplifies how case-insensitivity is handled, and fixes a corner case
where the wrong exception was raised when the size ends in "BB".
fixes #1812
Signed-off-by: David-Sarah Hopwood <davidsarah@mint>
David-Sarah Hopwood [Thu, 27 Dec 2012 19:00:22 +0000 (19:00 +0000)]
Make the system test nodes have non-ASCII nicknames.
This ensures that non-ASCII nicknames are exercised with the real server code.
refs #1298
Signed-off-by: David-Sarah Hopwood <davidsarah@mint>
David-Sarah Hopwood [Thu, 27 Dec 2012 05:08:53 +0000 (05:08 +0000)]
Allow welcome and storage status pages to display a non-ASCII node nickname. fixes #1298
Signed-off-by: David-Sarah Hopwood <davidsarah@jacaranda.org>
David-Sarah Hopwood [Thu, 27 Dec 2012 00:00:17 +0000 (00:00 +0000)]
Remove ResponseCache in favor of MDMFSlotReadProxy's cache. closes #1240.
This contains several merged patches. Individual messages follow, latest first:
* Fix a warning from check-miscaptures.
* In retrieve.py, explicitly test whether a key is in self.servermap.proxies
rather than catching KeyError.
* Added a new comment to the MDMF version of the test I removed, explaining
the removal of the SDMF version.
* Removed test_corrupt_all_block_hash_tree_late, since the entire block_hash_tree
is cached in the servermap for an SDMF file.
* Fixed several tests that require files larger than the servermap cache.
* Remove unused test_response_cache_memory_leak().
* Exercise the cache.
* Test infrastructure for counting cache misses on MDMF files.
* Removed the ResponseCache. Instead, the MDMFSlotReadProxy initialized
by ServerMap is kept around so Retrieve can access it. The ReadProxy
has a cache of the first 1000 bytes initially read from each share by
the ServerMap. We're able to satisfy a number of requests out of this
cache, so roundtrips are reduced from 84 to 60 in test_deepcheck_mdmf.
There is still some mystery about under what conditions the cache has
fewer than 1000 bytes. Also this breaks some existing unit tests that
depend on the inner behavior of ResponseCache.
* The servermap.proxies (a cache of SlotReadProxies) is now keyed
by (verinfo,serverid,shnum) rather than just (serverid,shnum)
* Minor cosmetic changes
* Added a test failure if the number of cache misses is too high.
Author: Andrew Miller <amiller@dappervision.com>
Signed-off-by: David-Sarah Hopwood <davidsarah@jacaranda.org>
David-Sarah Hopwood [Sat, 22 Dec 2012 23:47:47 +0000 (23:47 +0000)]
docs/logging.rst: fix rst2html warnings.
Signed-off-by: David-Sarah Hopwood <davidsarah@mint>
David-Sarah Hopwood [Sat, 22 Dec 2012 23:39:11 +0000 (23:39 +0000)]
docs/logging.rst: remove note about a bug that was fixed in foolscap 0.6.0.
Signed-off-by: David-Sarah Hopwood <davidsarah@mint>
David-Sarah Hopwood [Sun, 2 Dec 2012 01:54:47 +0000 (01:54 +0000)]
test/common_util.py: fix a bug in NonASCIIPathMixin that would cause spurious log entries on Windows.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Zooko O'Whielacronx [Thu, 29 Nov 2012 21:11:47 +0000 (14:11 -0700)]
tests: add more diagnostics when code-under-test fails
This prints out which things are different when two sets are expected to be the
same. This was useful to me when debugging the code under test. Hm, this
pattern might be more generally useful...
Zooko O'Whielacronx [Thu, 29 Nov 2012 20:44:32 +0000 (13:44 -0700)]
remove unnecessary request from upload-helper
The unnecessary request was from the upload helper to the sender, and it was
there in order to trigger the sender to deliver cleartext hashes. But we've
long since removed cleartext hashes.
Unit tests pass both before and after this change, and code-coverage shows that
the block I changed is exercised in unit tests.
Zooko O'Whielacronx [Thu, 22 Nov 2012 16:27:28 +0000 (09:27 -0700)]
pkg_resources: better error message on bad spec
Include the text of the offending distribution spec when it is ill-formed.
I got an error message from pkg_resources.py saying that a distribution spec
was ill-formed, because it ended with an '=' and nothing came after the '='.
However, the error message and stack trace didn't tell which distribution spec
it was.
With this patch, it includes the distribution spec itself in the error message.
There is no unit test of this patch, but I did test it manually by inserting a
"raise ValueError('WHATEVER')" into the code and re-running it and observing
that the new output correctly included the distribution
David-Sarah Hopwood [Tue, 20 Nov 2012 05:59:00 +0000 (05:59 +0000)]
NEWS.rst: add a missing dependency update for 1.9.2.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Tue, 13 Nov 2012 16:24:36 +0000 (16:24 +0000)]
Makefile: increase filesystem size for 'make tmpfstest'.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 15 Nov 2012 04:16:19 +0000 (04:16 +0000)]
web/unlinked.py: don't use % operator to expand %(uri)s. fixes #1860.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Sun, 11 Nov 2012 16:04:23 +0000 (16:04 +0000)]
docs/frontends/CLI.rst: fix markup of * and ?.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Sun, 11 Nov 2012 15:50:46 +0000 (15:50 +0000)]
docs/frontends/CLI.rst: document ./* trick, and that aliases should not be a single char on Windows.
Also fix some rst2html warnings. refs #1853, #1840
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Sat, 3 Nov 2012 00:15:32 +0000 (00:15 +0000)]
Update docs/network-and-reliance-topology.svg for RAIC, and to be more accurate about frontend protocols.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 1 Nov 2012 23:40:06 +0000 (23:40 +0000)]
CLI: fix synopsis for 'tahoe ls'. fixes #1839
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 1 Nov 2012 23:09:07 +0000 (23:09 +0000)]
docs/about.rst: fix broken link for network-and-reliance-topology image.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 25 Oct 2012 01:16:21 +0000 (02:16 +0100)]
Makefile: add 'make tmpfstest', which uses a tmpfs for _trial_temp.
This probably only works on Linux. It uses sudo to mount and unmount the tmpfs,
which may prompt for a password. refs #20
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 24 Oct 2012 22:47:44 +0000 (23:47 +0100)]
test_runner: we no longer need to skip tests on Twisted < 9.0.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 25 Oct 2012 00:01:25 +0000 (01:01 +0100)]
src/allmydata/web/directory.py: fix HTML double-encoding issue for filenames.
Nevow automatically HTML-escapes strings passed in stan without a raw marker.
Written by MK_FG. fixes #1143
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Mike Kazantsev [Tue, 9 Oct 2012 17:19:55 +0000 (23:19 +0600)]
docs/frontends/webapi.rst: remove (ignored) "size" keyword from mkdir POST example
Zooko O'Whielacronx [Mon, 8 Oct 2012 18:13:33 +0000 (12:13 -0600)]
add alternating grey-background to make it easier to scan across the table left to right
Zooko O'Whielacronx [Mon, 8 Oct 2012 17:43:50 +0000 (11:43 -0600)]
link from the tahoe-lafs-dep-eggs/README.html to the relevant wiki pages
frederik b [Fri, 28 Sep 2012 17:22:53 +0000 (19:22 +0200)]
fixed wrong index in tahoe cp --verbose, as explained in #1805
this bug shows wrong counters for copied files in verbose mode
David-Sarah Hopwood [Mon, 17 Sep 2012 20:28:49 +0000 (21:28 +0100)]
Ignore *~, /miscaptures.txt and /violations.txt.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
david-sarah [Fri, 14 Sep 2012 02:14:48 +0000 (02:14 +0000)]
src/allmydata/__init__.py: ensure that if a dependency cannot be imported, we will report that rather than reporting a confusing message about the version and location being None. fixes #1804
david-sarah [Fri, 14 Sep 2012 02:10:12 +0000 (02:10 +0000)]
docs/quickstart.rst: swap two paragraphs to make it more likely a user will report import and versioning errors from 'bin/tahoe --version' if there are any, before trying to run tests. Also, change 'python setup.py test' to 'python setup.py trial' to avoid a rebuild that might change the dependencies (if setuptools decides to throw a spanner in the works).
Brian Warner [Tue, 4 Sep 2012 22:44:51 +0000 (15:44 -0700)]
Apply David-Sarah's recommended changes. Closes #974
Andrew Miller [Sat, 31 Mar 2012 22:53:45 +0000 (18:53 -0400)]
When the CLI cannot connect to the gateway, it prints an error message rather than raising a python exception. Includes a unit test
Signed-off-by: Andrew Miller <amiller@dappervision.com>
david-sarah [Tue, 24 Jul 2012 03:40:49 +0000 (03:40 +0000)]
Cosmetic changes to match cloud backend branch.
david-sarah [Tue, 24 Jul 2012 03:40:06 +0000 (03:40 +0000)]
interfaces.py: corrections to take into account that lease cancel secrets are no longer honoured.
david-sarah [Tue, 24 Jul 2012 03:39:24 +0000 (03:39 +0000)]
interfaces.py: corrections to interfaces to make more of them checkable.
david-sarah [Tue, 24 Jul 2012 03:37:07 +0000 (03:37 +0000)]
interfaces.py: which -> that.
david-sarah [Tue, 24 Jul 2012 03:34:46 +0000 (03:34 +0000)]
Default arguments in interface declarations should only be used to specify a default, not to specify the type, in order to be checkable.
david-sarah [Tue, 24 Jul 2012 03:32:56 +0000 (03:32 +0000)]
Remove spurious 'self' arguments that should not be included in interface declarations.
david-sarah [Tue, 24 Jul 2012 03:29:14 +0000 (03:29 +0000)]
interfaces.py: whitespace
Zooko O'Whielacronx [Fri, 20 Jul 2012 19:24:02 +0000 (19:24 +0000)]
docs: fix link to mutable.rst. Thanks to TimothyA for noticing the broken link
david-sarah [Thu, 12 Jul 2012 20:30:26 +0000 (20:30 +0000)]
docs/configuration.rst: clarify statement about lack of redundancy when shares.happy <= k. fixes #1793
david-sarah [Tue, 3 Jul 2012 16:30:10 +0000 (16:30 +0000)]
Update release date for 1.9.2.
david-sarah [Tue, 3 Jul 2012 14:45:22 +0000 (14:45 +0000)]
Slightly improve the error message when a stats.pickle file cannot be read.
david-sarah [Sun, 1 Jul 2012 23:19:21 +0000 (23:19 +0000)]
Relnotes, NEWS and quickstart updates for 1.9.2, with updated release date. refs #1776
david-sarah [Mon, 2 Jul 2012 18:18:47 +0000 (18:18 +0000)]
Failing to load a crawler state pickle uses default values, but the exception clause to detect this failure is too narrow; it can also fail with EOFError or KeyError for example.
david-sarah [Mon, 2 Jul 2012 18:15:55 +0000 (18:15 +0000)]
If a stats.pickle file cannot be read, print a better error message.
david-sarah [Sun, 1 Jul 2012 20:17:11 +0000 (20:17 +0000)]
Makefile: in check-umids, exclude 'old.py' to avoid false positives.
david-sarah [Mon, 8 Aug 2011 18:20:13 +0000 (18:20 +0000)]
src/allmydata/__init__.py: head off a possible warning on platforms where twisted-conch is a separate package.
Brian Warner [Tue, 26 Jun 2012 16:18:45 +0000 (09:18 -0700)]
'tahoe --version': remove inconsistent trailing comma, easier to parse
Brian Warner [Sun, 24 Jun 2012 19:10:24 +0000 (12:10 -0700)]
_auto_deps: bump foolscap to >=0.6.3 to tolerate twisted-12.0.0
The current Twisted release is 12.1.0, which (like 12.0.0 before it)
isn't compatible with foolscap-0.6.2 and earlier. We previously required
foolscap>=0.6.1, since that's all we actually need from foolscap itself.
_auto_deps specifies twisted>=11.0.0, so any system that can't meet that
will install the current Twisted (12.1.0), which will give them
something incompatible with foolscap-0.6.1 and 0.6.2 .
If we're limited to setuptools's declarative constraint language (and
can't have a function which evaluates the available dependency versions
and gives recommendations on which to change), then the only safe
approach is to make sure that any acceptable Foolscap version will be
compatible with all acceptable Twisted versions. So, bump the foolscap
dependency to >=0.6.3, which covers all currently-known
incompatibilities.
david-sarah [Sat, 23 Jun 2012 23:23:19 +0000 (23:23 +0000)]
Makefile: Add 'check-rst' target to check .rst files for errors. Also add 'doc-checks' which at the moment just runs check-rst, but might do more in future. fixes #1780
david-sarah [Sat, 23 Jun 2012 23:13:38 +0000 (23:13 +0000)]
Update docs, notably performance.rst, to include MDMF. fixes #1772
david-sarah [Sat, 23 Jun 2012 22:02:46 +0000 (22:02 +0000)]
NEWS.rst: hyperlink reference fixes. refs #1776
david-sarah [Sat, 23 Jun 2012 00:17:52 +0000 (00:17 +0000)]
Release notes, NEWS, and quickstart updates for 1.9.2a1. refs #1776
david-sarah [Fri, 22 Jun 2012 15:43:54 +0000 (15:43 +0000)]
Change the maximum mutable share size to 69105 TB, and add a maximum-mutable-share-size field to the version announcement. Includes a test. refs #1778
david-sarah [Thu, 21 Jun 2012 23:45:56 +0000 (23:45 +0000)]
Release notes and NEWS for 1.9.1. refs #1776
david-sarah [Mon, 18 Jun 2012 17:03:15 +0000 (17:03 +0000)]
docs/frontends/FTP-and-SFTP.rst: remove reference to rekeying bug since it does not apply now that we depend on Twisted 11.0. refs #1297 refs #1771
david-sarah [Sun, 17 Jun 2012 00:21:25 +0000 (00:21 +0000)]
_auto_deps.py: bump the Twisted dependency to >= 11.0.0 to avoid Twisted bugs #411 (Deferred recursion limit) and #4395 (SSH server rekeying). refs #1297 fixes #1771
david-sarah [Thu, 21 Jun 2012 20:52:21 +0000 (20:52 +0000)]
mutable: fix shape of 'verinfo' tuple returned from MDMFSlotWriteProxy.get_verinfo(). fixes #1669
david-sarah [Thu, 21 Jun 2012 20:46:27 +0000 (20:46 +0000)]
Tests for ref #1669. Also refactor the existing tests to reduce duplicated code and to fix a cut-and-paste error that caused one case (successful SDMF repair) to go untested.
david-sarah [Tue, 19 Jun 2012 02:05:04 +0000 (02:05 +0000)]
Add assertions to make sure that set_default_encoding_parameters is always called, rather than using hardcoded 3/7/10 defaults. Also update affected tests. Note that this by itself cannot fix the bug mentioned in ticket:1212#comment:41, but it might make it easier to reproduce. refs #1212
david-sarah [Mon, 18 Jun 2012 00:24:54 +0000 (00:24 +0000)]
docs/frontends/FTP-and-SFTP.rst: listing of directories containing mutable files (but not reading/writing mutable files) is fixed for FTP. Also remove the orphaned trac link to #1688. refs #680
Zooko O'Whielacronx [Sun, 17 Jun 2012 03:14:04 +0000 (03:14 +0000)]
docs: remove mention of #1588 from docs/frontends/FTP-and-SFTP.rst, since it is fixed
david-sarah [Sat, 16 Jun 2012 18:18:44 +0000 (18:18 +0000)]
Make the intent of the loop over servers in test_system.Connections.test_rref clearer, and able to be the same in 1.9.2 and trunk. Remove the now-unused node_key_s attribute of Client. refs #1636
david-sarah [Fri, 15 Jun 2012 03:44:37 +0000 (03:44 +0000)]
Fix a bug in mutable publish that could cause an IndexError when a writer is removed in Publish._connection_problem. This version uses DictOfSets as suggested by warner. fixes #1749
david-sarah [Fri, 15 Jun 2012 23:20:28 +0000 (23:20 +0000)]
Skip allmydata.test.test_system.Connections.test_rref unless we have foolscap >= 0.6.4, because of http://foolscap.lothar.com/trac/ticket/196 . refs #1636
david-sarah [Fri, 15 Jun 2012 01:48:55 +0000 (01:48 +0000)]
After a server disconnects, make the IServer retain the dead RemoteReference, and continue to return it to anyone who calls get_rref(). This removes the need for callers to guard against receiving a None (as long as the server was connected at least once, which is always the case for servers returned by get_servers_for_psi(), which is how all upload/download code gets servers). Includes test. fixes #1636
david-sarah [Thu, 14 Jun 2012 21:33:15 +0000 (21:33 +0000)]
Since DeprecationWarning about twisted.internet.interfaces.IFinishableConsumer is suppressed globally, it doesn't need to be suppressed during import. refs #1295
david-sarah [Thu, 14 Jun 2012 21:28:29 +0000 (21:28 +0000)]
misc/coding_tools/check-interfaces.py: clean-ups (warnings about Windows-specific modules and error stream handling).
david-sarah [Thu, 14 Jun 2012 21:23:08 +0000 (21:23 +0000)]
Suppress DeprecationWarning about twisted.internet.interfaces.IFinishableConsumer. This also unifies the handling of DeprecationWarnings that need to be suppressed globally. refs #1295
Brian Warner [Thu, 14 Jun 2012 19:17:55 +0000 (12:17 -0700)]
test/common.py: fix race condition waiting for the helper connection
The wait_for_connections() method, which is used at the start of
test_system to make sure that all the clients are connected to all the
servers, did not also wait for clients to be connected to their Helpers.
Every once in a while, the helper connection would take a bit longer,
and then
test_system.SystemTest.test_filesystem._test_web._got_welcome_helper
would fail, because we'd check for a helper connection before it was
ready.
The fix is to modify wait_for_connections's polling predicate to look
for helper connections (if configured) as well as the regular
introducer- and server- connections.
Tested by temporarily adding a large (30s) delay to the connectTo() call
in Uploader.startService, simulating a long helper
connection-establishment delay. This makes the test fail consistently.
Then I fixed wait_for_connections(), and the test passed (slowly). Then
I removed the delay.
Closes #1467
david-sarah [Wed, 13 Jun 2012 16:51:35 +0000 (16:51 +0000)]
Clarify documentation of RIStorageServer.slot_testv_and_readv_and_writev. fixes #1744
Brian Warner [Tue, 12 Jun 2012 21:37:27 +0000 (14:37 -0700)]
introweb: the Subscribed Clients list shows tubids, not serverids
Improve the column headers to make it clear that this list shows Tub
IDs. (we can't show pubkey-based serverids because clients don't give
those to us: only servers provide pubkeys). This should be the only
place in the whole webapi that shows TubIDs for modern (V2-introducer)
nodes.
Brian Warner [Tue, 12 Jun 2012 21:01:24 +0000 (14:01 -0700)]
Display serverids consistently as 8-char pubkey, or 6-char tubid.
This makes it easy to distinguish between old V1-Introducer
nodes (identified by their Foolscap TubID) and new V2 nodes (identified
by their
ed25519 pubkey).
This fixes a few places where we used to display a tubid even if we had
a pubkey, making it hard to visually correlate servers in two different
displays. It also cleans up the way we pass serverids to the JS-based
download timeline.
The "introweb" subscribed-clients list still shows tubids.
Brian Warner [Tue, 12 Jun 2012 06:19:30 +0000 (23:19 -0700)]
test_system.py: wait for the Helper connection properly before uploading
Brian Warner [Tue, 12 Jun 2012 01:22:35 +0000 (18:22 -0700)]
test_system.py: clean up control flow, reduce use of stall()
The _upload_resumable() test interrupts a Helper upload partway
through (by shutting down the Helper), then restarts the Helper and
resumes the upload. The control flow is kind of tricky: to do anything
"partway through" requires adding a hook to the Uploadable. The previous
flow depended upon a (fragile) call to self.stall(), which waits a fixed
number of seconds.
This removes one of those stall() calls (the remainder is in
test/common.py and I'll try removing it in a subsequent revision). It
also removes some now-redundant wait_for_connections() calls, since
bounce_client() doesn't fire its Deferred until the client has finished
coming back up (and uses wait_for_connections() internally to do so).