Commit Graph

2409 Commits

Author SHA1 Message Date
Brian Warner
5cfccbf44f debian: we now require setuptools at build time, and that or pkg_resources at runtime 2008-04-10 15:43:56 -07:00
Brian Warner
3f61198042 debian: use setuptools-generated support/bin/tahoe instead of bin/tahoe, to match Zooko's change that makes our in-tree bin/tahoe spawn support/bin/tahoe 2008-04-10 14:36:27 -07:00
robk-tahoe
8620c7271d key_generator: fix edge case found on windows
the windows (cygwin) buildslave has been failing the key generator test

it turns out that the time check on whether to refill the pool, and the
reactor, are interacting such that when the maybe_refill_pool call posted
on the reactor fires, the test on whether to fill the pool fails.

this adds a loop in the failure case to retry each 1s until it is time
to refill the pool, thus mitigating this timing accuracy problem on
windows.
2008-04-10 14:27:35 -07:00
robk-tahoe
35319c3380 stats gathering: fix storage server stats if not tracking consumed
the RIStatsProvider interface requires that counter and stat values be
ChoiceOf(float, int, long)  the recent changes to storage server to not
track 'consumed' led to returning None as the value of a counter.
this causes violations to be experienced by nodes whose stats are being
gathered.

this patch simply omits that stat if 'consumed' is not being tracked.
2008-04-09 18:23:06 -07:00
robk-tahoe
ef0f523fe0 stats gathering: added counters to upload,download,mutablewatcher
counting number of operations, and for immutable files, bytes transferred
2008-04-09 18:08:59 -07:00
Brian Warner
d36d731752 oops, change debian dependency on zfec to 1.1, not 1.1.0 2008-04-09 17:45:52 -07:00
Zooko O'Whielacronx
fe54dd114c docs: yay! We can remove Twisted from the list of "Manual Dependencies" that users have to be aware of when installing 2008-04-10 18:44:07 -07:00
Zooko O'Whielacronx
85602d190d setup: we now require setuptools at run-time 2008-04-10 15:46:10 -07:00
Zooko O'Whielacronx
cd1c6a58f5 setup: execute ../support/bin/tahoe from ./bin/tahoe 2008-04-10 14:40:37 -07:00
robk-tahoe
0d2eb1edf6 stats_gatherer: verbose debug logging
one of the storage servers is throwing foolscap violations about the
return value of get_stats().  this adds a log of the data returned
to the foolscap log event stream at the debug level '12' (between
NOISY(10) and OPERATIONAL(20))  hopefully this will facilitate
finding the cause of this problem.
2008-04-09 16:10:53 -07:00
Peter Secor
3b4d29b013 native client - small bug fix to run the used_quota update on startup as well as on upload 2008-04-09 15:18:43 -07:00
Peter Secor
10d46ff218 native client - adding change to allow drive properties to reflect actual usage of the virtual drive 2008-04-09 14:06:14 -07:00
Zooko O'Whielacronx
d10c23bcd4 docs: another small edit (don't mention docs/ directory in about.html now that docs/ is prominent on wiki:Docs) 2008-04-09 16:02:45 -07:00
Zooko O'Whielacronx
81240eeff7 docs: a couple of tiny docs updates 2008-04-09 15:57:59 -07:00
Zooko O'Whielacronx
ff7f716871 setup: setup_requires twisted, because foolscap <= 0.2.5 imports twisted in its setup.py and because we want trial to be available at build time 2008-04-09 11:30:53 -07:00
Brian Warner
5385ec8fc9 make debian dependencies match _auto_deps.py ones, for foolscap and zfec 2008-04-09 10:23:01 -07:00
Peter Secor
080b5fbc84 windows installer - changed display name to Allmydata 3.0 for presentation purposes 2008-04-09 10:01:51 -07:00
Peter Secor
48a847609a native installer - updated installer to have a better formatted string in the install screen and in the Add/Remove Programs screen 2008-04-08 17:22:39 -07:00
robk-tahoe
27ac71458f key_generator: remove poll timeouts from test
the timeouts on uses of 'poll' were there purely to make sure a test doesn't
poll indefinitely.  however having such timeouts makes tests susceptible 
to premature timeouts under high load, or on slow machines. (e.g. cygwin 
slaves running in virtual machines on loaded hosts)

purportedly trial by default applies a timeout to tests to prevent them
hanging out indefinitely, so these poll timeouts are redundant and cause
intermittent failures on slow hosts.  hence they're more bother than they're
worth, and should be culled.
2008-04-08 11:06:58 -07:00
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