Commit Graph

2885 Commits

Author SHA1 Message Date
Peter Secor
06c9d55568 native client - updated flashing icon, removed the word "Beta" from About screen, fixed some wording 2008-04-04 01:04:04 -07:00
robk-tahoe
30eaaa7862 key_generator: fix timing, make tests more robust
previously there was an edge case in the timing of expected behaviour
of the key_generator (w.r.t. the refresh delay and twisted/foolscap
delivery).  if it took >6s for a key to be generated, then it was 
possible for the pool refresh delay to transpire _during_ the 
synchronous creation of a key in remote_get_rsa_key_pair.  this could
lead to the timer elapsing during key creation and hence the pool
being refilled before control returned to the client.

this change ensures that the time window from a get key request
until the key gen reactor blocks to refill the pool is the time
since a request was answered, not since a request was asked.
this causes the behaviour to match expectations, as embodied in
test_keygen, even if the delay window is dropped to 0.1s
2008-04-03 18:43:46 -07:00
robk-tahoe
c838cfef44 key_generator: up timeouts on keygen test
in both these cases, the timeout only serves to abort a stuck test, and
the key_generator should respond more quickly, but seeing test failures
in buildbot on some platforms suggests that the test is too susceptible
to timing issues on loaded buildslaves.
2008-04-03 16:26:24 -07:00
Brian Warner
ec77a5dc92 update our misc/dependencies to have foolscap-0.2.5 2008-04-03 16:08:22 -07:00
robk-tahoe
5333d976e8 auto_deps: require foolscap >= 2.5
the key_generator depends upon tub.setLocationAutomatically() which is only
available in foolscap > 0.2.5
2008-04-03 16:06:46 -07:00
robk-tahoe
1ae2c39862 key_generator: service related cleanups, incorporation into system test
this cleans up KeyGenerator to be a service (a subservice of the
KeyGeneratorService as instantiated by the key-generator.tac app)
this means that the timer which replenishes the keypool will be
shutdown cleanly when the service is stopped.

adds checks on the key_generator service and client into the system
test 'test_mutable' such that one of the nodes (clients[3]) uses
the key_generator service, and checks that mutable file creation
in that node, via a variety of means, are all consuming keys from
the key_generator.
2008-04-03 15:57:07 -07:00
robk-tahoe
ccda06b061 key_generator: added a unit test
implemented a unit test of basic KeyGenService functionality,
fixed a bug in the timing of pool refreshes
2008-04-03 13:01:43 -07:00
Peter Secor
d49a82996a native client - MikeB's updates to do delayed caching (introduces write delays if cache gets big), status indicator if uploading files on Windows (flashing system tray icon) 2008-04-03 13:39:46 -07:00
Brian Warner
06dae8fd67 trial_figleaf.py: make our figleaf code compatible with both Twisted-8.x and Twisted-2.5.x 2008-04-02 17:48:55 -07:00
robk-tahoe
5578559b85 added offloaded key generation
this adds a new service to pre-generate RSA key pairs.  This allows
the expensive (i.e. slow) key generation to be placed into a process
outside the node, so that the node's reactor will not block when it
needs a key pair, but instead can retrieve them from a pool of already
generated key pairs in the key-generator service.

it adds a tahoe create-key-generator command which initialises an 
empty dir with a tahoe-key-generator.tac file which can then be run
via twistd.  it stashes its .pem and portnum for furl stability and
writes the furl of the key gen service to key_generator.furl, also
printing it to stdout.

by placing a key_generator.furl file into the nodes config directory
(e.g. ~/.tahoe) a node will attempt to connect to such a service, and
will use that when creating mutable files (i.e. directories) whenever
possible.  if the keygen service is unavailable, it will perform the
key generation locally instead, as before.
2008-04-01 18:45:13 -07:00
Zooko O'Whielacronx
d6c66f99c0 setup: rename GNUmakefile to Makefile
It's evil and wrong to call something a "Makefile" when it contains code that can't be interpreted by POSIX make and requires GNU make.
But everyone else is doing it.  ;-)
2008-04-01 12:36:09 -07:00
Brian Warner
f9e261d939 introducer.py: accelerate reconnection after being offline. Closes #374.
When we establish any new connection, reset the delays on all the other
Reconnectors. This will trigger a new batch of connection attempts. The idea
is to detect when we (the client) have been offline for a while, and to
connect to all servers when we get back online. By accelerating the timers
inside the Reconnectors, we try to avoid spending a long time in a
partially-connected state (which increases the chances of causing problems
with mutable files, by not updating all the shares that we ought to).
2008-03-31 15:28:45 -07:00
Brian Warner
fb51a60993 munin plugins: add 'graph_category tahoe' 2008-03-28 16:18:30 -07:00
Brian Warner
5da9f42cf8 add munin/tahoe-rootdir-space 2008-03-28 16:18:09 -07:00
Brian Warner
da6ab9f522 munin/tahoe-introstats.py: put this graph in the 'tahoe' category 2008-03-28 14:51:37 -07:00
Peter Secor
3d9c4bcb2f native client - removed unused file (used to be for elevating privileges) and changed installer to start up the AllmydataTray executable directly 2008-03-28 12:25:08 -07:00
Peter Secor
a2b27135db native client - changing way the executables ask for elevated privileges 2008-03-27 23:41:07 -07:00
Brian Warner
d6be5116f5 storage: emit log messages on bucket allocate/read and mutable writev 2008-03-27 17:33:58 -07:00
Zooko O'Whielacronx
eb4a7b5b0c docs: fix anchor text of hyperlink to tarball 2008-03-27 19:01:29 -07:00
Brian Warner
6b416fc28c helper: add another munin plugin 2008-03-27 16:50:30 -07:00
Brian Warner
2c96a32633 helper: add more stats to webapi, at /helper_status 2008-03-27 16:46:08 -07:00
Brian Warner
36f5c025a6 helper: add stats for the gatherer, show some on the webish welcome page 2008-03-27 15:55:32 -07:00
Brian Warner
9b3a32d0b3 add GET /uri/URI/?t=deep-size, to compute the total size of immutable files reachable from a given directory 2008-03-27 11:33:42 -07:00
Peter Secor
c04c2799bf native client - updated to auto mount drive at start as well as when the drive is opened 2008-03-26 21:26:31 -07:00
Peter Secor
f50b173028 native client - updated to automatically create a Backup directory, temp directory cleanup, automatic mounting and unmounting of the drive when starting and stopping the service, lots of Vista backup error fixes 2008-03-26 21:05:30 -07:00
Brian Warner
3f5fed0bd4 node.py: make twistd.pid world-readable, so stats-gathering tools (specifically memory-measuring munin plugins) can see it 2008-03-26 18:37:54 -07:00
Brian Warner
1ad847d4b2 boodlegrid.tac: update sound samples 2008-03-26 18:22:07 -07:00
Brian Warner
04b690ac9e web-status: client methods like list_all_uploads() return Upload instances,
not status instances. Fix this. The symptom was that following a link like
'up-123' that referred to an old operation (no longer in memory) while an
upload was active would get an ugly traceback instead of a "no such resource"
message.
2008-03-26 18:20:07 -07:00
Brian Warner
ccce37bb4a misc/boodlegrid.tac: tool to monitor a grid through its flogports 2008-03-26 16:09:34 -07:00
Zooko O'Whielacronx
5aa7986497 setup: remove bundled setuptools-0.6c7 2008-03-26 12:13:21 -07:00
Zooko O'Whielacronx
d7cf033049 setup: require setuptools >= v0.6c8 2008-03-26 12:13:02 -07:00
Zooko O'Whielacronx
3e4b3f49b7 setup: bundle setuptools-0.6c8, we need a bugfix in it 2008-03-26 12:12:34 -07:00
Zooko O'Whielacronx
4efbd09f48 setup: merge in changes to ez_setup.py from the upstream setuptools project 2008-03-26 12:11:28 -07:00
Zooko O'Whielacronx
39272a1b6d setup: simplify makefile's path manipulation now that we rely on setup.py develop 2008-03-26 10:00:33 -07:00
zandr
f4d51ea366 tahoe-nodememory.py: change category to Tahoe 2008-03-25 18:42:11 -07:00
Zooko O'Whielacronx
f91d937925 docs: link to the 1.0.0 tarball in docs/install.html 2008-03-25 20:22:29 -07:00
Zooko O'Whielacronx
f1a11e7c5a TAG allmydata-tahoe-1.0.0 2008-03-25 18:29:04 -07:00
Zooko O'Whielacronx
ef151670dd docs: update relnotes.txt for Tahoe v1.0! 2008-03-25 18:28:00 -07:00
zandr
5245140a1c Copy amd-nodememory munin plugin over to tahoe and point at correct pidfile 2008-03-25 17:50:04 -07:00
Peter Secor
85895511f3 native client - updated to fix windows vista backup rproblems, edit word documents directly on the drive, requeue files that failed to upload from the node to the helper 2008-03-25 17:00:59 -07:00
Brian Warner
490f815e8f add a munin plugin to display introducer stats 2008-03-25 13:15:52 -07:00
Brian Warner
4531d1e953 introweb.py: add ?t=json, to provide machine-readable subscriber counts 2008-03-25 12:56:12 -07:00
Brian Warner
4b46f1cd53 encode.py: also record the size, along with plaintext_hash and SI 2008-03-24 19:08:15 -07:00
Brian Warner
15ef9f624d encode: log a plaintext hash and SI for each upload. This will allow the log gatherer to correlate the two, to better measure the benefits of convergence 2008-03-24 18:55:37 -07:00
robk-tahoe
7f14b93341 confwiz: set a convergence domain based on root_dir upon config
when the confwiz configures a node (i.e. typically once on mac, once per
install on windows) in addition to writing the root_dir.cap retrieved from
the native_client backend into a config file, it additionally writes a hash
thereof into the 'convergence' config file.

this causes uploads from this node to use a consistent 'convergence' hashing
value matching any other nodes with the same configured root_dir, i.e. for
the most part other systems installed and configured on the same account.
2008-03-24 15:47:12 -07:00
robk-tahoe
d25d3065d1 mutable: revise a couple of error messages
at brian and zooko's suggestion, reword an error message encountered when
multiple writers are racing to make overlapping changes to a directory
2008-03-24 15:46:28 -07:00
Brian Warner
1869d7c29b upload.py: remove spurious trailing quotes that confuse syntax-highlighting 2008-03-24 15:51:19 -07:00
Brian Warner
1e097766c9 disable plaintext hashes in shares, but leave a switch to turn it back on 2008-03-24 13:39:51 -07:00
Brian Warner
7b21054c33 UNDO: upload: stop putting plaintext and ciphertext hashes in shares.
This removes the guess-partial-information attack vector, and reduces
the amount of overhead that we consume with each file. It also introduces
a forwards-compability break: older versions of the code (before the
previous download-time "make hashes optional" patch) will be unable
to read files uploaded by this version, as they will complain about the
missing hashes. This patch is experimental, and is being pushed into
trunk to obtain test coverage. We may undo it before releasing 1.0.
2008-03-23 15:35:54 -07:00
Zooko O'Whielacronx
3b7b1932a9 CREDITS: add Paul Gerhardt, who submitted a small patch for make check-deps to be more newbie-friendly 2008-03-25 11:47:39 -07:00