Commit Graph

1147 Commits

Author SHA1 Message Date
Zooko O'Whielacronx
ae90016845 fix the overwrite button and add unit test for it 2007-12-14 17:52:05 -07:00
Brian Warner
cd59cded91 test_system.py: oops, match change in RIControl 2007-12-14 03:08:16 -07:00
Brian Warner
7924f5ac21 test_web.py: cosmetic, remove leftover trailing space 2007-12-14 02:06:09 -07:00
Brian Warner
f6b2072af1 check-speed: test SSK upload/download speed too. SDMF imposes a limit on the file sizes, no 10MB or 100MB test 2007-12-14 02:05:31 -07:00
Brian Warner
69b65b6b01 remove logpublisher, use the Foolscap version now that this functionality has been moved into Foolscap-0.2.2 2007-12-12 20:31:01 -07:00
Brian Warner
e52e14cc66 remove tests of logging functionality that's been subsumed by foolscap logging 2007-12-12 20:23:53 -07:00
Zooko O'Whielacronx
2915f5b7f4 remove unimplemented and skipped test for feature that we don't plan to implement any time soon (XML-RPC interface) 2007-12-12 20:06:05 -07:00
Zooko O'Whielacronx
0949638c11 remove unused import: thanks, pyflakes 2007-12-12 20:05:30 -07:00
Zooko O'Whielacronx
caa69b007e refactor the feature of getting versions of packages, include the version numbers of more of the packages that we use 2007-12-12 19:37:37 -07:00
Zooko O'Whielacronx
1ac09840a4 a few documentation and naming convention updates
Notable: the argument to make REPORTER has been renamed to TRIALARGS.
2007-12-12 19:34:08 -07:00
Zooko O'Whielacronx
a7f954ac06 editing: change names like "MyThing" to "FakeThing" for fake objects in unit tests 2007-12-11 18:10:29 -07:00
Zooko O'Whielacronx
38d1af7ede fix unit test to pass forward-slashes to the CLI since it demands that the CLI emit forward-slashes 2007-12-11 20:03:44 -07:00
Brian Warner
2cb05817a6 test_web.py: survive localdir/localfile= names with spaces. Should close #223 2007-12-11 19:47:04 -07:00
Brian Warner
b085097adc test_system: write test data in 'b' verbatim mode, since on windows the default text-mode is different. Addresses one of the failures in #223 2007-12-11 19:16:33 -07:00
Brian Warner
74820cc3de webish: append save=true to a GET URL to save-to-disk. Closes #222. 2007-12-11 18:04:44 -07:00
Zooko O'Whielacronx
995cece54a fix import error, detected thanks to "make test" 2007-12-11 17:23:01 -07:00
Zooko O'Whielacronx
5c3c1fea9a fix missing import, thanks to pyflakes 2007-12-11 17:00:29 -07:00
Zooko O'Whielacronx
4210ba2b8a fix test_introducer to wait for the right things in order to avoid intermittent test failures 2007-12-11 14:08:15 -07:00
Zooko O'Whielacronx
40edccf9c5 fix IntroducerClient.when_enough_peers()
add IntroducerClient.when_few_enough_peers(), fix and improve test_introducer
2007-12-10 20:22:59 -07:00
Brian Warner
406ff52cf9 control.py: hush pyflakes warning 2007-12-06 18:38:42 -07:00
Brian Warner
0dc84963f1 the wait_for_numpeers= argument to client.upload() is optional: make both the code and the Interface reflect this 2007-12-06 18:36:58 -07:00
Zooko O'Whielacronx
192477e4a2 move increase_rlimits() into iputil and make it a no-op on Windows 2007-12-07 08:03:43 -07:00
Zooko O'Whielacronx
9a30ab2dfd make check-memory use the new POST /uri?t=upload 2007-12-06 17:28:23 -07:00
Zooko O'Whielacronx
4923d8dcb5 make control.get_memory_usage() return all zeroes if reading /proc/mem/whatsit raises an exception 2007-12-06 17:27:40 -07:00
Zooko O'Whielacronx
8ad2e85fdf add POST /uri?t=upload and tests thereof
Hm...  I refactored processing of segments in a way that I marked as "XXX HELP
I AM YUCKY", and then I ran out of time for rerefactoring it before I
committed.  At least all the tests pass.
2007-12-06 17:17:02 -07:00
Brian Warner
841c1a8509 storage.py: factor out a common compare() routine 2007-12-05 00:20:34 -07:00
Brian Warner
51af1fa2e3 webish: fix overwrite form display 2007-12-05 00:15:13 -07:00
Brian Warner
53e865cf49 test_web.py: add coverage for directory listings that include mutable files 2007-12-04 23:57:40 -07:00
Brian Warner
785f21b9bf test_web.py: add coverage for POST t=check 2007-12-04 23:49:38 -07:00
Brian Warner
56e02b274b webish: add POST t=mutable, make it replace files in-place, add t=overwrite 2007-12-04 23:42:54 -07:00
Brian Warner
4c79b4cd07 test_web.py: remove last use of fake_* methods, remove dead code 2007-12-04 23:11:00 -07:00
Brian Warner
f190382d5e refactor web tests, and interfaces.IFileNode 2007-12-04 23:01:37 -07:00
Brian Warner
4b8c2e93b3 checker: improve test coverage a little bit 2007-12-04 18:00:12 -07:00
Brian Warner
bf1b7d78e2 uri.py: improve test coverage 2007-12-04 17:38:31 -07:00
Brian Warner
cf2bd03813 remove most (maybe all?) traces of old Dirnode class. Yay for negative code days. 2007-12-04 17:00:58 -07:00
Brian Warner
1a5257c388 improve test coverage on FileNode.check 2007-12-04 15:55:27 -07:00
Brian Warner
0f5ef5184d test_dirnode.py: obtain full coverage of dirnode.py 2007-12-04 14:32:04 -07:00
Brian Warner
cca166a4f5 rename dirnode2.py to dirnode.py 2007-12-04 11:45:20 -07:00
Brian Warner
b780127f49 test_mutable: improve test coverage a bit, add test_filenode.py 2007-12-03 21:37:54 -07:00
Brian Warner
955bd5383d remove PyCrypto, now we only use pycrypto++ 2007-12-03 18:10:01 -07:00
Brian Warner
0bf5a762a9 use AES from pycryptopp instead of pycrypto, also truncate the keys slightly differently 2007-12-03 17:27:46 -07:00
Brian Warner
87e6ccbd4a remove leftover defer.setDebugging(), to speed up tests from 200s to 83s 2007-12-03 17:10:02 -07:00
Zooko O'Whielacronx
3605354a95 fix several bugs and warnings -- thanks, pyflakes 2007-12-03 15:42:35 -07:00
Zooko O'Whielacronx
184351d1f7 merge patch to integrate decentralized directories with "introducer_and_vdrive.py: use logpublisher too" 2007-12-03 15:29:04 -07:00
Brian Warner
d3e782a226 introducer_and_vdrive.py: use logpublisher too 2007-11-20 14:22:26 -07:00
Brian Warner
1f91e856ef encode.py: trivial whitespace change 2007-11-19 23:00:29 -07:00
Zooko O'Whielacronx
e28d7c580c merge patch to integrate decentralized directories with patch "download: use hierarchical logging" 2007-12-03 15:27:21 -07:00
Brian Warner
33a5f8ba6b more hierarchical logging: download/upload/encode 2007-11-19 19:33:41 -07:00
Brian Warner
869b690378 download: use hierarchical logging 2007-11-19 19:07:10 -07:00
Brian Warner
3d046d6ac7 logging: only test log.err when Twisted is new enough to let us ignore the generated errors 2007-11-19 18:37:00 -07:00
Zooko O'Whielacronx
2c58d3399c merge patch to integrate decentralized directories with patch to "only test log.err when Twisted is new enough to let us ignore the generated errors" 2007-12-03 15:25:14 -07:00
Brian Warner
cc1612aee5 hierarchical logging: add numbered messages and parent= args 2007-11-19 18:23:18 -07:00
Brian Warner
ce0609d29b test_client: stall 2.0s between shutdown and restart, trying to fix cygwin 2007-11-18 20:41:26 -07:00
Brian Warner
5e4b63e981 logpublisher: hush pyflakes warning 2007-11-16 20:14:46 -07:00
Brian Warner
b29ce1c30a logpublisher: implement subscribe/publish for log, add a sample client 2007-11-16 20:07:50 -07:00
Brian Warner
c2765bd8c6 mutable: fix control flow to allow good+bad shares from a peer. Fixes #211. 2007-11-16 17:12:33 -07:00
Brian Warner
2fc5247996 node.py: try to fix rlimit-setting again 2007-11-16 16:12:38 -07:00
Brian Warner
0900f328b7 node.py: try rlimit fix again 2007-11-15 23:09:02 -07:00
Brian Warner
d5c0a85c68 node.py: try to fix RLIMIT_NOFILE on solaris too 2007-11-15 23:06:44 -07:00
Brian Warner
c6df66d736 node.py: raise RLIMIT_NOFILE on bsd/cygwin to more than 256 2007-11-15 22:53:55 -07:00
Brian Warner
8a2736480a test_mutable: workaround: use more peers to avoid random test failures.
The underlying issue is recorded in #211: one corrupt share in a query
response will cause us to ignore the remaining shares in that response, even
if they are good. In our tests (with N=10 but only 5 peers), this can leave
us with too few shares to recover the file.

The temporary workaround is to use 10 peers, to make sure we never get
multiple shares per response. The real fix will be to fix the control flow.

This fixes #209.
2007-11-15 14:55:00 -07:00
Brian Warner
8742f2806d mutable: add more logging to retrieval process 2007-11-15 14:22:56 -07:00
Brian Warner
3dfe8783cb provisioning: add more options for num-servers and server-dBA 2007-11-15 13:40:49 -07:00
Brian Warner
e3037a7541 mutable: validate share_hash_chain for each inbound share 2007-11-14 15:26:46 -07:00
Zooko O'Whielacronx
8fee58fcba merge patch to integrate decentralized directories with patch to handle bad hashes 2007-12-03 15:21:14 -07:00
Brian Warner
d6f2dbbac7 mutable: handle bad hashes, improve test coverage, rearrange slightly to facilitate these 2007-11-13 23:08:15 -07:00
Zooko O'Whielacronx
59d6c3c822 decentralized directories: integration and testing
* use new decentralized directories everywhere instead of old centralized directories
 * provide UI to them through the web server
 * provide UI to them through the CLI
 * update unit tests to simulate decentralized mutable directories in order to test other components that rely on them
 * remove the notion of a "vdrive server" and a client thereof
 * remove the notion of a "public vdrive", which was a directory that was centrally published/subscribed automatically by the tahoe node (you can accomplish this manually by making a directory and posting the URL to it on your web site, for example)
 * add a notion of "wait_for_numpeers" when you need to publish data to peers, which is how many peers should be attached before you start.  The default is 1.
 * add __repr__ for filesystem nodes (note: these reprs contain a few bits of the secret key!)
 * fix a few bugs where we used to equate "mutable" with "not read-only".  Nowadays all directories are mutable, but some might be read-only (to you).
 * fix a few bugs where code wasn't aware of the new general-purpose metadata dict the comes with each filesystem edge
 * sundry fixes to unit tests to adjust to the new directories, e.g. don't assume that every share on disk belongs to a chk file.
2007-12-03 14:52:42 -07:00
Zooko O'Whielacronx
7b24eebd0a unit tests: bump up a timeout which I encountered when running on a very slow machine 2007-11-29 14:47:35 -07:00
Zooko O'Whielacronx
a50cea61bd remove tahoe_put-web2ish.py
It isn't currently used, and I don't remember what part of its behavior was so much better than tahoe_put.py, and Brian has subsequently improved tahoe_put.py.
2007-11-19 14:07:28 -07:00
Zooko O'Whielacronx
ae727a550a IMutableFileNode is a subtype of IFileNode
I'm not 100% sure that this is correct, but it looks reasonable, it passes unit
tests (although note that unit tests are currently not covering the new mutable
files very well), and it makes the "view JSON" link on a directory work instead
of raising an assertion error.
2007-11-10 16:37:18 -07:00
Zooko O'Whielacronx
35aea346d3 don't provide the "overwrite" button if the file is readonly to you 2007-11-10 16:07:05 -07:00
Zooko O'Whielacronx
85b972a4c3 WUI: hook up an "overwrite" button on mutable files 2007-11-10 10:53:45 -07:00
Zooko O'Whielacronx
97de6a03d2 remove parts of pycrypto that we are no longer going to use: SHA256 and RSA 2007-11-09 18:21:12 -07:00
Zooko O'Whielacronx
f6451deb74 mutable.py: fix padding/shape-of-input-data to zfec 2007-11-09 18:06:25 -07:00
Zooko O'Whielacronx
3c7f96400d hashutil.py: switch from pycrypto to pycryptopp SHA256 2007-11-09 14:40:13 -07:00
Brian Warner
1f22768dc7 webish: add preliminary mutable file support: upload, download, listings, JSON, URI, RO-URI. No replace yet. 2007-11-09 03:54:27 -07:00
Brian Warner
63233ecf37 consolidate dirnode/filenode-creation code into Client 2007-11-09 02:54:51 -07:00
Brian Warner
61d9ab7690 mutable: cheap padding hack to make zfec tolerate short files 2007-11-08 04:30:37 -07:00
Brian Warner
30a91c84c8 mutable: verify incoming share signatures during Publish, it's not that expensive and it's a good idea 2007-11-08 14:02:36 -07:00
Brian Warner
a4606d6560 test_system: RSA keys are even more variable than I thought, 2044..2049 2007-11-08 05:04:11 -07:00
Brian Warner
2eaa4195cf mutable: add basic test coverage of new-dirnodes-using-mutable-files 2007-11-08 04:31:00 -07:00
Brian Warner
c538e2b020 mutable: fix multiple-versions-interfering-with-each-other bug. replace() tests now pass. 2007-11-08 04:07:33 -07:00
Brian Warner
0ad7ff48fa test_system: RSA keys vary in size, expand valid ranges in test 2007-11-08 03:01:13 -07:00
Brian Warner
e7ad7f8791 mutable: grab encprivkey when necessary during publish, fix test_mutable 2007-11-08 02:46:27 -07:00
Brian Warner
09fd2dfb3a mutable: rearrange order of Publish to allow replace() to work. Doesn't work yet. Also test_mutable is disabled for a while. 2007-11-07 21:01:39 -07:00
Brian Warner
247bfe8d58 mutable: fix usage of NeedMoreDataError 2007-11-07 17:52:09 -07:00
Brian Warner
c783128012 mutable: wire in RSA for real, using pycryptopp 2007-11-07 17:51:35 -07:00
Brian Warner
30e7ca06f5 mutable: make error handling more robust 2007-11-07 17:45:45 -07:00
Zooko O'Whielacronx
f60dc4adfb UNDO: hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256 2007-11-07 18:02:39 -07:00
Zooko O'Whielacronx
11412da436 hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256 2007-11-07 18:02:39 -07:00
Brian Warner
be94960680 mutable: test roundtrip, make it work 2007-11-07 14:19:01 -07:00
Brian Warner
ba43c033fa storage.py: add a little logging (disabled) 2007-11-07 14:14:54 -07:00
Zooko O'Whielacronx
3c222bbe26 setup: print out the version number of pycryptopp in "tahoe --version" 2007-11-07 10:11:56 -07:00
Brian Warner
a46e64b0bb test_system.mutable: make sure we exercise FEC padding 2007-11-06 19:50:33 -07:00
Brian Warner
cc5d35cc07 dump-share: emit SDMF information too 2007-11-06 19:46:31 -07:00
Brian Warner
fdbe692810 add container_size to mutable dump-share output 2007-11-06 19:31:22 -07:00
Brian Warner
8be9ef5149 mutable: stub out pubkey creation until we wire in pycryptopp properly 2007-11-06 19:27:06 -07:00
Brian Warner
ddf4d23bef test_system.mutable: add test coverage for the 'dump-share' debug command 2007-11-06 19:10:49 -07:00
Brian Warner
bc8605ad39 test_system: add early test for mutable slots, currently publish-only 2007-11-06 18:57:11 -07:00
Brian Warner
530085df4a test_mutable: remove dead code 2007-11-06 18:56:39 -07:00
Brian Warner
0b2f62466b debug: add mutable-slot support to 'dump-share' command 2007-11-06 18:55:55 -07:00
Brian Warner
5739126d11 mutable: storage_index is always 16 bytes 2007-11-06 18:54:34 -07:00
Brian Warner
7e43c7b5f9 mutable: fix use of storage API 2007-11-06 18:53:34 -07:00
Brian Warner
c4f7412f1c stabilize on 20-byte nodeids everywhere, printed with foolscap's base32 2007-11-06 18:49:59 -07:00
Brian Warner
7cf9a13f2a mutable: rearrange classes, putting MutableFileNode at the bottom 2007-11-06 15:19:48 -07:00
Brian Warner
c595f6ccd0 mutable: parameterize Publish/Retrieve classes in MutableFileNode, for tests 2007-11-06 15:18:09 -07:00
Brian Warner
2ed394e471 mutable: move IV into signed prefix, add more retrieval code 2007-11-06 15:04:46 -07:00
Brian Warner
207888a97b mutable: get most of the retrieve-side code written. no tests yet. 2007-11-06 03:47:29 -07:00
Brian Warner
a431411418 test_mutable.py: hush pyflakes 2007-11-06 01:32:39 -07:00
Brian Warner
85a56a3d74 mutable.Publish: rearrange create() to use more of it in unit tests 2007-11-06 00:33:40 -07:00
Brian Warner
8cdda6e199 mutable.Publish: more tests 2007-11-05 22:38:43 -07:00
Brian Warner
281afe7cfc mutable.Publish: create a dispatch_map for the benefit of recovery code, and pull pack/unpack methods out into functions 2007-11-05 22:14:59 -07:00
Brian Warner
59632c6812 mutable: use proper enable/renew/cancel secrets 2007-11-05 21:51:08 -07:00
Brian Warner
fade06ef4d mutable: added send-messages-to-peers code, about 70% done. No recovery code yet. 2007-11-05 21:29:47 -07:00
Brian Warner
e08b091d9f storage: rewrite slot API, now use testv_and_readv_and_writev or readv 2007-11-05 20:17:14 -07:00
Brian Warner
95a3da92fe test_mutable: hush pyflakes warning 2007-11-05 00:41:53 -07:00
Brian Warner
27b67ef0d6 mutable: add peer-selection to Publish, and some basic unit tests 2007-11-05 00:38:07 -07:00
Brian Warner
8f21424449 storage: add readv_slots: get data from all shares 2007-11-05 00:37:01 -07:00
Brian Warner
6137329f05 mutable.py: start writing share-mapping code 2007-11-02 22:59:02 -07:00
Brian Warner
6e5b799d46 mutable.py: add share-unpacking code, use it for more tests 2007-11-02 22:28:31 -07:00
Brian Warner
78c45c82d1 mutable: implement filenode share-packing, still pretty rough 2007-11-02 20:51:39 -07:00
Brian Warner
6510510ea7 mutable.py: sketch out data-structure packing/unpacking methods 2007-11-02 00:03:28 -07:00
Brian Warner
d772ea850d mutable: split dirnode stuff out to dirnode2.py, will be renamed later 2007-11-01 23:46:47 -07:00
Brian Warner
1158c4aae5 test_client: increase test_reloadable inter-run timeout, cygwin was failing 2007-11-01 19:19:08 -07:00
Brian Warner
f1c3ff62c1 mutable: improve NewDirectoryNode test coverage 2007-11-01 18:35:54 -07:00
Brian Warner
d777283e9e implement preliminary log publisher/gatherer
This creates a Referenceable object that will eventually be able to publish
log events to a remote subscriber (at present all it can do is provide
version information). The FURL for this logport is written to 'logport.furl'.

In addition, if a file named 'log_gatherer.furl' is present, the given target
will be contacted and offered access to the logport. This can be used by a
centralized logging agent to subscribe to logs, e.g. from all the nodes in a
centrally-maintained storage grid. (think syslog -r, but with all the
security properties of FURLs, and permitting non-printable strings and
structured data).

Once this framework matures a bit, it will be moved into Foolscap.
2007-11-01 17:29:15 -07:00
Brian Warner
97f4d8c524 Client.tub_ready: upcall to Node 2007-11-01 17:27:12 -07:00
Brian Warner
36921fedb3 mutable: implement most remaining dirnode methods. No tests yet. 2007-11-01 16:57:58 -07:00
Brian Warner
57373c9889 bencode.py: reencode as UTF-8 2007-11-01 15:42:57 -07:00
Brian Warner
4423bc7510 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:35 -07:00
Brian Warner
c63b43bdbc trailing-whitespace eradication, no functional changes 2007-11-01 15:34:31 -07:00
Brian Warner
f714c5915a trailing-whitespace eradication, no functional changes 2007-11-01 15:34:28 -07:00
Brian Warner
f425ee3600 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:21 -07:00
Brian Warner
6849647856 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:18 -07:00
Brian Warner
4eab5bb50d trailing-whitespace eradication, no functional changes 2007-11-01 15:34:12 -07:00
Brian Warner
e304c74f8f trailing-whitespace eradication, no functional changes 2007-11-01 15:34:07 -07:00
Brian Warner
a037049188 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:01 -07:00
Brian Warner
516ce89a1e trailing-whitespace eradication, no functional changes 2007-11-01 15:33:47 -07:00
Brian Warner
9cd3eaec1e trailing-whitespace eradication, no functional changes 2007-11-01 15:33:41 -07:00
Brian Warner
ef546da72b trailing-whitespace eradication, no functional changes 2007-11-01 15:29:31 -07:00
Brian Warner
8d000aa1ec trailing-whitespace eradication, no functional changes 2007-11-01 15:29:28 -07:00
Brian Warner
8390d83322 trailing-whitespace eradication, no functional changes 2007-11-01 15:29:17 -07:00
Brian Warner
8465e99fe4 trailing-whitespace eradication, no functional changes 2007-11-01 15:29:12 -07:00
Brian Warner
3425cd9202 trailing-whitespace eradication, no functional changes 2007-11-01 15:29:03 -07:00
Brian Warner
433802f5ca trailing-whitespace eradication, no functional changes 2007-11-01 15:28:58 -07:00
Brian Warner
bf29cb38ed trailing-whitespace eradication, no functional changes 2007-11-01 15:28:54 -07:00
Brian Warner
f192ffc18d trailing-whitespace eradication, no functional changes 2007-11-01 15:28:50 -07:00
Brian Warner
fb59627faa trailing-whitespace eradication, no functional changes 2007-11-01 15:25:20 -07:00
Brian Warner
5e974ede20 trailing-whitespace eradication, no functional changes 2007-11-01 15:25:16 -07:00
Brian Warner
164da05ead trailing-whitespace eradication, no functional changes 2007-11-01 15:25:12 -07:00
Brian Warner
284b3e77e0 trailing-whitespace eradication, no functional changes 2007-11-01 15:25:09 -07:00
Brian Warner
1889af0e61 trailing-whitespace eradication, no functional changes 2007-11-01 15:25:04 -07:00
Brian Warner
20af973272 trailing-whitespace eradication, no functional changes 2007-11-01 15:25:00 -07:00
Brian Warner
f4946bc22e trailing-whitespace eradication, no functional changes 2007-11-01 15:22:57 -07:00
Brian Warner
828e2734e6 trailing-whitespace eradication, no functional changes 2007-11-01 15:22:47 -07:00
Brian Warner
d06d4f302f trailing-whitespace eradication, no functional changes 2007-11-01 15:22:41 -07:00
Brian Warner
1e76e9267b trailing-whitespace eradication, no functional changes 2007-11-01 15:22:38 -07:00
Brian Warner
1d8a4cdfe7 mutable: first pass at dirnodes, filenodes, new URIs. Some test coverage.
The URI typenames need revision, and only a few dirnode methods are
implemented. Filenodes are non-functional, but URI/key-management is in
place. There are a lot of classes with names like "NewDirectoryNode" that
will need to be rename once we decide what (if any) backwards compatibility
want to retain.
2007-11-01 15:15:29 -07:00
Brian Warner
fb3eddafdb move NotMutableError from dirnode.py into interfaces.py 2007-11-01 15:03:07 -07:00
Brian Warner
bcf84c1238 storage.py: fix tests, timestamps get updated when leases are renewed 2007-10-31 12:31:33 -07:00
Brian Warner
70e7961088 storage.py: more test coverage, make sure leases survive resizing 2007-10-31 12:07:47 -07:00
Brian Warner
948e6b34dd storage.py: improve test coverage even more 2007-10-31 01:44:01 -07:00
Brian Warner
4bd739435f storage.py: more mutable-slot coverage, renewing/cancelling leases 2007-10-31 01:31:56 -07:00
Brian Warner
f9a72e0e75 test_node.py: more coverage of Node.log 2007-10-31 00:56:59 -07:00
Brian Warner
22e3487b9e test_node.py: improve test coverage of node.py 2007-10-31 00:54:42 -07:00
Brian Warner
256ef1bf53 mutable slots: add some test coverage for lease-addition 2007-10-31 00:38:30 -07:00
Brian Warner
68d3d62002 mutable slots: finish up basic coding on server-side containers, add some tests. Remove all caching from MutableShareFile. 2007-10-31 00:10:40 -07:00
Brian Warner
b24c2925e8 checkpointing mutable-file work. Storage layer is 80% in place. 2007-10-30 19:47:36 -07:00
Brian Warner
b257f905a0 webish.py: handle asynchronous checker results.
Thanks to robk for pointing out that Nevow will accept a Deferred almost
everywhere. In this case, we just pass a Deferred into ctx.fillSlots(). One
quirk: nevow doesn't evaluate all rows of the table in parallel: using a slow
Deferred in a slot in one row seems to stall the next row until that one has
fired, probably to simplify the flattening of the HTML.
2007-10-30 17:00:37 -07:00
Brian Warner
5491339912 'tahoe stop': use SIGKILL, clean up twistd.pid ourselves, wait forever 2007-10-29 11:43:35 -07:00
Brian Warner
3d0ed4b0a9 checker.checker_results_for: ignore uris of 'None' 2007-10-26 18:38:37 -07:00
Brian Warner
42bd2bcf8e webish: tolerate not having a checker, since some unit tests don't make one 2007-10-23 17:35:31 -07:00
Brian Warner
046bda2b47 webish: add checker results and a 'Check' button to the web interface 2007-10-23 17:23:57 -07:00
Brian Warner
afca99c485 interfaces: clarify IChecker.checker_results_for a bit 2007-10-22 18:10:46 -07:00
Brian Warner
57f994fb02 checker: remember checker results, but only in ram for now 2007-10-22 17:46:24 -07:00
Brian Warner
81c818f90c checker.py: rearrange classes a little bit 2007-10-22 16:19:18 -07:00
Brian Warner
e992fed1f5 cli: improve test coverage 2007-10-21 12:33:17 -07:00
Brian Warner
afcc8107af tahoe_ls: list individual files 2007-10-21 12:33:06 -07:00
Brian Warner
aff059dd4b checker: return more information per CHK file, including the shareholder list 2007-10-17 02:25:50 -07:00
Brian Warner
d1f13fd117 add an equally-simple file-verifier 2007-10-16 12:25:09 -07:00
Brian Warner
6160af5f50 encode.py: update comments, max_segment_size is now 2MiB 2007-10-16 11:00:29 -07:00
Brian Warner
9da1d70676 add a simple checker, for both files and directories 2007-10-15 16:16:39 -07:00
Zooko O'Whielacronx
81c56b8e53 shush, pyflakes 2007-10-26 18:53:21 -07:00
Zooko O'Whielacronx
d7af8ae677 improve code coverage by removing untested raise RuntimeError and replacing it with tested assert 2007-10-26 18:37:40 -07:00
Zooko O'Whielacronx
81e0820904 cli: use urllib.quote() on vdrive-path arguments before passing them through HTTP 2007-10-26 18:30:44 -07:00
czooko
d589c385e6 make the anchor text in the WUI be descriptive of the target -- not "Click Here!"! 2007-10-22 16:56:30 -07:00
czooko
5f9f54c11c trivial change to comment -- sentences start with a capital letter and end with a punctuation mark
I've been volunteering in Irby's first-grade class, and you do NOT get a star
on your Power Sentences worksheet unless you follow this rule.
2007-10-22 16:55:20 -07:00
czooko
3847228444 patch the LogObserver in a more modern, forward-compatible way and update the in-line comments about it 2007-10-22 16:52:55 -07:00
Zooko O'Whielacronx
74f52d79f2 tests: make test_encode specify the erasure coding params it wants instead of expecting the defaults to be what it wants 2007-10-15 20:07:42 -07:00
Zooko O'Whielacronx
426721f3f2 update a few documents, comments, and defaults to mention 3-of-10 instead of 25-of-100 2007-10-15 19:53:59 -07:00
Zooko O'Whielacronx
bba7b81456 startstop_node: use the new find_exe module 2007-10-15 10:25:15 -07:00
Zooko O'Whielacronx
5b476d73ee setup: generalize the kludge of finding an executable (i.e. trial or twistd) when there might be only a .py script version of it available 2007-10-15 10:25:04 -07:00
Zooko O'Whielacronx
fbc5bdf607 remove unused imports (thanks, pyflakes) 2007-10-15 08:32:21 -07:00
Zooko O'Whielacronx
83d7eb23e6 remove a file accidentally left over from the experiment in using sqlite to maintain lease information 2007-10-14 20:57:59 -07:00
Zooko O'Whielacronx
ed84534c5b a slightly nicer method of computing our timestamp format 2007-10-14 20:46:51 -07:00
Zooko O'Whielacronx
240de64598 install our custom timestamp formats in a less disruptive way
The unit tests on Windows fail because trial is attempting to remove its own
log observer during teardown.  This patch customizes the extant log observer
object by replacing its formatTime method with our own.

I first tried the approach of storing their log observer object and putting it
back during teardown, but it didn't work (perhaps because our node object
doesn't get a chance to do its deferred stopService behavior in time), and
anyway I generally prefer the "fail-safe", or "crash-only" design.
2007-10-14 20:43:11 -07:00
Brian Warner
07b03bd55b test_runner.RunNode: pass an explicit webport, to avoid using 8123 (which might be in used by a running node). Closes #175. 2007-10-13 16:06:39 -07:00
Zooko O'Whielacronx
af0edec753 filter out "0.0.0.0" from detected IP addresses 2007-10-13 00:38:16 -07:00
Brian Warner
f0e727867a cli: simplify code by using stdlib's httplib module 2007-10-11 22:29:23 -07:00
Brian Warner
4361b32f2d cli: implement 'mv'. Closes #162. 2007-10-11 20:31:48 -07:00
Brian Warner
3709b343ab tahoe_get.py: remove unused import 2007-10-11 19:47:40 -07:00
Brian Warner
8985b6565d cli: add test coverage 2007-10-11 19:20:41 -07:00
Brian Warner
654bbbed8f node.py: fix timestamps (add ms and Z) by replacing the FileLogObserver. #171. 2007-10-11 17:30:07 -07:00
Brian Warner
479abae92f cli: fix usage to refer to 'tahoe', not 'allmydata'. Closes #154. 2007-10-11 15:37:52 -07:00
Brian Warner
e1f604f7cd change our default HTTP port to 8123 2007-10-11 13:17:23 -07:00
Brian Warner
dc573554c8 rename bin/allmydata-tahoe to bin/tahoe. Closes #155. 2007-10-11 03:38:24 -07:00
Brian Warner
ee72a5adfd rename client.tac to tahoe-client.tac, so that 'ps ax|grep tahoe' works. Closes #156. 2007-10-11 02:48:06 -07:00
Brian Warner
34a25b9b28 node.py: don't append 'Z' to the timestamp, since it's really localtime. We need deeper changes to make it be UTC 2007-10-11 02:24:17 -07:00
Brian Warner
6ed8664c7f check_memory.py: don't use self.keepalive_file until it's been initialized 2007-10-11 02:20:20 -07:00
Brian Warner
a76898244b create_node.py: allow config['webport'] to be missing, for check_memory 2007-10-11 02:19:59 -07:00
Brian Warner
1b406f3c32 node.py: set logging timestamp to '2007-10-11 02:11:14.000Z', per ticket #171. No milliseconds yet, though 2007-10-11 02:13:05 -07:00
Brian Warner
0f000784ce create_node: use a webport by default, on localhost:8011 2007-10-11 02:01:23 -07:00
Brian Warner
8ce93b5e27 test_cli.py: hush pyflakes with a dummy usage, until we get some real CLI tests 2007-10-11 01:55:29 -07:00
Brian Warner
7fd1964c6f runner: make most commands use ~/.tahoe by default (create-client, start/stop/restart, all CLI tools, but *not* create-introducer 2007-10-11 01:54:23 -07:00
Brian Warner
a29ab33379 webish: write node.url, for the benefit of CLI tools 2007-10-11 01:38:04 -07:00
Brian Warner
a470947cc3 cli: use urllib.escape on all URIs 2007-10-11 01:34:44 -07:00
Brian Warner
5b28411b04 cli: add --node-directory and --root-uri to all commands 2007-10-11 00:30:36 -07:00
Brian Warner
ec8781e587 'tahoe restart': re-enable --force option, which was accidentally lost 2007-10-10 20:10:03 -07:00
Zooko O'Whielacronx
021b5d4f2a more information SkipTest for XMLRPC 2007-10-04 11:07:46 -07:00
Brian Warner
8fa19fa273 check_speed: average multiple pings when measuring RTT 2007-09-26 18:16:15 -07:00
Brian Warner
51b59b1219 dump-share: clarify the label on the size of the original file 2007-09-26 15:00:59 -07:00
Brian Warner
3fcee101ee check_speed: measure RTT, report per-file times as a multiple of RTT 2007-09-26 13:07:33 -07:00
Brian Warner
c301b41f50 control: add measure_peer_response_time(), to estimate RTT for the mesh 2007-09-26 12:21:15 -07:00
Brian Warner
c10da1e1ef client.py: add the missing remote_get_nodeid() method claimed in interfaces.py 2007-09-26 12:20:48 -07:00
Brian Warner
0596b9fe19 test_system.py minor typo 2007-09-26 12:07:37 -07:00
Brian Warner
0cfed96796 test_system.py: add coverage for allmydata.control 2007-09-26 12:06:55 -07:00
Brian Warner
aafccf7008 test_client.py: add TODO to test the hotline-timeout file 2007-09-25 21:03:54 -07:00
Brian Warner
c14349f695 check_speed.py: minor comment 2007-09-25 20:07:03 -07:00
Brian Warner
e05311f69a client.py: increase hotline timeout, the check_memory test is failing 2007-09-25 19:22:33 -07:00
Brian Warner
1691524044 check_speed.py: use more small-file tests to improve accuracy of per-file time 2007-09-25 18:57:36 -07:00
Brian Warner
50415cf9c4 check_memory: more keepalive-file debug messages 2007-09-25 18:47:48 -07:00
Brian Warner
8d7368f748 check_memory: put framework log in a stable place, add debug code to figure
out why the keepalive-file isn't doing its job
2007-09-25 18:26:54 -07:00
Brian Warner
9b09fd3bf1 test_system.py: do one upload, then test debug scripts, then do other uploads 2007-09-24 18:12:37 -07:00
Zooko O'Whielacronx
e3d782da52 cli: use port 8123 as the example port number 2007-09-24 13:17:27 -07:00
Zooko O'Whielacronx
93efd2902e startstop_node.py: use SIGINT instead of SIGTERM to stop the node (fixes #143) 2007-09-23 07:06:54 -07:00
Zooko O'Whielacronx
a18f7aa6d5 fix test_vdrive (fixes #144)
It turns out that we actually have *two* files in our storage servers at the 
time that test_vdrive asserts things about the shares.  I suppose that 
test_vdrive happens to pass on all other operating systems because the 
filesystem happens to return the right share as the first one in a 
"listdir()".  The fix in this patch is slightly kludgey -- allow either share 
to pass -- but good enough.
2007-09-22 15:26:27 -07:00
Brian Warner
ff07ce6234 check_speed: add optional 100MB test, if the 10MB test finished fast enough 2007-09-22 00:04:46 -07:00
Brian Warner
325c7a7bfa node.py: chmod the foolscap private key (node.pem) to 0600, since it's secret 2007-09-21 16:52:55 -07:00
Zooko O'Whielacronx
594a104c71 startstop_node.py: fix bug with options passed to restart and enable restart --profile 2007-09-21 15:48:15 -07:00
Zooko O'Whielacronx
3e4616f4ad cli: add --profile flag 2007-09-21 15:03:47 -07:00
Zooko O'Whielacronx
20079e3019 startstop_node.py: don't pass config to do_start() and do_stop() 2007-09-21 15:03:15 -07:00
Zooko O'Whielacronx
28b2c19f1e startstop_node.py: find twistd.py in sys.prefix/scripts if there isn't a twistd executable on the path 2007-09-21 14:45:20 -07:00
Brian Warner
1c29065f1c check_memory: touch the hotline file more often, to avoid accidental timeout 2007-09-20 19:35:31 -07:00
Brian Warner
d58d794757 check_speed: do both upload and download tests 2007-09-20 18:52:44 -07:00
Brian Warner
2632c0ad8c check_speed: upload multiple files, measure Ax+B 2007-09-20 16:55:33 -07:00
Zooko O'Whielacronx
f0b427485b startstop_node.py: remove debug printout which breaks unit tests 2007-09-20 17:02:36 -07:00
Zooko O'Whielacronx
c2e310825d startstop_node.py: improve the hack of launching twistd
Thanks to Brian for helping me figure out the cleaner way to do this: take the 
first result from which("twistd"), and if it has the extension ".bat" or 
".exe" then execute it, else execute python and give it as the first argument.
2007-09-20 12:37:50 -07:00
Brian Warner
3774ce59ea check_memory: fix race condition for startup of in-process server nodes 2007-09-20 15:33:58 -07:00
Brian Warner
77fae0b338 check_memory.py: record initial memory usage (before any connections are made) 2007-09-20 12:36:27 -07:00
Brian Warner
b9d5a4ead4 check_speed.py: run two 1MB uploads and measure the time it takes 2007-09-19 18:40:18 -07:00