Commit Graph

2540 Commits

Author SHA1 Message Date
robk-tahoe
8e9e56fdd0 key_generator: fix a typo in the .tac generating create-key-generator
verbose is an object attribute, no longer settable via init args
2008-04-08 11:06:06 -07:00
Zooko O'Whielacronx
6090a561aa setup: require twisted >= 2.4.0 2008-04-08 18:12:00 -07:00
Zooko O'Whielacronx
8783eabf5a don't do a du on startup if there is no size limit configured
This also turns off the production of the "space measurement done" log message, if there is no size limit configured.
2008-04-08 11:36:56 -07:00
Peter Secor
8b4d530036 native client - added icon to About screen, added ability to change backup client that is launched, changed capitalization in share namme to Allmydata, changed tool-tip to Allmydata 3.0, updated linking method to automatically link if the next file will take more than 60sec to upload or it's already been 5 minutes since the last link happened 2008-04-08 01:19:02 -07:00
Peter Secor
e244b4924c native client - took out the Palissimo name, corrected file dates 2008-04-06 22:09:56 -07:00
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