Ticket #1382: interfaces.dpatch

File interfaces.dpatch, 35.0 KB (added by kevan, at 2011-04-24T02:38:27Z)

update IPeerSelector definition

Line 
1Sun Apr  3 16:10:13 PDT 2011  Kevan Carstensen <kevan@isnotajoke.com>
2  * interfaces: Create "IPeerSelector", an interface for an abstract peer selection class.
3
4New patches:
5
6[interfaces: Create "IPeerSelector", an interface for an abstract peer selection class.
7Kevan Carstensen <kevan@isnotajoke.com>**20110403231013
8 Ignore-this: 1497fe24e96d1ed978a214e496f644a2
9] hunk ./src/allmydata/interfaces.py 606
10     """I am a node which represents a file: a sequence of bytes. I am not a
11     container, like IDirectoryNode."""
12 
13+class IPeerSelector(Interface):
14+    """
15+    I select peers for an upload, maximizing some measure of health.
16+
17+    I keep track of the state of a grid relative to a file. This means
18+    that I know about all of the peers that parts of that file could be
19+    placed on, and about shares that have been placed on those peers.
20+    Given this, I assign shares to peers in a way that maximizes the
21+    file's health according to whichever definition of health I am
22+    programmed with. I tell the uploader whether or not my assignment is
23+    healthy. I keep track of failures during the process and update my
24+    conclusions appropriately.
25+    """
26+    def add_peer_with_share(peerid, shnum):
27+        """
28+        Update my internal state to reflect the fact that peer peerid
29+        holds share shnum. Called for shares that are detected before
30+        peer selection begins.
31+        """
32+
33+    def confirm_share_allocation(peerid, shnum):
34+        """
35+        Confirm that an allocated peer=>share pairing has been
36+        successfully established.
37+        """
38+
39+    def add_peers(peerids=set):
40+        """
41+        Update my internal state to include the peers in peerids as
42+        potential candidates for storing a file.
43+        """
44+
45+    def mark_full_peer(peerid):
46+        """
47+        Mark the peer peerid as full. This means that any
48+        peer-with-share relationships I know about for peerid remain
49+        valid, but that peerid will not be assigned any new shares.
50+        """
51+
52+    def mark_bad_peer(peerid):
53+        """
54+        Mark the peer peerid as bad. This is typically called when an
55+        error is encountered when communicating with a peer. I will
56+        disregard any existing peer => share relationships associated
57+        with peerid, and will not attempt to assign it any more shares.
58+        """
59+
60+    def get_share_assignments(shallow=False):
61+        """
62+        Given what I know about the state of the grid, I'll attempt to
63+        assign shares to peers in a way that maximizes my definition of
64+        file health. I'll return a list of (share, peerid) tuples with
65+        my decision.
66+
67+        I have an optional shallow parameter. If True, I will not
68+        attempt to assign any new shares before checking happiness;
69+        instead, I will rely only on the shares that I know are already
70+        placed.
71+        """
72+
73+    def is_healthy():
74+        """
75+        I return whether the share assignments I'm currently using
76+        reflect a healthy file, based on my internal definitions.
77+        """
78+
79+    def needs_recomputation():
80+        """
81+        I return True if the share assignments I last returned may have
82+        become stale. This is a hint to the caller that they should call
83+        get_share_assignments again.
84+        """
85+
86 class IImmutableFileNode(IFileNode):
87     def read(consumer, offset=0, size=None):
88         """Download a portion (possibly all) of the file's contents, making
89
90Context:
91
92[refactor: s/peer/server/ in immutable/upload, happinessutil.py, test_upload
93warner@lothar.com**20110227011100
94 Ignore-this: 7ea858755cbe5896ac212a925840fe68
95 
96 No behavioral changes, just updating variable/method names and log messages.
97 The effects outside these three files should be minimal: some exception
98 messages changed (to say "server" instead of "peer"), and some internal class
99 names were changed. A few things still use "peer" to minimize external
100 changes, like UploadResults.timings["peer_selection"] and
101 happinessutil.merge_peers, which can be changed later.
102] 
103[storage_client.py: clean up test_add_server/test_add_descriptor, remove .test_servers
104warner@lothar.com**20110227011056
105 Ignore-this: efad933e78179d3d5fdcd6d1ef2b19cc
106] 
107[test_client.py, upload.py:: remove KiB/MiB/etc constants, and other dead code
108warner@lothar.com**20110227011051
109 Ignore-this: dc83c5794c2afc4f81e592f689c0dc2d
110] 
111[test: increase timeout on a network test because Francois's ARM machine hit that timeout
112zooko@zooko.com**20110317165909
113 Ignore-this: 380c345cdcbd196268ca5b65664ac85b
114 I'm skeptical that the test was proceeding correctly but ran out of time. It seems more likely that it had gotten hung. But if we raise the timeout to an even more extravagant number then we can be even more certain that the test was never going to finish.
115] 
116[docs/configuration.rst: add a "Frontend Configuration" section
117Brian Warner <warner@lothar.com>**20110222014323
118 Ignore-this: 657018aa501fe4f0efef9851628444ca
119 
120 this points to docs/frontends/*.rst, which were previously underlinked
121] 
122[web/filenode.py: avoid calling req.finish() on closed HTTP connections. Closes #1366
123"Brian Warner <warner@lothar.com>"**20110221061544
124 Ignore-this: 799d4de19933f2309b3c0c19a63bb888
125] 
126[Add unit tests for cross_check_pkg_resources_versus_import, and a regression test for ref #1355. This requires a little refactoring to make it testable.
127david-sarah@jacaranda.org**20110221015817
128 Ignore-this: 51d181698f8c20d3aca58b057e9c475a
129] 
130[allmydata/__init__.py: .name was used in place of the correct .__name__ when printing an exception. Also, robustify string formatting by using %r instead of %s in some places. fixes #1355.
131david-sarah@jacaranda.org**20110221020125
132 Ignore-this: b0744ed58f161bf188e037bad077fc48
133] 
134[Refactor StorageFarmBroker handling of servers
135Brian Warner <warner@lothar.com>**20110221015804
136 Ignore-this: 842144ed92f5717699b8f580eab32a51
137 
138 Pass around IServer instance instead of (peerid, rref) tuple. Replace
139 "descriptor" with "server". Other replacements:
140 
141  get_all_servers -> get_connected_servers/get_known_servers
142  get_servers_for_index -> get_servers_for_psi (now returns IServers)
143 
144 This change still needs to be pushed further down: lots of code is now
145 getting the IServer and then distributing (peerid, rref) internally.
146 Instead, it ought to distribute the IServer internally and delay
147 extracting a serverid or rref until the last moment.
148 
149 no_network.py was updated to retain parallelism.
150] 
151[TAG allmydata-tahoe-1.8.2
152warner@lothar.com**20110131020101] 
153[update docs for the 1.8.2 release
154"Brian Warner <warner@lothar.com>"**20110131015945] 
155[SFTP: report unknown sizes as "0" instead of "?", to satisfy some clients. fixes #1337
156david-sarah@jacaranda.org**20110128062249
157 Ignore-this: 6e243b1d2347f40f066c98605f644fe
158] 
159[Change tests for check_requirement to ensure that it accepts None in the comment field of a (version, location, comment) triple, and add a test that it raises ImportError when a module couldn't be imported. Also fix typo in a comment. refs #1339
160david-sarah@jacaranda.org**20110128192452
161 Ignore-this: 6a2076808827d77b7f42467b05440937
162] 
163[setup: comment out the setup_requires on setuptools_darcs in order to work-around distribute bug 55
164zooko@zooko.com**20110131000420
165 Ignore-this: d27941bd6e5d38882c5b516e72e4002c
166 Note that we still inject the setuptools_darcs egg at the beginning of setup.py, which makes the setuptools_darcs plugin work when building dists from tahoe-lafs source so those dists have all of the needed files.
167 http://bitbucket.org/tarek/distribute/issue/55/revision-control-plugin-automatically-installed-as-a-build-dependency-is-not-present-when-another-build-dependency-is-being
168] 
169[docs: edit running.html, change "http://allmydata.org" to "http://tahoe-lafs.org" in NEWS and README.txt, add Josh Wilcox to CREDITS for his contribution of doc patches
170zooko@zooko.com**20110128150700
171 Ignore-this: 133a97d7c9e9401f2754d83f64733d1d
172] 
173[setup: adjust tests to use the new interface of check_requirement which has a 3-tuples instead of a 2-tuple
174zooko@zooko.com**20110128141546
175 Ignore-this: d4c6197c78c156e7ae3c3444d81db9ed
176 fixes #1339
177] 
178[src/allmydata/__init__.py: fix #1339, give an indication in the --version[-and-path] output of when the imported setuptools is distribute, and use a separate element in _vers_and_locs_list tuples for information other than the package name and location. This also changes slightly how the sqlite version is reported.
179david-sarah@jacaranda.org**20110128054150
180 Ignore-this: 47e8d2afed1f8114681e9094dc93276
181] 
182[TAG allmydata-tahoe-1.8.2b1
183warner@lothar.com**20110126061431] 
184[update NEWS with all significant user-visible changes since last release
185Brian Warner <warner@lothar.com>**20110126060439
186 Ignore-this: b2c33b1d6d17ebab9aff42e355f760bc
187] 
188[docs/configuration.rst: fix a typo in the previous correction, and correct another error ('[storage]readonly_storage' should be '[storage]readonly').
189david-sarah@jacaranda.org**20110123023955
190 Ignore-this: 2f9d3fe3c25da1b369618b8cf0867a58
191] 
192[docs/configuration.rst: correct an error in the Example section ('[helper]run_helper' should be '[helper]enabled').
193david-sarah@jacaranda.org**20110123022304
194 Ignore-this: d16d7c0d5faea3774dc77e7ae4212138
195] 
196[docs/configuration.rst: correct the name of 'tahoe-client.tac' and document other .tac files. Also make the capitalization consistent in that section.
197david-sarah@jacaranda.org**20110123020011
198 Ignore-this: 9452ce79c792585a1c97dfe483b214fd
199] 
200[CLI: improve help synopsis for 'tahoe create-key-generator'.
201david-sarah@jacaranda.org**20110123015004
202 Ignore-this: 9769071e583456b701190451c0d36ada
203] 
204[Don't put debugging information in 'My versions' section of the Welcome page. Also remove the extra blank line between version and command output when --version[-and-path] is used. refs #1306
205david-sarah@jacaranda.org**20110122040220
206 Ignore-this: 543fff2ac7f4552d2d7491020eb582c1
207] 
208[NEWS, docs/quickstart.html: pywin32 is no longer required on Windows. refs #1274
209david-sarah@jacaranda.org**20110122024741
210 Ignore-this: ea70513a58e698645ca7aca31483cc06
211] 
212[Makefile, setup.py: add more source files to pyflakes target and fix their warnings.
213david-sarah@jacaranda.org**20110122020752
214 Ignore-this: e11ad124406d30e212611ce22be7ab05
215] 
216[Remove obsolete and bit-rotted 'setup.py check-auto-deps' command. Building and running bin/tahoe is a more thorough check.
217david-sarah@jacaranda.org**20110122020051
218 Ignore-this: e985599d83189305ce3059c22f72aed0
219] 
220[Makefile: remove stale commented-out targets for figleaf.
221david-sarah@jacaranda.org**20110122015525
222 Ignore-this: 46f64bb67c810016ac067c124e569948
223] 
224[misc/build_helpers/run-with-pythonpath.py: fix pyflakes unused import warning.
225david-sarah@jacaranda.org**20110122015050
226 Ignore-this: f36c4e0db536ab2461ca58fcd10b88f6
227] 
228[Makefile: remove a stale comment about a bug fixed in Tahoe v1.3.0. refs #455
229david-sarah@jacaranda.org**20110122014544
230 Ignore-this: e7ffdecd7b289961e62baf7d59ea95e2
231] 
232[tests: use verlib to compare versions, and get the versions of Twisted and Nevow from get_package_versions() instead of pkg_resources. refs #1287
233david-sarah@jacaranda.org**20110122014256
234 Ignore-this: 690b6b2b3ab8796677dc2a88000ae11c
235] 
236[src/allmydata/web/common.py: ensure that filenames in 'humanized failures' are quoted.
237david-sarah@jacaranda.org**20110122014006
238 Ignore-this: 29563716ddc62da15cad16005d6ea943
239] 
240[twisted/allmydata_trial.py: fix stale comment that referred to trial_figleaf.py (replaced with trial_coverage.py).
241david-sarah@jacaranda.org**20110122013913
242 Ignore-this: e809c4e1f1be7fcc3cc067743b7d465b
243] 
244[CLI: improve help synopses for some commands.
245david-sarah@jacaranda.org**20110122012700
246 Ignore-this: 30b623987986d3f3f9531cf7c27fdf09
247] 
248[src/allmydata/_auto_deps.py: setuptools is still an install requirement even in frozen builds, because .tac files import pkg_resources. refs #585
249david-sarah@jacaranda.org**20110122012442
250 Ignore-this: fbc43f950ae16ff73d4ec944970dfea
251] 
252[Make bb-freeze (and probably other static packaging tools) work. This updates various places where we assumed that the tahoe process was executed via the Python interpreter. It also allows tests to recursively invoke the same tahoe.exe, rather than bin/tahoe. refs #585
253david-sarah@jacaranda.org**20110121080429
254 Ignore-this: ebd3f5addf96da6c072b5401d2b75bf
255] 
256[Make 'setup.py trial' and 'setup.py test' pass --version-and-path to bin/tahoe by default.
257david-sarah@jacaranda.org**20110121080328
258 Ignore-this: 5a0fbf8bf2f90e9af72e8640c00970cf
259] 
260[Change --version and --version-and-path to not exit immediately, if a command is given.
261david-sarah@jacaranda.org**20110121075913
262 Ignore-this: a757e5cf370d3fcc7d1d3e579dcaa8c5
263] 
264[src/allmydata/_auto_deps.py: 'pysqlite.dbapi2' module should have been 'pysqlite2.dbapi2'. refs #1306
265david-sarah@jacaranda.org**20110121073234
266 Ignore-this: 190abb8ec6b8cafd59d7d615b1a382ec
267] 
268[src/allmydata/util/iputil.py: correct an error in the address-matching regexps introduced by the previous patch to iputil. refs #1274
269david-sarah@jacaranda.org**20110121072136
270 Ignore-this: c8c6d72f0b5cd1ea39953f844dd1cae
271] 
272[setup: increase version number requirement on darcsver from >= 1.7.1 to >= 1.7.2
273zooko@zooko.com**20110121053038
274 Ignore-this: fa1cca532db1b4f9a6d03aa4a2dfaa2
275] 
276[setup: upgrade bundled version of darcsver from 1.7.1 to 1.7.2 to support the new bbfreeze feature (by, strangely, having darcsver write out unix newlines regardless of what the underlying platform prefers)
277zooko@zooko.com**20110121052838
278 Ignore-this: 210e9f43caef86d1c374504a09825827
279] 
280[Add src/allmydata/util/verlib.py, which is a copy of verlib from https://bitbucket.org/tarek/distutilsversion/src/17df9a7d96ef . It is used to normalize and compare versions of dependencies. refs #1258
281david-sarah@jacaranda.org**20110121060449
282 Ignore-this: a3de1480050f6842d35b24375e815f40
283] 
284[Refactor _auto_deps.py and __init__.py, adding more robust checking of dependency versions, and not trusting pkg_resources to get the versions right. refs #1258, #1287
285david-sarah@jacaranda.org**20110121053610
286 Ignore-this: b36d03e725ea9eb3362417e322019ebe
287] 
288[Apply pyflakes to more files and fix the resulting warnings.
289david-sarah@jacaranda.org**20110121021011
290 Ignore-this: f6327d146b50495b7721839139a2cec2
291] 
292[src/allmydata/util/iputil.py: loosen regexps and ensure that 'LANG=en_US.UTF-8' is set in the environment, to minimize problems with localized output of IP-address-finding tools. refs #1274
293david-sarah@jacaranda.org**20110120084827
294 Ignore-this: da04b1d780915ecfe492b671fdc2727e
295] 
296[Eliminate dependencies on pywin32, even via Twisted. refs #1274
297david-sarah@jacaranda.org**20110120043238
298 Ignore-this: 96a2c30ea71a897472d704e905d3cb13
299] 
300[Makefile: consistently use TAHOE macro to run bin/tahoe. Use '$(TAHOE) debug repl' instead of $(RUNPP) -p. refs #1296
301david-sarah@jacaranda.org**20110119234429
302 Ignore-this: 1c339126c6cdb6cd7d60a95a2f0db0a2
303] 
304[Makefile: consistently use 'tahoe debug trial' to run tests. refs #1296
305david-sarah@jacaranda.org**20110119233737
306 Ignore-this: 4b6b5a13fcf767c23e5f983f92f2c053
307] 
308[setup.py: add descriptions for some of the setup commands. ref #1306
309david-sarah@jacaranda.org**20110119233305
310 Ignore-this: 8759eb5c3ee4b717bba5580622d76c6b
311] 
312[setup.py: create bin/tahoe.pyscript on Unix as well as Windows for consistency, and to reduce conditional code. ref #1306
313david-sarah@jacaranda.org**20110119233145
314 Ignore-this: d1a7e66b3a2244fb4523ab3ef4057e5f
315] 
316[src/allmydata/test/test_runner.py: add test_import_from_repl, which checks that we are running the right code in a bin/tahoe subprocess. refs #1258
317david-sarah@jacaranda.org**20110119082145
318 Ignore-this: c53a76827b47446df9e7b0128a2cb2c5
319] 
320[docs/frontends/CLI.rst, src/allmydata/test/trialtest.py: add trailing newlines. refs #1296
321david-sarah@jacaranda.org**20110119081955
322 Ignore-this: 1d19fad753ff17febf9b99bb2f5b7df7
323] 
324[Eliminate direct dependencies of Tahoe-LAFS on pywin32 (rebased to trunk). refs #1274
325david-sarah@jacaranda.org**20110119075911
326 Ignore-this: 8f31d1188daa382ec694908a68a19194
327] 
328[Add support to bin/tahoe for invoking a runner command prefixed with @, with the Tahoe libraries on the PYTHONPATH. This is documented in 'tahoe debug --help'.
329david-sarah@jacaranda.org**20110119051137
330 Ignore-this: 65fd13a23670aea3825a706f45a7019f
331] 
332[trivial: add comment in scripts/debug.py about trial option parsing. refs #1296
333david-sarah@jacaranda.org**20110119060808
334 Ignore-this: 3cda9b574d1fbc1cac683ed31c826051
335] 
336[Update foolscap requirement to >= 0.6.1. fixes #1329
337david-sarah@jacaranda.org**20110119060639
338 Ignore-this: 47908e13d1c79e74b9ebb9df934b3cf1
339] 
340[bin/tahoe-script.template, src/windows/fixups.py: simplify the method of stripping initial arguments in sys.argv on Windows. This helps with bb-freeze and running tahoe via 'coverage'. Also includes some wording changes and minor refactoring of bin/tahoe-script.template. refs #585, #1303
341david-sarah@jacaranda.org**20110119045324
342 Ignore-this: 756e83c5eae7dabac31290b98a0e5a99
343] 
344[Change misc/build_helpers/test-with-fake-pkg to use 'setup.py trial'. refs #1296
345david-sarah@jacaranda.org**20110119042401
346 Ignore-this: e1518b6f43becf47d5a956bb710a9dcb
347] 
348[Makefile: update 'make clean' to delete the setuptools_trial egg(s).
349david-sarah@jacaranda.org**20110119025053
350 Ignore-this: ec373228f3a169c7070633e3b89ec1d
351] 
352[Change 'setup.py trial' and 'setup.py test' to use 'bin/tahoe debug trial'. refs #1296
353david-sarah@jacaranda.org**20110119024532
354 Ignore-this: 43df1a50435c794cfa60ecca71a46b10
355] 
356[src/allmydata/test/test_cli.py: add test for 'tahoe debug trial' options help. refs #1296
357david-sarah@jacaranda.org**20110119024224
358 Ignore-this: e9f7a67724b60c11a34efbce9a83a5cb
359] 
360[Makefile: update 'make clean' to avoid deleting the setuptools_darcs egg.
361david-sarah@jacaranda.org**20110119021958
362 Ignore-this: 908673ddd30ab88db5af8c8d80a74eb1
363] 
364[Add src/allmydata/test/trialtest.py needed by tests for 'tahoe debug trial'. refs #1296
365david-sarah@jacaranda.org**20110119020239
366 Ignore-this: 58d468dbd869c2e6c85552710ed47ffe
367] 
368[Remove setuptools_trial egg.
369david-sarah@jacaranda.org**20110110063306
370 Ignore-this: 329f5062db0c7914464c547a3957c596
371] 
372[Tests for 'tahoe debug trial' (rebased and fixed to work with Twisted 10.2). refs #1296
373david-sarah@jacaranda.org**20110119013859
374 Ignore-this: bb2ea70e5c3c841713ae38744b80980f
375] 
376[Documentation for 'tahoe debug trial' (rebased for trunk). refs #1296
377david-sarah@jacaranda.org**20110118205729
378 Ignore-this: 3a4a4c2d23864851cb24c32a5b7962b4
379] 
380[Make 'mock' a run-time rather than setup-time dependency. This is necessary in order for 'tahoe debug trial' to work. refs #1296
381david-sarah@jacaranda.org**20110118205114
382 Ignore-this: 256c4fcd259eda02dd86ed163afc6497
383] 
384[src/allmydata/scripts/debug.py: add 'tahoe debug trial' command (rebased for trunk). refs #1296
385david-sarah@jacaranda.org**20110118204659
386 Ignore-this: 19e5f96d15c14625d5969ca4ae10a3cc
387] 
388[src/allmydata/webish.py: clean-ups and correction to a comment. Also change an open and write to use fileutil.write. See ref #1286 comment 13.
389david-sarah@jacaranda.org**20110117233152
390 Ignore-this: c4aa2f4286ad8a9fba9827d428f7fbe5
391] 
392[setup: load the setuptools_darcs-1.2.12.egg that is bundled in the root of the source tree at setup.py time, and setup_require it. This is in order to make sure that its 'find all package data' plugin works to inform setuptools of all files which are under revision control, so that setuptools can include them in a distribution. By the way, this is ugly and horrible. refs #1054
393david-sarah@jacaranda.org**20110118065445
394 Ignore-this: b4b9d3798a9beb9c44943daf2722a51
395] 
396[setup: bundle a copy of setuptools_darcs-1.2.12
397zooko@zooko.com**20110118062521
398 Ignore-this: 47e240417e0ff57a66d2f02f416a78fe
399 This is to work-around https://bitbucket.org/tarek/distribute/issue/55/revision-control-plugin-automatically-installed-as-a-build-dependency-is-not-present-when-another-build-dependency-is-being . refs #1054.
400] 
401[NEWS: default reserved_space for new storage nodes is 1 GiB. refs #1208
402david-sarah@jacaranda.org**20110117235930
403 Ignore-this: 81c898890f51400b7229b4b6de69eb30
404] 
405['tahoe debug catalog-shares': sort SIs and shnums
406Brian Warner <warner@lothar.com>**20110117095932
407 Ignore-this: f2c60da422178dfba6d03ff4957cf80c
408 
409 Without this, SIs or shnums could be emitted in random order, depending upon
410 what the filesystem happens to return.
411] 
412[CLI: tests for ref #1305 (v2, remove spurious extra arg to create-alias in test)
413david-sarah@jacaranda.org**20110114040327
414 Ignore-this: 770b7117e66b04ced293b7b740b4a27f
415] 
416[CLI: make 'tahoe create-alias' and 'tahoe add-alias' accept a trailing colon on the new alias name (v2, minor change not to rely on implicit Unicode conversion). Includes doc changes and news; tests in a separate patch. fixes #1305
417david-sarah@jacaranda.org**20110114034414
418 Ignore-this: 97e8e88d8b0f7c628b77db3adb67fa1b
419] 
420[Improve 'tahoe ln' help text. Patch by David-Sarah. Closes #1230.
421Brian Warner <warner@lothar.com>**20110117081421
422 Ignore-this: ae0ab1525fd39c95500535d6d015e706
423] 
424[Tolerate Twisted-10.2's endpoints, patch by David-Sarah. Closes #1286.
425Brian Warner <warner@lothar.com>**20110117074751
426 Ignore-this: 8875749e4cab0e444a8452e290647bb6
427 
428 The service generated by strports.service() changed in 10.2, and the ugly
429 private-attribute-reading hack we used to glean a kernel-allocated port
430 number (e.g. when using "tcp:0", especially during unit tests) broke, causing
431 Tahoe to be completely unusable with Twisted-10.2 . The new ugly
432 private-attribute-reading hack starts by figuring out what sort of service
433 was generated, then reads different attributes accordingly.
434 
435 This also hushes a warning when using schemeless strports strings like "0" or
436 "3456", by quietly prepending a "tcp:" scheme, since 10.2 complains about
437 those. It also adds getURL() and getPortnum() accessors to the "webish"
438 service, rather than having unit tests dig through _url and _portnum and such
439 to find out what they are.
440] 
441[debian/control: add python-twisted-conch to dependencies. Closes #1095.
442Brian Warner <warner@lothar.com>**20110117071206
443 Ignore-this: 74714eeb8bd324d6124824f119468ab5
444] 
445[Test changes to take account of ref #1311.
446david-sarah@jacaranda.org**20110117060540
447 Ignore-this: d787405b00a05d98abb34e5133a88b36
448] 
449[create_node.py: add comments to default tahoe.cfg to clarify the meaning of each section. fixes #1311
450david-sarah@jacaranda.org**20110117052419
451 Ignore-this: a2b0bba6b347bb0b0247782ee9ea9419
452] 
453[Undo the temporary hack to check the foolscap version. refs #1246
454david-sarah@jacaranda.org**20110117052042
455 Ignore-this: c58a8a5b91355a15d02b60c20a44bbd9
456] 
457[misc/build_helpers/run_trial.py: fix pyflakes warning.
458david-sarah@jacaranda.org**20110115080456
459 Ignore-this: 95760a442fc397526a5d921510ec3843
460] 
461[Set "reserved_space=1G" in newly-created storage nodes. Closes #1208.
462Brian Warner <warner@lothar.com>**20110116205822
463 Ignore-this: 2aac3dbb46e181ce7ae5e0af07bbb3bb
464] 
465[Temporary hack to investigate whether we are getting the right version of foolscap on trunk. refs #1258
466david-sarah@jacaranda.org**20110116044959
467 Ignore-this: 4760970f9235dde07472ca980c24f75b
468] 
469[Makefile: allow tarball upload when either BB_BRANCH=='trunk' or BB_BRANCH==''.
470david-sarah@jacaranda.org**20110115212211
471 Ignore-this: 358822b25e69bfe9651a561ec387ca7a
472] 
473[misc/build_helpers/test-with-fake-dists.py: clean up directories and files only if they exist.
474david-sarah@jacaranda.org**20110115053011
475 Ignore-this: 7aa8fec370e12c62d9b56afcd55d17f
476] 
477[misc/build_helpers/test-with-fake-dists.py: wrong arguments in comment.
478david-sarah@jacaranda.org**20110115045325
479 Ignore-this: 89322306ed4fb478af4988675fd4c968
480] 
481[Attempt to fix test-with-fake-dist build step.
482david-sarah@jacaranda.org**20110115022651
483 Ignore-this: 9d7195dca59b79f93a5f527b1ae9e79e
484] 
485[bin/tahoe-script.template: improve the error message if we end up running under Python 3. refs #1302
486david-sarah@jacaranda.org**20110112211628
487 Ignore-this: ee78f8e4bbd197e620cb0cc6b995ac46
488] 
489[Makefile: Fix uploading of tarballs on trunk builds.
490david-sarah@jacaranda.org**20110109065851
491 Ignore-this: 864b06e39103f46dbb6ccb74e1e333d3
492] 
493[docs/frontends/CLI.rst: fix the rst syntax to be as actually intended :-)
494david-sarah@jacaranda.org**20110109014057
495 Ignore-this: c11331670ba89d8601ba3782ffc4f32c
496] 
497[docs/frontends/CLI.rst: really fix rst syntax error this time.
498david-sarah@jacaranda.org**20110109013914
499 Ignore-this: 59550154c9ab41488ddfdee8938d7bda
500] 
501[docs/frontends/CLI.rst: fix rst syntax error.
502david-sarah@jacaranda.org**20110109010943
503 Ignore-this: 427444f5572115059c75fa1bd8371d51
504] 
505[docs/frontends/CLI.rst: discuss commandline/output quoting issues and wildcards. refs #1135
506david-sarah@jacaranda.org**20110109010119
507 Ignore-this: 533938d89be878b404a8540aebdf68ad
508] 
509[setup.py: add Python 2.7 trove classifier.
510david-sarah@jacaranda.org**20110108211212
511 Ignore-this: b479c0a1adf9b7a2d1fdc54abc6582e6
512] 
513[docs/FTP-and-SFTP.rst: document issue in ref #1297. Remove known issue #1045 which is fixed. Also some cosmetic changes.
514david-sarah@jacaranda.org**20110108061038
515 Ignore-this: 8d9aa2e33f1054545f7bed47bf0e647d
516] 
517[misc/build_helpers/show-tool-versions.py: remove attempts to show stdout.encoding and stderr.encoding that always printed None due to redirection. Also remove code to show os.path.supports_unicode_filenames which is not useful. refs #1251
518david-sarah@jacaranda.org**20110103015144
519 Ignore-this: 45e11431f7e2e0cebcb58e1841485cf8
520] 
521[NEWS: 'top' for node processes, WUI formatting, removal of GUI apps, documentation updates, foolscap dependency. refs #174, #1219, #1225
522david-sarah@jacaranda.org**20110106005727
523 Ignore-this: f61ac58b4d10e635feb6f7391b1b48fe
524] 
525[Makefile: update 'clean' target for files in bin/
526david-sarah@jacaranda.org**20110103052738
527 Ignore-this: 2bdbc4a50e13e508b66d0f65718c79b2
528] 
529[docs: update performance.rst to describe the difference between already-uploaded and not-already-uploaded, to parameterize segment size, and to use "~A" to mean "approximately A"
530zooko@zooko.com**20110104065455
531 Ignore-this: 8df0d79a062ee19854c0211bd202f606
532] 
533[bin/tahoe-script.template: On non-Windows, invoke support/bin/tahoe directly as a script (rather than via python), so that 'top' for example will show it as 'tahoe'. On Windows, simplify some code that set argv[0], which is never used. fixes #174
534david-sarah@jacaranda.org**20101127232650
535 Ignore-this: 42a86f3eecfdc1ea7b76a7cc68626898
536] 
537[test_runner: avoid unnecessary use of non-ASCII.
538david-sarah@jacaranda.org**20110101100101
539 Ignore-this: e2ff40dce6bb3b021306f2913d4e75df
540] 
541[docs/quickstart.html: fix redundant, badly nested tag. refs #1284
542david-sarah@jacaranda.org**20110102175159
543 Ignore-this: 2ae9cc0b47d2e87b9eb64a0f517c4eef
544] 
545[docs/quickstart.html: information about 'troublesome dependencies' and 'verified systems' de-emphasized by smaller italic font. Re-wrap so that the HTML source is readable (just about) as text. Minor wording tweaks. Improve organization by adding 'Windows Caveats' subsection. fixes #1284
546david-sarah@jacaranda.org**20110102174212
547 Ignore-this: e9dc57983974478200856651c5318fee
548] 
549[NEWS: update entry for removal of Mac and Windows apps. refs #1282
550david-sarah@jacaranda.org**20101226042245
551 Ignore-this: c8099bc6e8235718d042c9a13c1e2425
552] 
553[Move dependency imports from windows/depends.py (which has gone away) into src/allmydata/windows/tahoesvc.py. Also fix a pyflakes warning, and change the service display name from 'Allmydata Tahoe Node' to 'Tahoe-LAFS node'. refs #1282
554david-sarah@jacaranda.org**20101226042100
555 Ignore-this: ee45f324934e1251380206dbee6346d0
556] 
557[Remove unmaintained Windows GUI app, except for windows/tahoesvc.py which is moved to src/allmydata/windows. refs #1282
558david-sarah@jacaranda.org**20101226040237
559 Ignore-this: cae37b6622a7dd5940acc7d3e6a98b90
560] 
561[Remove the Makefile targets relating to the Mac GUI app. refs #1282
562david-sarah@jacaranda.org**20101226025859
563 Ignore-this: 75303be783974b41138744ec62b07965
564] 
565[NEWS: remove unmaintained Mac GUI app. refs #1282
566david-sarah@jacaranda.org**20101226020858
567 Ignore-this: 40474a07f4a550b48563d35350be7ab5
568] 
569[Remove unmaintained Mac GUI app. fixes #1282
570david-sarah@jacaranda.org**20101226020508
571 Ignore-this: b3613bf1abfd284d542bf7c753ec557a
572] 
573[Remove src/allmydata/util/find_exe.py which is no longer used. fixes #1150
574david-sarah@jacaranda.org**20101226023206
575 Ignore-this: 7436c9b53bf210aed34a1a973cd9cace
576] 
577[status_web_pages_review.darcs.patch
578freestorm77@gmail.com**20110102034214
579 Ignore-this: 29f1ecb36177f10f3f846b3d56b313b2
580 
581 I make some changes on status web pages
582 
583 status.xhtml:
584 - Delete unused webform_css link
585 - Align tables on the left
586 
587 tahoe-css:
588 - Do some minor changes on code synthax
589 - changes table.status-download-events style to look like other tables
590 
591 status.py:
592 - Align table on the left
593 - Changes table header
594 - Add heading tags
595 - Modify google api graph: add image border, calculate height to feet data
596 
597 signed-off-by: zooko@zooko.com
598 fixes #1219
599] 
600[test_storage.py: fix a pyflakes unused import warning.
601david-sarah@jacaranda.org**20101231220756
602 Ignore-this: df08231540cb7dff9d2b038e47ab30ee
603] 
604[test_storage.py: leave at least 512 MiB free when running test_large_share. refs #1195
605david-sarah@jacaranda.org**20101231203215
606 Ignore-this: b2144c0341c3452b5d4ba219e284ea0e
607] 
608[storage: use fileutil's version of get_disk_stats() and get_available_space(), use mockery/fakery in tests, enable large share test on platforms with sparse files and if > 4 GiB of disk space is currently available
609zooko@zooko.com**20100910173629
610 Ignore-this: 1304f1164c661de6d5304f993eb9b27b
611] 
612[fileutil: copy in the get_disk_stats() and get_available_space() functions from storage/server.py
613zooko@zooko.com**20100910173520
614 Ignore-this: 8b15569715f710f4fc5092f7ca109253
615] 
616[Update foolscap version requirement to 0.6.0, to address http://foolscap.lothar.com/trac/ticket/167
617david-sarah@jacaranda.org**20101231060039
618 Ignore-this: 98d2b8086a1a500b9f4565bca5a3810
619] 
620[docs/webapi.rst: typos.
621david-sarah@jacaranda.org**20101230034422
622 Ignore-this: d1f5166d72cc711f7e0d9981eac9105e
623] 
624[docs/webapi.rst: capitalization, formatting of section on URL character encoding, and a correction about Internet Explorer.
625david-sarah@jacaranda.org**20101230034049
626 Ignore-this: b3b9819d2fb264b4cdc5c8afd4e8c48d
627] 
628[docs: corrections and clarifications.
629david-sarah@jacaranda.org**20101227051056
630 Ignore-this: e33202858c7644c58f3f924b164294b6
631] 
632[docs: more formatting cleanups and corrections. Spell webapi and wapi as web-API.
633david-sarah@jacaranda.org**20101227050533
634 Ignore-this: 18b23cbfb780df585d8a722a1ec63e94
635] 
636[docs/debian.rst: bring description of building dependencies from source up-to-date, and change hostname from allmydata.com to tahoe-lafs.org.
637david-sarah@jacaranda.org**20101212222912
638 Ignore-this: f38462afc88b4475195610385a28391c
639] 
640[docs/architecture.rst: correct rst syntax.
641david-sarah@jacaranda.org**20101212202003
642 Ignore-this: 3fbe12feb28bec6f1c63aedbc79aad21
643] 
644[docs/architecture.rst: formatting.
645david-sarah@jacaranda.org**20101212201719
646 Ignore-this: 305fa5dfc2939355eaf6d0d2161eb1ff
647] 
648[docs: linkification, wording improvements.
649david-sarah@jacaranda.org**20101212201234
650 Ignore-this: 4e67287f527a8bc728cfbd93255d2aae
651] 
652[docs: formatting.
653david-sarah@jacaranda.org**20101212201115
654 Ignore-this: 2e0ed394ac7726651d3a4f2c4b0d3798
655] 
656[docs/configuration.rst: more formatting tweaks; which -> that.
657david-sarah@jacaranda.org**20101212195522
658 Ignore-this: a7becb7021854ca5a90edd892b36fdd7
659] 
660[docs/configuration.rst: more changes to formatting.
661david-sarah@jacaranda.org**20101212194511
662 Ignore-this: 491aac33e5f5268d224359f1447d10be
663] 
664[docs/configuration.rst: changes to formatting (mainly putting commands and filenames in monospace).
665david-sarah@jacaranda.org**20101212181828
666 Ignore-this: 8a1480e2d5f43bee678476424615b50f
667] 
668[scripts/backupdb.py: more accurate comment about path field.
669david-sarah@jacaranda.org**20101212170320
670 Ignore-this: 50e47a2228a85207bbcd188a78a0d4e6
671] 
672[scripts/cli.py: fix missing 'put' in usage example for 'tahoe put'.
673david-sarah@jacaranda.org**20101212170207
674 Ignore-this: 2cbadf066fff611fc03d3c0ff97ce6ec
675] 
676[docs/frontends/CLI.rst: changes to formatting (mainly putting commands and filenames in monospace), and to command syntax to reflect that DIRCAP/... is accepted. Clarify the syntax of 'tahoe put' and other minor corrections. Tahoe -> Tahoe-LAFS.
677david-sarah@jacaranda.org**20101212165800
678 Ignore-this: a123ef6b564aa8624d1e79c97068ea12
679] 
680[docs/frontends/CLI.rst: Unicode arguments to 'tahoe' work on Windows as of v1.7.1.
681david-sarah@jacaranda.org**20101212063740
682 Ignore-this: 3977a99dfa86ac33a44171deaf43aaab
683] 
684[docs/known_issues.rst: fix title and linkify another URL. refs #1225
685david-sarah@jacaranda.org**20101212062817
686 Ignore-this: cc91287f7fb51c23440b3d2fe79c449c
687] 
688[docs/known_issues.rst: fix an external link. refs #1225
689david-sarah@jacaranda.org**20101212062435
690 Ignore-this: b8cbf12f353131756c358965c48060ec
691] 
692[Fix a link from uri.rst to dirnodes.rst. refs #1225
693david-sarah@jacaranda.org**20101212054502
694 Ignore-this: af6205299f5c9a33229cab259c00f9d5
695] 
696[Fix a link from webapi.rst to FTP-and-SFTP.rst. refs #1225
697david-sarah@jacaranda.org**20101212053435
698 Ignore-this: 2b9f88678c3447ea860d6b61e8799858
699] 
700[More specific hyperlink to architecture.rst from helper.rst. refs #1225
701david-sarah@jacaranda.org**20101212052607
702 Ignore-this: 50424c768fca481252fabf58424852dc
703] 
704[Update hyperlinks between docs, and linkify some external references. refs #1225
705david-sarah@jacaranda.org**20101212051459
706 Ignore-this: cd43a4c3d3de1f832abfa88d5fc4ace1
707] 
708[docs/specifications/dirnodes.rst: fix references to mutable.rst. refs #1225
709david-sarah@jacaranda.org**20101212012720
710 Ignore-this: 6819b4b4e06e947ee48b365e840db37d
711] 
712[docs/specifications/mutable.rst: correct the magic string for v1 mutable containers. refs #1225
713david-sarah@jacaranda.org**20101212011400
714 Ignore-this: 99a5fcdd40cef83dbb08f323f6cdaaca
715] 
716[Move .txt files in docs/frontends and docs/specifications to .rst. refs #1225
717david-sarah@jacaranda.org**20101212010251
718 Ignore-this: 8796d35d928370f7dc6ad2dafdc1c0fe
719] 
720[Convert docs/frontends and docs/specifications to reStructuredText format (not including file moves).
721david-sarah@jacaranda.org**20101212004632
722 Ignore-this: e3ceb2d832d73875abe48624ddbb5622
723] 
724[scripts/cli.py: remove the disclaimer in the help for 'tahoe cp' that it does not handle non-ASCII filenames well. (At least, we intend to handle them.)
725david-sarah@jacaranda.org**20101130002145
726 Ignore-this: 94c003efaa20b9eb4a83503d79844ca
727] 
728[relnotes.txt: fifth -> sixth labor-of-love release
729zooko@zooko.com**20101129045647
730 Ignore-this: 21c245015268b38916e3a138d256c09d
731] 
732[Makefile: BB_BRANCH is set to the empty string for trunk, not the string 'trunk'.
733david-sarah@jacaranda.org**20101128233512
734 Ignore-this: 5a7ef8eb10475636d21b91e25b56c369
735] 
736[relnotes.txt: eleventh -> twelfth release.
737david-sarah@jacaranda.org**20101128223321
738 Ignore-this: 1e26410156a665271c1170803dea2c0d
739] 
740[relnotes.tst: point to known_issues.rst, not known_issues.txt.
741david-sarah@jacaranda.org**20101128222918
742 Ignore-this: 60194eb4544cac446fe4f60b3e34b887
743] 
744[quickstart.html: fix link to point to allmydata-tahoe-1.8.1.zip.
745david-sarah@jacaranda.org**20101128221728
746 Ignore-this: 7b3ee86f8256aa12f5d862f689f3ee29
747] 
748[TAG allmydata-tahoe-1.8.1
749david-sarah@jacaranda.org**20101128212336
750 Ignore-this: 9c18bdeaef4822f590d2a0d879e00621
751] 
752Patch bundle hash:
7536bca60737a418fb07a6a282fd49adf4758c41218