tahoe-lafs/tahoe-lafs.git
16 years agowebish: display tahoe import path on the welcome page, to help figure out where the...
Brian Warner [Wed, 6 Feb 2008 03:08:49 +0000 (20:08 -0700)]
webish: display tahoe import path on the welcome page, to help figure out where the code is coming from

16 years agorefactor node startup, remove tub_ready()
Brian Warner [Wed, 6 Feb 2008 02:58:38 +0000 (19:58 -0700)]
refactor node startup, remove tub_ready()

16 years agosetup: fix the md5sum of the bundled setuptools egg
Zooko O'Whielacronx [Wed, 6 Feb 2008 19:35:29 +0000 (12:35 -0700)]
setup: fix the md5sum of the bundled setuptools egg

16 years agodocs/testgrid/introducer.furl: update to new introducer
Brian Warner [Wed, 6 Feb 2008 01:48:26 +0000 (18:48 -0700)]
docs/testgrid/introducer.furl: update to new introducer

16 years agowebish: condense display of nickname a little bit
Brian Warner [Wed, 6 Feb 2008 01:29:28 +0000 (18:29 -0700)]
webish: condense display of nickname a little bit

16 years agowebish: show nickname too
Brian Warner [Wed, 6 Feb 2008 01:26:05 +0000 (18:26 -0700)]
webish: show nickname too

16 years agowebish: add extra introducer data (version, timestamps) to Welcome page
Brian Warner [Wed, 6 Feb 2008 00:32:27 +0000 (17:32 -0700)]
webish: add extra introducer data (version, timestamps) to Welcome page

16 years agotest_introducer.py: increase timeouts on poll() calls
Brian Warner [Tue, 5 Feb 2008 23:37:58 +0000 (16:37 -0700)]
test_introducer.py: increase timeouts on poll() calls

16 years agobundle foolscap-0.2.4 instead of 0.2.3
Brian Warner [Tue, 5 Feb 2008 22:27:41 +0000 (15:27 -0700)]
bundle foolscap-0.2.4 instead of 0.2.3

16 years agobump foolscap dependency to 0.2.4, since we now use log.err
Brian Warner [Tue, 5 Feb 2008 22:27:14 +0000 (15:27 -0700)]
bump foolscap dependency to 0.2.4, since we now use log.err

16 years agodocs/configuration.txt: wrap to 80 cols
Brian Warner [Tue, 5 Feb 2008 21:35:12 +0000 (14:35 -0700)]
docs/configuration.txt: wrap to 80 cols

16 years agodocs/configuration.txt: document nickname, no_storage, readonly_storage
Brian Warner [Tue, 5 Feb 2008 21:33:29 +0000 (14:33 -0700)]
docs/configuration.txt: document nickname, no_storage, readonly_storage

16 years agointroducer: remove remaining bits of 'push-to-myself' flags. The uploading/downloadin...
Brian Warner [Tue, 5 Feb 2008 21:16:01 +0000 (14:16 -0700)]
introducer: remove remaining bits of 'push-to-myself' flags. The uploading/downloading node is no longer special.

16 years agointroducer: remove PeerCountObserver, tests are managing with purely poll-for-connect...
Brian Warner [Tue, 5 Feb 2008 21:15:49 +0000 (14:15 -0700)]
introducer: remove PeerCountObserver, tests are managing with purely poll-for-connected approachers

16 years agobig introducer refactoring: separate publish+subscribe. Addresses #271.
Brian Warner [Tue, 5 Feb 2008 20:05:13 +0000 (13:05 -0700)]
big introducer refactoring: separate publish+subscribe. Addresses #271.

16 years agoPollMixin: add timeout= argument, rewrite to avoid tail-recursion problems
Brian Warner [Tue, 5 Feb 2008 03:35:07 +0000 (20:35 -0700)]
PollMixin: add timeout= argument, rewrite to avoid tail-recursion problems

16 years agowindows: include latest windown build, winfuse and tray.exe
robk-tahoe [Tue, 5 Feb 2008 01:12:50 +0000 (18:12 -0700)]
windows: include latest windown build, winfuse and tray.exe

16 years agostats: fix service issues
robk-tahoe [Sat, 2 Feb 2008 01:57:31 +0000 (18:57 -0700)]
stats: fix service issues

having moved inititalisation into startService to handle tub init cleanly,
I neglected the up-call to startService, which wound up not starting the
load_monitor.

also I changed the 'running' attribute to 'started' since 'running' is
the name used internally by MultiService itself.

16 years agomunin stats: don't suppress series with no current data
robk-tahoe [Sat, 2 Feb 2008 01:44:57 +0000 (18:44 -0700)]
munin stats: don't suppress series with no current data

having changed tahoe-stats to not report data series if there was no recent
data recorded for a node, I wound up making it hide the data series.  this
change causes it to report all data series for which stats exist in the
'config' phase, so that they show up, but only report actual data if the
stats are recent, so that they show up as missing if the node is not
reporting stats currently

16 years agotahoe_fuse: system test: Verify file contents can be properly read.
nejucomo [Wed, 30 Jan 2008 10:14:48 +0000 (03:14 -0700)]
tahoe_fuse: system test: Verify file contents can be properly read.

16 years agotahoe_fuse: system test: Populate a testdir with files and empty children directories...
nejucomo [Wed, 30 Jan 2008 09:59:43 +0000 (02:59 -0700)]
tahoe_fuse: system test: Populate a testdir with files and empty children directories, then test the fuse interface for proper listings and size metadata.

16 years agotahoe_fuse: system test: Create a separate directory for each test and pass the cap...
nejucomo [Wed, 30 Jan 2008 09:57:54 +0000 (02:57 -0700)]
tahoe_fuse: system test: Create a separate directory for each test and pass the cap and local path to each test.  Add two basic sanity tests for empty directories.

16 years agotahoe_fuse: system test: Replace repeated attempts at webapi calls with single calls...
nejucomo [Wed, 30 Jan 2008 09:56:25 +0000 (02:56 -0700)]
tahoe_fuse: system test: Replace repeated attempts at webapi calls with single calls, abstract webapi calls into a single function.

16 years agotahoe_fuse: system test: Remove some needless comments.
nejucomo [Wed, 30 Jan 2008 09:55:53 +0000 (02:55 -0700)]
tahoe_fuse: system test: Remove some needless comments.

16 years agotahoe_fuse: system test: Move test summary to end of output.
nejucomo [Wed, 30 Jan 2008 09:46:24 +0000 (02:46 -0700)]
tahoe_fuse: system test: Move test summary to end of output.

16 years agotahoe_fuse: system tests: Update comments.
nejucomo [Wed, 30 Jan 2008 09:45:54 +0000 (02:45 -0700)]
tahoe_fuse: system tests: Update comments.

16 years agotahoe_fuse: system test: Make output checking into non-fatal warnings, and make patte...
nejucomo [Wed, 30 Jan 2008 08:10:53 +0000 (01:10 -0700)]
tahoe_fuse: system test: Make output checking into non-fatal warnings, and make patterns looser.

16 years agodocs: webapi: Add concise shorthand for options, input, output, and statuses to the...
nejucomo [Wed, 30 Jan 2008 08:27:42 +0000 (01:27 -0700)]
docs: webapi: Add concise shorthand for options, input, output, and statuses to the operation descriptions...

I'm not convinced if this is the best way to do this, but I find it
handy to have a conscise "quick reference" for the webapi operations
which summarize all related I/O.

Another possibility is to reject this patch, but create a separate
"webapi_quickref.html" with a concise table.

16 years agotahoe_fuse.py: system test: Distinguish between TestFailures and unexpected exception...
nejucomo [Tue, 29 Jan 2008 05:42:28 +0000 (22:42 -0700)]
tahoe_fuse.py: system test: Distinguish between TestFailures and unexpected exceptions during testing (and fix a typo).

16 years agotahoe_fuse.py: system test: setup: lexically sort test names, create a TestFailure...
nejucomo [Tue, 29 Jan 2008 05:40:47 +0000 (22:40 -0700)]
tahoe_fuse.py: system test: setup: lexically sort test names, create a TestFailure class, implement an empty directory listing test.

16 years agotahoe_fuse.py: system test: setup: fixed a bug in which the mointpoint was not create...
nejucomo [Tue, 29 Jan 2008 05:39:13 +0000 (22:39 -0700)]
tahoe_fuse.py: system test: setup: fixed a bug in which the mointpoint was not created before mounting.

16 years agotahoe_fuse.py: system test: Many changes to framework...
nejucomo [Tue, 29 Jan 2008 05:27:19 +0000 (22:27 -0700)]
tahoe_fuse.py: system test: Many changes to framework...

The flow control has been de-obfuscated a bit.

Some output changes.

The test framework has quite a few race conditions, but it does a reasonable job of setting up and cleaning up.

16 years agoIndividual tests run after all the setup layers are in place.
nejucomo [Tue, 29 Jan 2008 05:25:11 +0000 (22:25 -0700)]
Individual tests run after all the setup layers are in place.

16 years agoclient.py: hush pyflakes
Brian Warner [Sat, 2 Feb 2008 03:28:15 +0000 (20:28 -0700)]
client.py: hush pyflakes

16 years agoclient.py: touch BASEDIR/no_storage to not publish a storage server. Addresses #271
Brian Warner [Sat, 2 Feb 2008 03:07:08 +0000 (20:07 -0700)]
client.py: touch BASEDIR/no_storage to not publish a storage server. Addresses #271

16 years agointroducer: allow nodes to refrain from publishing themselves, by passing furl=None...
Brian Warner [Sat, 2 Feb 2008 02:48:38 +0000 (19:48 -0700)]
introducer: allow nodes to refrain from publishing themselves, by passing furl=None. This would be useful for clients who do not run storage servers.

16 years agodocs: architecture.txt: some edits with Amber
Zooko O'Whielacronx [Fri, 1 Feb 2008 19:39:06 +0000 (12:39 -0700)]
docs: architecture.txt: some edits with Amber

16 years agorename storage_index_chk_hash() to storage_index_hash() and add TODO about how our...
Zooko O'Whielacronx [Fri, 1 Feb 2008 19:27:37 +0000 (12:27 -0700)]
rename storage_index_chk_hash() to storage_index_hash() and add TODO about how our use of it now includes keys that are not CHKs

16 years agodocs: update docs/about.html with Amber
Zooko O'Whielacronx [Fri, 1 Feb 2008 18:39:23 +0000 (11:39 -0700)]
docs: update docs/about.html with Amber

16 years agostats: added IStatsProducer interface, fixed stats provider startup
robk-tahoe [Fri, 1 Feb 2008 04:10:15 +0000 (21:10 -0700)]
stats: added IStatsProducer interface, fixed stats provider startup

this adds an interface, IStatsProducer, defining the get_stats() method
which the stats provider calls upon and registered producer, and made the
register_producer() method check that interface is implemented.

also refine the startup logic, so that the stats provider doesn't try and
connect out to the stats gatherer until after the node declares the tub
'ready'.  this is to address an issue whereby providers would attach to
the gatherer without providing a valid furl, and hence the gatherer would
be unable to determine the tubid of the connected client, leading to lost
samples.

16 years agomunin stats: suppress output of data more that 5min old
robk-tahoe [Fri, 1 Feb 2008 04:04:23 +0000 (21:04 -0700)]
munin stats: suppress output of data more that 5min old

if a node fails to report stats, the natural thing to do in re munin is to
supress the data for that data series.  the previous tahoe-stats would output
whatever data was present in the stats_gatherer's stats.pickle, regardless of
how old.

this change means that if the gatherer hasn't received data within the last
5 min, then no data is reported to munin for that node.

16 years agomunin stats: change truncated nodeid to 4 char (not 8)
robk-tahoe [Fri, 1 Feb 2008 02:21:17 +0000 (19:21 -0700)]
munin stats: change truncated nodeid to 4 char (not 8)

16 years agostats_gatherer: reject "<unauth>" as a tubid, to avoid screwing up the data.
robk-tahoe [Fri, 1 Feb 2008 02:11:31 +0000 (19:11 -0700)]
stats_gatherer: reject "<unauth>" as a tubid, to avoid screwing up the data.

16 years agoMakefile: add 'upload-tarballs' target, using a foolscap-based file-transfer tool
Brian Warner [Fri, 1 Feb 2008 02:00:40 +0000 (19:00 -0700)]
Makefile: add 'upload-tarballs' target, using a foolscap-based file-transfer tool

16 years agostorage: clean up use of si_s vs si_dir, add test for BadWriterEnabler message, add...
Brian Warner [Fri, 1 Feb 2008 00:48:48 +0000 (17:48 -0700)]
storage: clean up use of si_s vs si_dir, add test for BadWriterEnabler message, add some logging

16 years agoremove unused import (thanks, pyflakes)
Zooko O'Whielacronx [Fri, 1 Feb 2008 00:00:59 +0000 (17:00 -0700)]
remove unused import (thanks, pyflakes)

16 years agostorage: make two levels of share directories so as not to exceed certain filesystems...
Zooko O'Whielacronx [Thu, 31 Jan 2008 23:26:28 +0000 (16:26 -0700)]
storage: make two levels of share directories so as not to exceed certain filesystems's limitations on directory size
The filesystem which gets my vote for most undeservedly popular is ext3, and it has a hard limit of 32,000 entries in a directory.  Many other filesystems (even ones that I like more than I like ext3) have either hard limits or bad performance consequences or weird edge cases when you get too many entries in a single directory.

This patch makes it so that there is a layer of intermediate directories between the "shares" directory and the actual storage-index directory (the one whose name contains the entire storage index (z-base-32 encoded) and which contains one or more share files named by their share number).

The intermediate directories are named by the first 14 bits of the storage index, which means there are at most 16384 of them.  (This also means that the intermediate directory names are not a leading prefix of the storage-index directory names -- to do that would have required us to have intermediate directories limited to either 1024 (2-char), which is too few, or 32768 (3-chars of a full 5 bits each), which would overrun ext3's funny hard limit of 32,000.))

This closes #150, and please see the "convertshares.py" script attached to #150 to convert your old tahoe-0.7.0 storage/shares directory into a new tahoe-0.8.0 storage/shares directory.

16 years agotarballs: stick with setup.py's sdist command, which gives us bz2/gz/zip but not...
Brian Warner [Thu, 31 Jan 2008 20:52:48 +0000 (13:52 -0700)]
tarballs: stick with setup.py's sdist command, which gives us bz2/gz/zip but not rz/7z/lrz. Closes #298.

16 years agooffloaded.py: fix logging a bit
Brian Warner [Thu, 31 Jan 2008 20:45:01 +0000 (13:45 -0700)]
offloaded.py: fix logging a bit

16 years agoadd 'tarballs' target, to generate compressed source tarballs
Brian Warner [Thu, 31 Jan 2008 03:45:14 +0000 (20:45 -0700)]
add 'tarballs' target, to generate compressed source tarballs

16 years agostats: add a simple stats gathering system
robk-tahoe [Thu, 31 Jan 2008 03:11:07 +0000 (20:11 -0700)]
stats: add a simple stats gathering system

We have a desire to collect runtime statistics from multiple nodes primarily
for server monitoring purposes.   This implements a simple implementation of
such a system, as a skeleton to build more sophistication upon.

Each client now looks for a 'stats_gatherer.furl' config file.  If it has
been configured to use a stats gatherer, then it instantiates internally
a StatsProvider.  This is a central place for code which wishes to offer
stats up for monitoring to report them to, either by calling
stats_provider.count('stat.name', value) to increment a counter, or by
registering a class as a stats producer with sp.register_producer(obj).

The StatsProvider connects to the StatsGatherer server and provides its
provider upon startup.  The StatsGatherer is then responsible for polling
the attached providers periodically to retrieve the data provided.
The provider queries each registered producer when the gatherer queries
the provider.  Both the internal 'counters' and the queried 'stats' are
then reported to the gatherer.

This provides a simple gatherer app, (c.f. make stats-gatherer-run)
which prints its furl and listens for incoming connections.  Once a
minute, the gatherer polls all connected providers, and writes the
retrieved data into a pickle file.

Also included is a munin plugin which knows how to read the gatherer's
stats.pickle and output data munin can interpret.  this plugin,
tahoe-stats.py can be symlinked as multiple different names within
munin's 'plugins' directory, and inspects argv to determine which
data to display, doing a lookup in a table within that file.
It looks in the environment for 'statsfile' to determine the path to
the gatherer's stats.pickle.  An example plugins-conf.d file is
provided.

16 years agoupload: oops, fix breakage after removing upload_file/upload_data/etc
Brian Warner [Thu, 31 Jan 2008 02:41:43 +0000 (19:41 -0700)]
upload: oops, fix breakage after removing upload_file/upload_data/etc

16 years agoremove upload.upload_(data,filename,filehandle) convenience functions
Brian Warner [Thu, 31 Jan 2008 02:03:19 +0000 (19:03 -0700)]
remove upload.upload_(data,filename,filehandle) convenience functions

16 years agoupload: Data should use convergence by default
Brian Warner [Thu, 31 Jan 2008 02:02:56 +0000 (19:02 -0700)]
upload: Data should use convergence by default

16 years agoupload-helper: avoid duplicate uploads: check the grid to see if the file already...
Brian Warner [Thu, 31 Jan 2008 01:49:02 +0000 (18:49 -0700)]
upload-helper: avoid duplicate uploads: check the grid to see if the file already exists

16 years agolog.py: update log.err() to take advantage of current foolscap's log.err
Brian Warner [Thu, 31 Jan 2008 01:47:23 +0000 (18:47 -0700)]
log.py: update log.err() to take advantage of current foolscap's log.err

16 years agoinstall-details.html: debian 3.1 is better known as 'sarge'
Brian Warner [Thu, 31 Jan 2008 00:03:42 +0000 (17:03 -0700)]
install-details.html: debian 3.1 is better known as 'sarge'

16 years agoconfwiz: update to record install and uninstall events.
robk-tahoe [Wed, 30 Jan 2008 23:52:07 +0000 (16:52 -0700)]
confwiz: update to record install and uninstall events.

16 years agomake content-hash-key encryption a parameter of uploading
Zooko O'Whielacronx [Wed, 30 Jan 2008 19:24:50 +0000 (12:24 -0700)]
make content-hash-key encryption a parameter of uploading
fixes #293

16 years agodocs: add note that Debian 3.1 seems to have the same problem as Ubuntu Dapper with...
Zooko O'Whielacronx [Wed, 30 Jan 2008 19:21:17 +0000 (12:21 -0700)]
docs: add note that Debian 3.1 seems to have the same problem as Ubuntu Dapper with regard to Nevow and Twisted version compatibility

16 years agotests: add a test that nevow can find its default css file
Zooko O'Whielacronx [Wed, 30 Jan 2008 18:41:58 +0000 (11:41 -0700)]
tests: add a test that nevow can find its default css file

16 years agoMakefile: touch .built on every build, so other targets can depend upon .built and...
Brian Warner [Wed, 30 Jan 2008 08:32:57 +0000 (01:32 -0700)]
Makefile: touch .built on every build, so other targets can depend upon .built and avoid redundant rebuilds

16 years agospeedcheck: track SSK creation time separately
Brian Warner [Wed, 30 Jan 2008 03:44:32 +0000 (20:44 -0700)]
speedcheck: track SSK creation time separately

16 years agodocs/dirnodes.txt: rewrite to reflect 0.7.0's RSA-based SDMF dirnodes
Brian Warner [Wed, 30 Jan 2008 02:13:58 +0000 (19:13 -0700)]
docs/dirnodes.txt: rewrite to reflect 0.7.0's RSA-based SDMF dirnodes

16 years agowebish: remove 'URI-link' from directory page, now that we only use URI-links
Brian Warner [Wed, 30 Jan 2008 01:11:09 +0000 (18:11 -0700)]
webish: remove 'URI-link' from directory page, now that we only use URI-links

16 years agowebish: link to directory URIs rather than a child path. Addresses #103.
Brian Warner [Wed, 30 Jan 2008 01:04:32 +0000 (18:04 -0700)]
webish: link to directory URIs rather than a child path. Addresses #103.

16 years agoupload: add log message when AssistedUploader is done
Brian Warner [Wed, 30 Jan 2008 00:38:12 +0000 (17:38 -0700)]
upload: add log message when AssistedUploader is done

16 years ago_auto_deps.py: update comment
Brian Warner [Tue, 29 Jan 2008 20:53:21 +0000 (13:53 -0700)]
_auto_deps.py: update comment

16 years ago_auto_deps: tolerate DistributionNotFound (but not VersionConflict), to accomodate...
Brian Warner [Tue, 29 Jan 2008 20:52:37 +0000 (13:52 -0700)]
_auto_deps: tolerate DistributionNotFound (but not VersionConflict), to accomodate distributions (i.e. gutsy) which provide our dependencies but don't include .egg-info files

16 years agoupload: fix 'skipping_ahead' log message
Brian Warner [Tue, 29 Jan 2008 02:13:36 +0000 (19:13 -0700)]
upload: fix 'skipping_ahead' log message

16 years agooffloaded: when uploading a file that failed to upload before, ask for the last byte...
Brian Warner [Tue, 29 Jan 2008 02:05:43 +0000 (19:05 -0700)]
offloaded: when uploading a file that failed to upload before, ask for the last byte of ciphertext, so the reader is prepared to give us the plaintext hashes

16 years agoWriteBucketProxy: improve __repr__
Brian Warner [Tue, 29 Jan 2008 01:53:51 +0000 (18:53 -0700)]
WriteBucketProxy: improve __repr__

16 years agoupload.py: the 'skipping encryption' message was emitted exactly backwards
Brian Warner [Tue, 29 Jan 2008 01:38:38 +0000 (18:38 -0700)]
upload.py: the 'skipping encryption' message was emitted exactly backwards

16 years agoconfwiz: revise layout
robk-tahoe [Mon, 28 Jan 2008 21:36:03 +0000 (14:36 -0700)]
confwiz: revise layout

fix the make-confwiz-match-installer-size changes, to eliminate some weird
layout/rendering bugs.  also tweaked the layout slightly to add space between
the warning label and the newsletter subscribe checkbox.

16 years agotweak config wizard window size
robk-tahoe [Mon, 28 Jan 2008 21:07:13 +0000 (14:07 -0700)]
tweak config wizard window size

adjust the confiwiz frames to display at a size comparable to the innosetup
installer window

16 years agowebish: upload+localdir=missing should give an error
Brian Warner [Mon, 28 Jan 2008 21:48:06 +0000 (14:48 -0700)]
webish: upload+localdir=missing should give an error

16 years agowebish: oops, unit tests don't have an Uploader, don't rely upon it for helper-status...
Brian Warner [Mon, 28 Jan 2008 21:03:29 +0000 (14:03 -0700)]
webish: oops, unit tests don't have an Uploader, don't rely upon it for helper-status display

16 years agodisplay the Helper FURL and our connection status on the welcome page. Closes #285.
Brian Warner [Mon, 28 Jan 2008 20:56:22 +0000 (13:56 -0700)]
display the Helper FURL and our connection status on the welcome page. Closes #285.

16 years agoCHK upload helper: don't let one failed upload prevent us from trying again
Brian Warner [Mon, 28 Jan 2008 19:58:13 +0000 (12:58 -0700)]
CHK upload helper: don't let one failed upload prevent us from trying again

16 years agomacapp.py: cosmetic, remove trailing whitespace
Brian Warner [Mon, 28 Jan 2008 19:46:54 +0000 (12:46 -0700)]
macapp.py: cosmetic, remove trailing whitespace

16 years agoencode.py: update logging levels
Brian Warner [Mon, 28 Jan 2008 19:15:27 +0000 (12:15 -0700)]
encode.py: update logging levels

16 years agoencode.py: don't allow a shareholder which dies in start() to kill the whole upload
Brian Warner [Mon, 28 Jan 2008 19:14:48 +0000 (12:14 -0700)]
encode.py: don't allow a shareholder which dies in start() to kill the whole upload

16 years agoencode.py: don't record BAD log event unless there is actually a problem
Brian Warner [Mon, 28 Jan 2008 18:59:10 +0000 (11:59 -0700)]
encode.py: don't record BAD log event unless there is actually a problem

16 years agoconfwiz: use get_config call to backend
robk-tahoe [Sat, 26 Jan 2008 02:01:32 +0000 (19:01 -0700)]
confwiz: use get_config call to backend

this will write an arbitrary number of config files, instead of being restricted
to just the introducer.furl, based on the response of the php backend.
the get_config is passed username/password

16 years agodocs: edit "grid of storage servers" section with Amber
Zooko O'Whielacronx [Mon, 28 Jan 2008 18:48:21 +0000 (11:48 -0700)]
docs: edit "grid of storage servers" section with Amber

16 years agodocs: edit architecture.txt with Amber's help
Zooko O'Whielacronx [Mon, 28 Jan 2008 18:33:46 +0000 (11:33 -0700)]
docs: edit architecture.txt with Amber's help

16 years agoMakefile: split mac 'make .dmg' and 'upload' into separate steps
Brian Warner [Fri, 25 Jan 2008 23:29:13 +0000 (16:29 -0700)]
Makefile: split mac 'make .dmg' and 'upload' into separate steps

16 years agooffloaded upload: avoid tail-recursion problem that would break large files
Brian Warner [Fri, 25 Jan 2008 04:51:34 +0000 (21:51 -0700)]
offloaded upload: avoid tail-recursion problem that would break large files

16 years agoencode.py: improve error message when segment lengths come out wrong
Brian Warner [Fri, 25 Jan 2008 04:51:09 +0000 (21:51 -0700)]
encode.py: improve error message when segment lengths come out wrong

16 years agooffloaded uploader: don't use a huge amount of memory when skipping over previously...
Brian Warner [Fri, 25 Jan 2008 00:25:33 +0000 (17:25 -0700)]
offloaded uploader: don't use a huge amount of memory when skipping over previously-uploaded data

16 years agobetter mac .app icon
robk-tahoe [Fri, 25 Jan 2008 03:23:47 +0000 (20:23 -0700)]
better mac .app icon

16 years agoReworked mac gui to not lock up upon launch
robk-tahoe [Fri, 25 Jan 2008 03:00:28 +0000 (20:00 -0700)]
Reworked mac gui to not lock up upon launch

Previously, once the node itself was launched, the UI event loop was no longer
running.  This meant that the app would sit around seemingly 'wedged' and being
reported as 'Not Responding' by the os.

This chnages that by actually implementing a wxPython gui which is left running
while the reactor, and the node within it, is launched in another thread.
Beyond 'quit' -> reactor.stop, there are no interactions between the threads.

The ui provides 'open web root' and 'open account page' actions, both in the
file menu, and in the (right click) dock icon menu.

Something weird in the handling of wxpython's per-frame menubar stuff seems to
mean that the menu bar only displays the file menu and about etc (i.e. the items
from the wx menubar) if the focus changes from and back to the app while the
frame the menubar belongs to is displayed.  Hence a splash frame comes up at
startup to provide an opportunity.

It also seems that, in the case that the file menu is not available, that one
can induce it to reappear by choosing 'about' from the dock menu, and then
closing the about window.

16 years agocleanup mac and windows build code
robk-tahoe [Thu, 24 Jan 2008 04:06:41 +0000 (21:06 -0700)]
cleanup mac and windows build code

this moves some of the code common to both windows and mac builds into the
allmydata module hierarchy, and cleans up the windows and mac build directories
to import the code from there.

16 years agotahoe_fuse: cmdline args & system test: Allow nonstandard client basedirs to be speci...
nejucomo [Mon, 21 Jan 2008 03:56:27 +0000 (20:56 -0700)]
tahoe_fuse: cmdline args & system test: Allow nonstandard client basedirs to be specified and update the system tests to use this feature...

The commandline option handling of the version of python-fuse I use is arcane.  This is an ugly hack.

16 years agotahoe_fuse: rename decorators for clarity.
nejucomo [Mon, 21 Jan 2008 03:26:57 +0000 (20:26 -0700)]
tahoe_fuse: rename decorators for clarity.

16 years agoSmall log output change.
nejucomo [Mon, 21 Jan 2008 03:18:53 +0000 (20:18 -0700)]
Small log output change.

16 years agotahoe_fuse: system test: webapi connection: bug fix and small log output change.
nejucomo [Mon, 21 Jan 2008 03:10:31 +0000 (20:10 -0700)]
tahoe_fuse: system test: webapi connection: bug fix and small log output change.

16 years agotahoe_fuse: system test: Add FIXME comments.
nejucomo [Mon, 21 Jan 2008 03:06:19 +0000 (20:06 -0700)]
tahoe_fuse: system test: Add FIXME comments.

16 years agotahoe_fuse: system test: Manage multiple clients for test grid... System test setup...
nejucomo [Mon, 21 Jan 2008 03:02:20 +0000 (20:02 -0700)]
tahoe_fuse: system test: Manage multiple clients for test grid...  System test setup is almost complete.

This is a little convoluted because of the "layer" design, but it appears
to function correctly and do properly ordered cleanup.

Before system test setup is complete, tahoe_fuse.py needs to be modified
to allow arbitrary client base directories.

16 years agotahoe_fuse: system test: Attempt to create a dirnode to place in <basedir>/private...
nejucomo [Mon, 21 Jan 2008 01:47:47 +0000 (18:47 -0700)]
tahoe_fuse: system test: Attempt to create a dirnode to place in <basedir>/private/root_dir.cap, but this fails because the network is too small...

This patch also factors out the "polling_operation" pattern.