Sun Aug 1 21:24:59 Paris, Madrid (heure d'été) 2010 freestorm77@gmail.com * move_munin_plugin_files.dpatch Spliting munin plugins into 2 diretories: - local_plugins - stats-gatherer_plugins Wed Aug 11 20:29:49 Paris, Madrid (heure d'été) 2010 freestorm77@gmail.com * munin_plugins_for_stats-gatherer.dpatch This patch make changes below - Addfile README to know how to use Munin plugins with Tahoe-LAFS Stats-Gatherer - Modify tahoe-stats_conf with Munin plugins configuration - Modify tahoe-stats: * Changing graphs titles to Tahoe-LAFS * Changing some graph properties to delete units exponent * Changing retunrned values form load average (multiply by 100 to have % value) New patches: [move_munin_plugin_files.dpatch freestorm77@gmail.com**20100801192459 Ignore-this: a3662ae5fdf1d7b5787a3bd2784631f0 Spliting munin plugins into 2 diretories: - local_plugins - stats-gatherer_plugins ] { adddir ./misc/operations_helpers/munin/local_plugins move ./misc/operations_helpers/munin/tahoe-conf ./misc/operations_helpers/munin/local_plugins/tahoe-conf adddir ./misc/operations_helpers/munin/stats-gatherer_plugins move ./misc/operations_helpers/munin/tahoe-stats.plugin-conf ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe-stats_conf move ./misc/operations_helpers/munin/tahoe_cpu_watcher ./misc/operations_helpers/munin/local_plugins/tahoe_cpu_watcher move ./misc/operations_helpers/munin/tahoe_diskleft ./misc/operations_helpers/munin/local_plugins/tahoe_diskleft move ./misc/operations_helpers/munin/tahoe_disktotal ./misc/operations_helpers/munin/local_plugins/tahoe_disktotal move ./misc/operations_helpers/munin/tahoe_diskusage ./misc/operations_helpers/munin/local_plugins/tahoe_diskusage move ./misc/operations_helpers/munin/tahoe_diskused ./misc/operations_helpers/munin/local_plugins/tahoe_diskused move ./misc/operations_helpers/munin/tahoe_doomsday ./misc/operations_helpers/munin/local_plugins/tahoe_doomsday move ./misc/operations_helpers/munin/tahoe_estimate_files ./misc/operations_helpers/munin/local_plugins/tahoe_estimate_files move ./misc/operations_helpers/munin/tahoe_files ./misc/operations_helpers/munin/local_plugins/tahoe_files move ./misc/operations_helpers/munin/tahoe_helperstats_active ./misc/operations_helpers/munin/local_plugins/tahoe_helperstats_active move ./misc/operations_helpers/munin/tahoe_helperstats_fetched ./misc/operations_helpers/munin/local_plugins/tahoe_helperstats_fetched move ./misc/operations_helpers/munin/tahoe_introstats ./misc/operations_helpers/munin/local_plugins/tahoe_introstats move ./misc/operations_helpers/munin/tahoe_nodememory ./misc/operations_helpers/munin/local_plugins/tahoe_nodememory move ./misc/operations_helpers/munin/tahoe_overhead ./misc/operations_helpers/munin/local_plugins/tahoe_overhead move ./misc/operations_helpers/munin/tahoe_rootdir_space ./misc/operations_helpers/munin/local_plugins/tahoe_rootdir_space move ./misc/operations_helpers/munin/tahoe_server_latency_ ./misc/operations_helpers/munin/local_plugins/tahoe_server_latency_ move ./misc/operations_helpers/munin/tahoe_server_operations_ ./misc/operations_helpers/munin/local_plugins/tahoe_server_operations_ move ./misc/operations_helpers/munin/tahoe_spacetime ./misc/operations_helpers/munin/local_plugins/tahoe_spacetime move ./misc/operations_helpers/munin/tahoe_stats ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats move ./misc/operations_helpers/munin/tahoe_storagespace ./misc/operations_helpers/munin/local_plugins/tahoe_storagespace } [munin_plugins_for_stats-gatherer.dpatch freestorm77@gmail.com**20100811182949 Ignore-this: 1c3020a8e04cbff4207ad9de920d6c2a This patch make changes below - Addfile README to know how to use Munin plugins with Tahoe-LAFS Stats-Gatherer - Modify tahoe-stats_conf with Munin plugins configuration - Modify tahoe-stats: * Changing graphs titles to Tahoe-LAFS * Changing some graph properties to delete units exponent * Changing retunrned values form load average (multiply by 100 to have % value) ] { addfile ./misc/operations_helpers/munin/stats-gatherer_plugins/README hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/README 1 - += Tahoe-LAFS Stats-Gatherer plugins = + +1. Overview +2. Plugins details + 2.1. Helper plugins + 2.2. Traffic plugins + 2.3. Storage plugins + 2.4. Load plugins +3. Plugins Installation +4. Plugins testing + +== Overview == + + For running these plugins you need to have a Tahoe-LAFS stats-gatherer node. + You can find more information in file docs/stats.txt + + For plugins configuration please read tahoe-stats_conf + += Plugins details = + +== Helper plugins == + + These plugins need a Tahoe-LAFS Helper + + tahoe_stats_helper_active_uploads: Shows the number of files actively being processed by the helper + tahoe_stats_helper_encoded_bytes: Shows the number of bytes encoded by the helper + tahoe_stats_helper_encoding_files: Shows the number of encoding files + tahoe_stats_helper_encoding_filesize: Shows total size of encoding files + tahoe_stats_helper_encoding_files_old: Shows total size of old encoding files + tahoe_stats_helper_fetched_bytes: Shows the number of bytes fetched by the helper + tahoe_stats_helper_incoming_files: Shows the number of incoming files + tahoe_stats_helper_incoming_filesize: Shows total size of incoming files + tahoe_stats_helper_incoming_files_old: Shows total size of old incoming files + tahoe_stats_helper_upload_already_present: Shows the number of uploads whose files are already present in the grid + tahoe_stats_helper_upload_need_upload: Shows the number of uploads whose files are not already present in the grid + tahoe_stats_helper_upload_requests: Shows the number of upload requests arriving at the helper + +== Traffic plugins == + + tahoe_stats_mutable_files_published: Shows the number of mutable files published + tahoe_stats_mutable_files_retrieved: Shows the number of files retrieved + tahoe_stats_uploader_bytes_uploaded: Shows the number of bytes uploaded + tahoe_stats_uploader_files_uploaded: Shows the number of files uploaded + +== Storage plugins == + + tahoe_stats_storage_allocated: Shows space allocated + tahoe_stats_storage_bytes_added: Shows cumulative bytes added + tahoe_stats_storage_bytes_freed: Shows cumulative bytes removed + tahoe_stats_storage_disk_used: Shows space consumed + tahoe_stats_storage_operations_allocate: Shows how many allocate_buckets operations occurred per second. + Each immutable file upload causes one such operation per server + + tahoe_stats_storage_operations_get: This graph shows how many get_bucket operations occurred per second. + Each immutable file download/check causes one such operation per server + + tahoe_stats_storage_bytes_added: Shows how many readv operations occurred per second. + Each dirnode read causes one such operation per server. + + tahoe_stats_storage_operations_writev: Shows how many writev operations occurred per second. + Each mutable file/dirnode write causes one such operation per server + +== Load plugins == + + tahoe_stats_runtime_load_peak: Shows peak reactor delay + tahoe_stats_runtime_load_avg: Shows average reactor delay + tahoe_stats_cpu_monitor_15min_avg: Estimate of what percentage of system CPU time was consumed by the node process, 15min average + tahoe_stats_cpu_monitor_5min_avg: Estimate of what percentage of system CPU time was consumed by the node process, 5min average + += Plugins Installation = + + tahoe_stats need to be renamed/copied/linked to the plugin name you want. + you need to do this for each graph you want. + + For example: + If you want to show the "Tahoe-LAFS Runtime Load Average Graph": + Just copy tahoe_stats to '/etc/munin/plugins/tahoe_stats_runtime_load_avg' + + If you want all graphs you can run these commands: + cp tahoe_stats /etc/munin/plugins/tahoe_stats.bak + # the .bak extension is needed, otherwise Munin-Node will try to run it. + cd /etc/munin/plugins/ + chmod +x tahoe_stats.bak + for FILE in `grep "'tahoe_" tahoe_stats.bak | cut -d\' -f2`; do ln -s tahoe_stats.bak $FILE;done; + + After, edit the configuration file "tahoe-stats_conf" and copy it to /etc/munin/plugin-conf.d/ + Reload the Munin-Node process: /etc/init.d/munin-node reload + + + Note: + You need to wait 5min before Munin-Node creates any graphs + += Plugins testing = + + To test plugin you can run: munin-run 'plugin file' + For example: + # munin-run tahoe_stats_storage_disk_used + RM1X_gfsd.value 28093239296 + [..] + + To display graph configuration add 'config' at the end of command line: + #munin-run tahoe_stats_storage_disk_used config + graph_title Tahoe-LAFS Storage Server Disk Used + graph_vlabel bytes + graph_category Tahoe-LAFS Stats-Gatherer_storage_server + graph_info This graph shows disk usage for Tahoe + graph_args --base 1024 + RM1X_gfsd.label RM1X_gfsd + RM1X_gfsd.draw LINE1 + [..] hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe-stats_conf 1 -[tahoe_storage_allocated] -env.statsfile /home/robk/trees/tahoe/stats_gatherer/stats.pickle -[tahoe_storage_consumed] -env.statsfile /home/robk/trees/tahoe/stats_gatherer/stats.pickle -[tahoe_runtime_load_avg] -env.statsfile /home/robk/trees/tahoe/stats_gatherer/stats.pickle -[tahoe_runtime_load_peak] -env.statsfile /home/robk/trees/tahoe/stats_gatherer/stats.pickle -[tahoe_storage_bytes_added] -env.statsfile /home/robk/trees/tahoe/stats_gatherer/stats.pickle -[tahoe_storage_bytes_freed] -env.statsfile /home/robk/trees/tahoe/stats_gatherer/stats.pickle +# +# This file contains configuration options for all Tahoe Stats-Gatherer plugins. +# +# You need to copy this file in your /etc/munin/plugin-conf.d/ directory +# +# Three options are understood by munin-node itself: +# +# user # Set the user to run the plugin as. (not mandatory) +# group # Set the group to run the plugin as. (not mandatory) +# env.statsfile # Set your Tahoe Stats-Gatherer pickle file path +# + +[tahoe_stats*] +user tahoe +group nogroup +env.statsfile /var/lib/tahoe/pubgrid-gatherer/stats.pickle hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 13 PLUGINS = { # LOAD AVERAGE - 'tahoe_runtime_load_avg': + 'tahoe_stats_runtime_load_avg': { 'statid': 'load_monitor.avg_load', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 16 - 'configheader': '\n'.join(['graph_title Tahoe Runtime Load Average', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Runtime Load Average', 'graph_vlabel load', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 18 - 'graph_category tahoe', + 'graph_category Tahoe-LAFS Stats-Gatherer', + 'graph_args --units-exponent 0', + 'graph_scale no', 'graph_info This graph shows average reactor delay', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 24 + '%(name)s.cdef %(name)s,100,*', '%(name)s.draw LINE1', ]), 'graph_render': '\n'.join(['%(name)s.value %(value)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 31 ]), }, - 'tahoe_runtime_load_peak': + 'tahoe_stats_runtime_load_peak': { 'statid': 'load_monitor.max_load', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 34 - 'configheader': '\n'.join(['graph_title Tahoe Runtime Load Peak', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Runtime Load Peak', 'graph_vlabel load', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 36 - 'graph_category tahoe', + 'graph_args --units-exponent 0', + 'graph_category Tahoe-LAFS Stats-Gatherer', + 'graph_scale no', 'graph_info This graph shows peak reactor delay', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 42 + '%(name)s.cdef %(name)s,100,*', '%(name)s.draw LINE1', ]), 'graph_render': '\n'.join(['%(name)s.value %(value)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 48 ]), }, + + 'tahoe_stats_cpu_monitor_5min_avg': + { 'statid': 'cpu_monitor.5min_avg', + 'category': 'stats', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS 5min Load Average', + 'graph_vlabel load', + 'graph_args --units-exponent 0', + 'graph_category Tahoe-LAFS Stats-Gatherer', + 'graph_scale no', + 'graph_info This graph shows estimate of what percentage of system CPU time was consumed by the node process, over the given time interval', + ]), + 'graph_config': '\n'.join(['%(name)s.label %(name)s', + '%(name)s.cdef %(name)s,100,*', + '%(name)s.draw LINE1', + ]), + 'graph_render': '\n'.join(['%(name)s.value %(value)s', + ]), + }, + + 'tahoe_stats_cpu_monitor_15min_avg': + { 'statid': 'cpu_monitor.15min_avg', + 'category': 'stats', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS 15min Load Average', + 'graph_vlabel load', + 'graph_args --units-exponent 0', + 'graph_category Tahoe-LAFS Stats-Gatherer', + 'graph_scale no', + 'graph_info This graph shows estimate of what percentage of system CPU time was consumed by the node process, over the given time interval', + ]), + 'graph_config': '\n'.join(['%(name)s.label %(name)s', + '%(name)s.cdef %(name)s,100,*', + '%(name)s.draw LINE1', + ]), + 'graph_render': '\n'.join(['%(name)s.value %(value)s', + ]), + }, + + + # STORAGE ALLOCATION (BYTES) hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 89 - 'tahoe_storage_consumed': - { 'statid': 'storage_server.consumed', + 'tahoe_stats_storage_disk_used': + { 'statid': 'storage_server.disk_used', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 92 - 'configheader': '\n'.join(['graph_title Tahoe Storage Server Space Consumed', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Storage Server Disk Used', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 94 - 'graph_category tahoe_storage_server', - 'graph_info This graph shows space consumed', + 'graph_category Tahoe-LAFS Stats-Gatherer_storage_server', + 'graph_info This graph shows disk usage for Tahoe', 'graph_args --base 1024', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 105 ]), }, - 'tahoe_storage_allocated': + 'tahoe_stats_storage_allocated': { 'statid': 'storage_server.allocated', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 108 - 'configheader': '\n'.join(['graph_title Tahoe Storage Server Space Allocated', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Storage Server Space Allocated', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 110 - 'graph_category tahoe_storage_server', + 'graph_category Tahoe-LAFS Stats-Gatherer_storage_server', 'graph_info This graph shows space allocated', 'graph_args --base 1024', ]), hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 121 ]), }, - 'tahoe_storage_bytes_added': + 'tahoe_stats_storage_bytes_added': { 'statid': 'storage_server.bytes_added', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 124 - 'configheader': '\n'.join(['graph_title Tahoe Storage Server Bytes Added', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Storage Server Bytes Added', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 126 - 'graph_category tahoe_storage_server', + 'graph_category Tahoe-LAFS Stats-Gatherer_storage_server', 'graph_info This graph shows cummulative bytes added', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 136 ]), }, - 'tahoe_storage_bytes_freed': + 'tahoe_stats_storage_bytes_freed': { 'statid': 'storage_server.bytes_freed', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 139 - 'configheader': '\n'.join(['graph_title Tahoe Storage Server Bytes Removed', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Storage Server Bytes Removed', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 141 - 'graph_category tahoe_storage_server', + 'graph_category Tahoe-LAFS Stats-Gatherer_storage_server', 'graph_info This graph shows cummulative bytes removed', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 151 ]), }, - 'tahoe_storage_operations_allocate': + 'tahoe_stats_storage_operations_allocate': { 'statid': 'storage_server.allocate', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 154 - 'configheader': '\n'.join(['graph_title Tahoe Storage Server Allocate_Bucket Operations', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Storage Server Allocate_Bucket Operations', 'graph_vlabel operations per second', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 156 - 'graph_category tahoe_storage_server', + 'graph_category Tahoe-LAFS Stats-Gatherer_storage_server', 'graph_info This graph shows how many allocate_buckets operations occured per second. Each immutable file upload causes one such operation per server.', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 168 ]), }, - 'tahoe_storage_operations_get': + 'tahoe_stats_storage_operations_get': { 'statid': 'storage_server.get', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 171 - 'configheader': '\n'.join(['graph_title Tahoe Storage Server get_bucket Operations', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Storage Server get_bucket Operations', 'graph_vlabel operations per second', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 173 - 'graph_category tahoe_storage_server', + 'graph_category Tahoe-LAFS Stats-Gatherer_storage_server', 'graph_info This graph shows how many get_bucket operations occured per second. Each immutable file download/check causes one such operation per server.', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 185 ]), }, - 'tahoe_storage_operations_writev': + 'tahoe_stats_storage_operations_writev': { 'statid': 'storage_server.writev', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 188 - 'configheader': '\n'.join(['graph_title Tahoe Storage Server writev Operations', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Storage Server writev Operations', 'graph_vlabel operations per second', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 190 - 'graph_category tahoe_storage_server', - 'graph_info This graph shows how many writev operations occured per second. Each mutable file / dirnode write causes one such operation per server.', + 'graph_category Tahoe-LAFS Stats-Gatherer_storage_server', + 'graph_info This graph shows how many writev operations occured per second. Each mutable file/dirnode write causes one such operation per server.', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', '%(name)s.type DERIVE', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 202 ]), }, - 'tahoe_storage_operations_readv': + 'tahoe_stats_storage_operations_readv': { 'statid': 'storage_server.readv', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 205 - 'configheader': '\n'.join(['graph_title Tahoe Storage Server readv Operations', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Storage Server readv Operations', 'graph_vlabel operations per second', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 207 - 'graph_category tahoe_storage_server', + 'graph_category Tahoe-LAFS Stats-Gatherer_storage_server', 'graph_info This graph shows how many readv operations occured per second. Each dirnode read causes one such operation per server.', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 221 # HELPER - 'tahoe_helper_incoming_files': + 'tahoe_stats_helper_incoming_files': { 'statid': 'chk_upload_helper.incoming_count', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 224 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Incoming File Count', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Incoming File Count', 'graph_vlabel n files', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 226 - 'graph_category tahoe_helper', - 'graph_info This graph shows number of incoming files', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', + 'graph_info This graph shows the number of incoming files', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', '%(name)s.draw LINE1', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 235 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_helper_incoming_filesize': + 'tahoe_stats_helper_incoming_filesize': { 'statid': 'chk_upload_helper.incoming_size', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 238 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Incoming File Size', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Incoming File Size', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 240 - 'graph_category tahoe_helper', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', 'graph_info This graph shows total size of incoming files', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 249 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_helper_incoming_files_old': + 'tahoe_stats_helper_incoming_files_old': { 'statid': 'chk_upload_helper.incoming_size_old', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 252 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Incoming Old Files', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Incoming Old Files', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 254 - 'graph_category tahoe_helper', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', 'graph_info This graph shows total size of old incoming files', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 264 ]), }, - 'tahoe_helper_encoding_files': + 'tahoe_stats_helper_encoding_files': { 'statid': 'chk_upload_helper.encoding_count', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 267 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Encoding File Count', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Encoding File Count', 'graph_vlabel n files', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 269 - 'graph_category tahoe_helper', - 'graph_info This graph shows number of encoding files', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', + 'graph_info This graph shows how many cache files are present in the encoding/directory,which holds ciphertext files that are being encoded and uploaded', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', '%(name)s.draw LINE1', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 278 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_helper_encoding_filesize': + 'tahoe_stats_helper_encoding_filesize': { 'statid': 'chk_upload_helper.encoding_size', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 281 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Encoding File Size', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Encoding File Size', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 283 - 'graph_category tahoe_helper', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', 'graph_info This graph shows total size of encoding files', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 292 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_helper_encoding_files_old': + 'tahoe_stats_helper_encoding_files_old': { 'statid': 'chk_upload_helper.encoding_size_old', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 295 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Encoding Old Files', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Encoding Old Files', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 297 - 'graph_category tahoe_helper', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', 'graph_info This graph shows total size of old encoding files', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 307 ]), }, - 'tahoe_helper_active_uploads': + 'tahoe_stats_helper_active_uploads': { 'statid': 'chk_upload_helper.active_uploads', 'category': 'stats', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 310 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Active Files', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Active Files', 'graph_vlabel n files', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 312 - 'graph_category tahoe_helper', - 'graph_info This graph shows number of files actively being processed by the helper', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', + 'graph_info This graph shows the number of files actively being processed by the helper', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', '%(name)s.draw LINE1', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 322 ]), }, - 'tahoe_helper_upload_requests': + 'tahoe_stats_helper_upload_requests': { 'statid': 'chk_upload_helper.upload_requests', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 325 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Upload Requests', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Upload Requests', 'graph_vlabel requests', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 327 - 'graph_category tahoe_helper', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', 'graph_info This graph shows the number of upload requests arriving at the helper', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 338 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_helper_upload_already_present': + 'tahoe_stats_helper_upload_already_present': { 'statid': 'chk_upload_helper.upload_already_present', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 341 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Uploads Already Present', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Uploads Already Present', 'graph_vlabel requests', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 343 - 'graph_category tahoe_helper', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', 'graph_info This graph shows the number of uploads whose files are already present in the grid', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 354 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_helper_upload_need_upload': + 'tahoe_stats_helper_upload_need_upload': { 'statid': 'chk_upload_helper.upload_need_upload', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 357 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Uploads Needing Upload', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Uploads Needing Upload', 'graph_vlabel requests', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 359 - 'graph_category tahoe_helper', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', 'graph_info This graph shows the number of uploads whose files are not already present in the grid', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 370 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_helper_encoded_bytes': + 'tahoe_stats_helper_encoded_bytes': { 'statid': 'chk_upload_helper.encoded_bytes', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 373 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Encoded Bytes', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Encoded Bytes', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 375 - 'graph_category tahoe_helper', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', 'graph_info This graph shows the number of bytes encoded by the helper', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 386 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_helper_fetched_bytes': + 'tahoe_stats_helper_fetched_bytes': { 'statid': 'chk_upload_helper.fetched_bytes', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 389 - 'configheader': '\n'.join(['graph_title Tahoe Upload Helper Fetched Bytes', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Upload Helper Fetched Bytes', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 391 - 'graph_category tahoe_helper', + 'graph_category Tahoe-LAFS Stats-Gatherer_helper', 'graph_info This graph shows the number of bytes fetched by the helper', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 404 }, # WEBAPI - 'tahoe_uploader_bytes_uploaded': + 'tahoe_stats_uploader_bytes_uploaded': { 'statid': 'uploader.bytes_uploaded', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 407 - 'configheader': '\n'.join(['graph_title Tahoe Uploader Bytes Uploaded', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Uploader Bytes Uploaded', 'graph_vlabel bytes', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 409 - 'graph_category tahoe_traffic', + 'graph_category Tahoe-LAFS Stats-Gatherer_traffic', 'graph_info This graph shows the number of bytes uploaded', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 420 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_uploader_files_uploaded': + 'tahoe_stats_uploader_files_uploaded': { 'statid': 'uploader.files_uploaded', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 423 - 'configheader': '\n'.join(['graph_title Tahoe Uploader Bytes Uploaded', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Uploader Files Uploaded', 'graph_vlabel files', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 425 - 'graph_category tahoe_traffic', + 'graph_category Tahoe-LAFS Stats-Gatherer_traffic', 'graph_info This graph shows the number of files uploaded', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 436 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_mutable_files_published': + 'tahoe_stats_mutable_files_published': { 'statid': 'mutable.files_published', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 439 - 'configheader': '\n'.join(['graph_title Tahoe Mutable Files Published', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Mutable Files Published', 'graph_vlabel files', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 441 - 'graph_category tahoe_traffic', + 'graph_category Tahoe-LAFS Stats-Gatherer_traffic', 'graph_info This graph shows the number of mutable files published', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 452 'graph_render': '\n'.join(['%(name)s.value %(value)s', ]), }, - 'tahoe_mutable_files_retrieved': + 'tahoe_stats_mutable_files_retrieved': { 'statid': 'mutable.files_retrieved', 'category': 'counters', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 455 - 'configheader': '\n'.join(['graph_title Tahoe Mutable Files Retrieved', + 'configheader': '\n'.join(['graph_title Tahoe-LAFS Mutable Files Retrieved', 'graph_vlabel files', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 457 - 'graph_category tahoe_traffic', + 'graph_category Tahoe-LAFS Stats-Gatherer_traffic', 'graph_info This graph shows the number of files retrieved', ]), 'graph_config': '\n'.join(['%(name)s.label %(name)s', hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 498 now = time.time() def output_nodes(output_section, check_time): + str_name="" for tubid, nodestats in stats.items(): hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 500 - if check_time and (now - nodestats.get('timestamp', 0)) > STAT_VALIDITY: - continue + #if check_time and (now - nodestats.get('timestamp', 0)) > STAT_VALIDITY: + # continue name = smash_name("%s_%s" % (nodestats['nickname'], tubid[:4])) hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 503 + str_name+=" %s " % smash_name(nodestats['nickname']) + #value = nodestats['stats'][plugin_conf['category']].get(plugin_conf['statid']) category = plugin_conf['category'] statid = plugin_conf['statid'] hunk ./misc/operations_helpers/munin/stats-gatherer_plugins/tahoe_stats 512 if value is not None: args = { 'name': name, 'value': value } print plugin_conf[output_section] % args + else: + value = "0" + args = { 'name': name, 'value': value } + print plugin_conf[output_section] % args if len(argv) > 1: if sys.argv[1] == 'config': } Context: [abbreviate time edge case python2.5 unit test jacob.lyles@gmail.com**20100729210638 Ignore-this: 80f9b1dc98ee768372a50be7d0ef66af ] [docs: add Jacob Lyles to CREDITS zooko@zooko.com**20100730230500 Ignore-this: 9dbbd6a591b4b1a5a8dcb69b7b757792 ] [web: don't use %d formatting on a potentially large negative float -- there is a bug in Python 2.5 in that case jacob.lyles@gmail.com**20100730220550 Ignore-this: 7080eb4bddbcce29cba5447f8f4872ee fixes #1055 ] [test_upload.py: rename test_problem_layout_ticket1124 to test_problem_layout_ticket_1124 -- fix .todo reference. david-sarah@jacaranda.org**20100729152927 Ignore-this: c8fe1047edcc83c87b9feb47f4aa587b ] [test_upload.py: rename test_problem_layout_ticket1124 to test_problem_layout_ticket_1124 for consistency. david-sarah@jacaranda.org**20100729142250 Ignore-this: bc3aad5919ae9079ceb9968ad0f5ea5a ] [docs: fix licensing typo that was earlier fixed in [20090921164651-92b7f-7f97b58101d93dc588445c52a9aaa56a2c7ae336] zooko@zooko.com**20100729052923 Ignore-this: a975d79115911688e5469d4d869e1664 I wish we didn't copies of this licensing text in several different files so that changes can be accidentally omitted from some of them. ] [misc/build_helpers/run-with-pythonpath.py: fix stale comment, and remove 'trial' example that is not the right way to run trial. david-sarah@jacaranda.org**20100726225729 Ignore-this: a61f55557ad69a1633bfb2b8172cce97 ] [docs/specifications/dirnodes.txt: 'mesh'->'grid'. david-sarah@jacaranda.org**20100723061616 Ignore-this: 887bcf921ef00afba8e05e9239035bca ] [docs/specifications/dirnodes.txt: bring layer terminology up-to-date with architecture.txt, and a few other updates (e.g. note that the MAC is no longer verified, and that URIs can be unknown). Also 'Tahoe'->'Tahoe-LAFS'. david-sarah@jacaranda.org**20100723054703 Ignore-this: f3b98183e7d0a0f391225b8b93ac6c37 ] [docs: use current cap to Zooko's wiki page in example text zooko@zooko.com**20100721010543 Ignore-this: 4f36f36758f9fdbaf9eb73eac23b6652 fixes #1134 ] [__init__.py: silence DeprecationWarning about BaseException.message globally. fixes #1129 david-sarah@jacaranda.org**20100720011939 Ignore-this: 38808986ba79cb2786b010504a22f89 ] [test_runner: test that 'tahoe --version' outputs no noise (e.g. DeprecationWarnings). david-sarah@jacaranda.org**20100720011345 Ignore-this: dd358b7b2e5d57282cbe133e8069702e ] [TAG allmydata-tahoe-1.7.1 zooko@zooko.com**20100719131352 Ignore-this: 6942056548433dc653a746703819ad8c ] [relnotes.txt: updated for v1.7.1 release! zooko@zooko.com**20100719083059 Ignore-this: 9f10eb19b65a39d652b546c57481da45 ] [immutable: add test case of #1128, fix test case of #1118 zooko@zooko.com**20100719081612 Ignore-this: 8f9f742e7dac2bd9b49c19bd10f1c204 ] [NEWS: add #1118 and reflow zooko@zooko.com**20100719081248 Ignore-this: 37a2e39d58c7b584b3c7f193bc1b30df ] [immutable: fix bug in which preexisting_shares and merged were shallowly referencing the same sets zooko@zooko.com**20100719075426 Ignore-this: 90827f8ce7ff0fc0c3c7f819399b8cf0 This bug had the effect of making uploads sometimes (rarely) appear to succeed when they had actually not distributed the shares well enough to achieve the desired servers-of-happiness level. ] [upload.py: fix #1118 by aborting newly-homeless buckets when reassignment runs. This makes a previously failing assert correct. This version refactors 'abort' into two methods, rather than using a default argument. david-sarah@jacaranda.org**20100719044655 Ignore-this: 142d182c0739986812140bb8387077d5 ] [docs/known_issues.txt: update release version and date. david-sarah@jacaranda.org**20100718235940 Ignore-this: dbbb42dbfa6c0d205a0b8e6e58eee9c7 ] [relnotes.txt, docs/quickstart.html: prepare for 1.7.1 release. Don't claim to work on Cygwin (this might work but is untested). david-sarah@jacaranda.org**20100718235437 Ignore-this: dfc7334ee4bb76c04ee19304a7f1024b ] [immutable: extend the tests to check that the shares that got uploaded really do make a sufficiently Happy distribution zooko@zooko.com**20100719045047 Ignore-this: 89c33a7b795e23018667351045a8d5d0 This patch also renames some instances of "find_shares()" to "find_all_shares()" and other instances to "find_uri_shares()" as appropriate -- the conflation between those names confused me at first when writing these tests. ] [immutable: test for #1118 zooko@zooko.com**20100718221537 Ignore-this: 8882aabe2aaec6a0148c87e735d817ad ] [immutable: test for #1124 zooko@zooko.com**20100718222907 Ignore-this: 1766e3cbab92ea2a9e246f40eb6e770b ] [docs/logging.txt: document that _trial_temp/test.log does not receive messages below level=OPERATIONAL, due to . david-sarah@jacaranda.org**20100718230420 Ignore-this: aef40f2e74ddeabee5e122e8d80893a1 ] [trivial: fix unused import (sorry about that, pyflakes) zooko@zooko.com**20100718215133 Ignore-this: c2414e443405072b51d552295f2c0e8c ] [tests, NEWS, CREDITS re: #1117 zooko@zooko.com**20100718203225 Ignore-this: 1f08be2c692fb72cc0dd023259f11354 Give Brian and Kevan promotions, move release date in NEWS to the 18th, commit Brian's test for #1117. fixes #1117 ] [test/test_upload.py: test to see that aborted buckets are ignored by the storage server Kevan Carstensen **20100716001046 Ignore-this: cc075c24b1c86d737f3199af894cc780 ] [test/test_storage.py: test for the new remote_abort semantics. Kevan Carstensen **20100715232148 Ignore-this: d3d6491f17bf670e770ca4b385007515 ] [storage/immutable.py: make remote_abort btell the storage server about aborted buckets. Kevan Carstensen **20100715232105 Ignore-this: 16ab0090676355abdd5600ed44ff19c9 ] [test/test_upload.py: changes to test plumbing for #1117 tests Kevan Carstensen **20100715231820 Ignore-this: 78a6d359d7bf8529d283e2815bf1e2de - Add a callRemoteOnly method to FakeBucketWriter. - Change the abort method in FakeBucketWriter to not return a RuntimeError. ] [immutable/upload.py: abort buckets if peer selection fails Kevan Carstensen **20100715231714 Ignore-this: 2a0b643a22284df292d8ed9d91b1fd37 ] [test_encodingutil: correct an error in the previous patch to StdlibUnicode.test_open_representable. david-sarah@jacaranda.org**20100718151420 Ignore-this: af050955f623fbc0e4d78e15a0a8a144 ] [NEWS: Forward-compatibility improvements for non-ASCII caps (#1051). david-sarah@jacaranda.org**20100718143622 Ignore-this: 1edfebc4bd38a3b5c35e75c99588153f ] [test_dirnode and test_web: don't use failUnlessReallyEqual in cases where the return type from simplejson.loads can vary between unicode and str. Use to_str when comparing URIs parsed from JSON. david-sarah@jacaranda.org**20100718142915 Ignore-this: c4e78ef4b1478dd400da71cf077ffa4a ] [test_encodingutil: StdlibUnicode.test_open_representable no longer uses a mock. david-sarah@jacaranda.org**20100718125412 Ignore-this: 4bf373a5e2dfe4209e5e364124af29a3 ] [docs: add comment clarifying #1051 zooko@zooko.com**20100718053250 Ignore-this: 6cfc0930434cbdbbc262dabb58f1505d ] [docs: update NEWS zooko@zooko.com**20100718053225 Ignore-this: 63d5c782ef84812e6d010f0590866831 ] [Add tests of caps from the future that have non-ASCII characters in them (encoded as UTF-8). The changes to test_uri.py, test_client.py, and test_dirnode.py add tests of non-ASCII future caps in addition to the current tests. The changes to test_web.py just replace the tests of all-ASCII future caps with tests of non-ASCII future caps. We also change uses of failUnlessEqual to failUnlessReallyEqual, in order to catch cases where the type of a string is not as expected. david-sarah@jacaranda.org**20100711200252 Ignore-this: c2f193352369d32e06865f8f3e951894 ] [Debian documentation update jacob@appelbaum.net**20100305003004] [debian-docs-patch-final jacob@appelbaum.net**20100304085955] [M-x whitespace-cleanup zooko@zooko.com**20100718032739 Ignore-this: babfd4af6ad2fc885c957fd5c8b10c3f ] [docs: tidy up NEWS a little zooko@zooko.com**20100718032434 Ignore-this: 54f2820fd1a37c8967609f6bfc4e5e18 ] [benchmarking: update bench_dirnode.py to reflect the new directory interfaces zooko@zooko.com**20100718031710 Ignore-this: 368ba523dd3de80d9da29cd58afbe827 ] [test_encodingutil: fix test_open_representable, which is only valid when run on a platform for which we know an unrepresentable filename. david-sarah@jacaranda.org**20100718030333 Ignore-this: c114d92c17714a5d4ae005c15267d60c ] [iputil.py: Add support for FreeBSD 7,8 and 9 francois@ctrlaltdel.ch**20100718022832 Ignore-this: 1829b4cf4b91107f4cf87841e6167e99 committed by: zooko@zooko.com date: 2010-07-17 and I also patched: NEWS and CREDITS ] [NEWS: add snippet about #1083 zooko@zooko.com**20100718020653 Ignore-this: d353a9d93cbc5a5e6ba4671f78d1e22b ] [fileutil: docstrings for non-obvious usage restrictions on methods of EncryptedTemporaryFile. david-sarah@jacaranda.org**20100717054647 Ignore-this: 46d8fc10782fa8ec2b6c5b168c841943 ] [Move EncryptedTemporaryFile from SFTP frontend to allmydata.util.fileutil, and make the FTP frontend also use it (fixing #1083). david-sarah@jacaranda.org**20100711213721 Ignore-this: e452e8ca66391aa2a1a49afe0114f317 ] [NEWS: reorder NEWS snippets to be in descending order of interestingness zooko@zooko.com**20100718015929 Ignore-this: 146c42e88a9555a868a04a69dd0e5326 ] [Correct stringutils->encodingutil patch to be the newer version, rather than the old version that was committed in error. david-sarah@jacaranda.org**20100718013435 Ignore-this: c8940c4e1aa2e9acc80cd4fe54753cd8 ] [test_cli.py: fix error that crept in when rebasing the patch for #1072. david-sarah@jacaranda.org**20100718000123 Ignore-this: 3e8f6cc3a27b747c708221dd581934f4 ] [stringutils: add test for when sys.stdout has no encoding attribute (fixes #1099). david-sarah@jacaranda.org**20100717045816 Ignore-this: f28dce6940e909f12f354086d17db54f ] [CLI: add 'tahoe unlink' as an alias to 'tahoe rm', for forward-compatibility. david-sarah@jacaranda.org**20100717220411 Ignore-this: 3ecdde7f2d0498514cef32e118e0b855 ] [minor code clean-up in dirnode.py zooko@zooko.com**20100714060255 Ignore-this: bb0ab2783203e605024b3e2f798256a1 Impose micro-POLA by passing only the writekey instead of the whole node object to {{{_encrypt_rw_uri()}}}. Remove DummyImmutableFileNode in nodemaker.py, which is obviated by this. Add micro-optimization by precomputing the netstring of the empty string and branching on whether the writekey is present or not outside of {{{_encrypt_rw_uri()}}}. Add doc about writekey to docstring. fixes #967 ] [Rename stringutils to encodingutil, and drop listdir_unicode and open_unicode (since the Python stdlib functions work fine with Unicode paths). Also move some utility functions to fileutil. david-sarah@jacaranda.org**20100712003015 Ignore-this: 103b809d180df17a7283077c3104c7be ] [Allow URIs passed in the initial JSON for t=mkdir-with-children, t=mkdir-immutable to be Unicode. Also pass the name of each child into nodemaker.create_from_cap for error reporting. david-sarah@jacaranda.org**20100711195525 Ignore-this: deac32d8b91ba26ede18905d3f7d2b93 ] [docs: CREDITS and NEWS zooko@zooko.com**20100714060150 Ignore-this: dc83e612f77d69e50ee975f07f6b16fe ] [CREDITS: more creds for Kevan, plus utf-8 BOM zooko@zooko.com**20100619045503 Ignore-this: 72d02bdd7a0f324f1cee8cd399c7c6de ] [cli.py: make command descriptions consistently end with a full stop. david-sarah@jacaranda.org**20100714014538 Ignore-this: 9ee7fa29ca2d1631db4049c2a389a97a ] [SFTP: address some of the comments in zooko's review (#1106). david-sarah@jacaranda.org**20100712025537 Ignore-this: c3921638a2d4f1de2a776ae78e4dc37e ] [docs/logging.txt: note that setting flogging vars might affect tests with race conditions. david-sarah@jacaranda.org**20100712050721 Ignore-this: fc1609d215fcd5561a57fd1226206f27 ] [test_storage.py: potential fix for failures when logging is enabled. david-sarah@jacaranda.org**19700713040546 Ignore-this: 5815693a0df3e64c52c3c6b7be2846c7 ] [upcase_since_on_welcome terrellrussell@gmail.com**20100708193903] [server_version_on_welcome_page.dpatch.txt freestorm77@gmail.com**20100605191721 Ignore-this: b450c76dc875f5ac8cca229a666cbd0a - The storage server version is 0 for all storage nodes in the Welcome Page ] [NEWS: add NEWS snippets about two recent patches zooko@zooko.com**20100708162058 Ignore-this: 6c9da6a0ad7351a960bdd60f81532899 ] [directory_html_top_banner.dpatch freestorm77@gmail.com**20100622205301 Ignore-this: 1d770d975e0c414c996564774f049bca The div tag with the link "Return to Welcome page" on the directory.xhtml page is not correct ] [tahoe_css_toolbar.dpatch freestorm77@gmail.com**20100622210046 Ignore-this: 5b3ebb2e0f52bbba718a932f80c246c0 CSS modification to be correctly diplayed with Internet Explorer 8 The links on the top of page directory.xhtml are not diplayed in the same line as display with Firefox. ] [runnin_test_tahoe_css.dpatch freestorm77@gmail.com**20100622214714 Ignore-this: e0db73d68740aad09a7b9ae60a08c05c Runnin test for changes in tahoe.css file ] [runnin_test_directory_xhtml.dpatch freestorm77@gmail.com**20100622201403 Ignore-this: f8962463fce50b9466405cb59fe11d43 Runnin test for diretory.xhtml top banner ] [stringutils.py: tolerate sys.stdout having no 'encoding' attribute. david-sarah@jacaranda.org**20100626040817 Ignore-this: f42cad81cef645ee38ac1df4660cc850 ] [quickstart.html: python 2.5 -> 2.6 as recommended version david-sarah@jacaranda.org**20100705175858 Ignore-this: bc3a14645ea1d5435002966ae903199f ] [SFTP: don't call .stopProducing on the producer registered with OverwriteableFileConsumer (which breaks with warner's new downloader). david-sarah@jacaranda.org**20100628231926 Ignore-this: 131b7a5787bc85a9a356b5740d9d996f ] [docs/how_to_make_a_tahoe-lafs_release.txt: trivial correction, install.html should now be quickstart.html. david-sarah@jacaranda.org**20100625223929 Ignore-this: 99a5459cac51bd867cc11ad06927ff30 ] [setup: in the Makefile, refuse to upload tarballs unless someone has passed the environment variable "BB_BRANCH" with value "trunk" zooko@zooko.com**20100619034928 Ignore-this: 276ddf9b6ad7ec79e27474862e0f7d6 ] [trivial: tiny update to in-line comment zooko@zooko.com**20100614045715 Ignore-this: 10851b0ed2abfed542c97749e5d280bc (I'm actually committing this patch as a test of the new eager-annotation-computation of trac-darcs.) ] [docs: about.html link to home page early on, and be decentralized storage instead of cloud storage this time around zooko@zooko.com**20100619065318 Ignore-this: dc6db03f696e5b6d2848699e754d8053 ] [docs: update about.html, especially to have a non-broken link to quickstart.html, and also to comment out the broken links to "for Paranoids" and "for Corporates" zooko@zooko.com**20100619065124 Ignore-this: e292c7f51c337a84ebfeb366fbd24d6c ] [TAG allmydata-tahoe-1.7.0 zooko@zooko.com**20100619052631 Ignore-this: d21e27afe6d85e2e3ba6a3292ba2be1 ] [docs: update relnotes.txt for Tahoe-LAFS v1.7.0! zooko@zooko.com**20100619052048 Ignore-this: 1dd2c851f02adf3ab5a33040051fe05a ... and remove relnotes-short.txt (just use the first section of relnotes.txt for that purpose) ] [docs: update known_issues.txt with more detail about web browser "safe-browsing" features and slightly tweaked formatting zooko@zooko.com**20100619051734 Ignore-this: afc10be0da2517ddd0b58e42ef9aa46d ] [docs: quickstart.html: link to 1.7.0 zip file and add UTF-8 BOM zooko@zooko.com**20100619050124 Ignore-this: 5104fc90af542b97662b4016da975f34 ] [docs: more CREDITS for Kevan, plus utf-8 BOM zooko@zooko.com**20100619045809 Ignore-this: ee9c3b7cf7e385c8ca396091cebc9ca6 ] [docs: update NEWS for release 1.7.0 zooko@zooko.com**20100619045750 Ignore-this: 112c352fd52297ebff8138896fc6353d ] [docs: apply patch from duck for #937 about "tahoe run" not working on introducers zooko@zooko.com**20100619040754 Ignore-this: d7213313f16e524996e91058e287a954 ] [webapi.txt: fix statement about leap seconds. david-sarah@jacaranda.org**20100619035603 Ignore-this: 80b685446e915877a421cf3e31cedf30 ] [running.html: Tahoe->Tahoe-LAFS in what used to be using.html, and #tahoe->#tahoe-lafs (IRC channel). david-sarah@jacaranda.org**20100619033152 Ignore-this: a0dfdfb46eab639aaa064981fb933c5c ] [test_backupdb.py: skip test_unicode if we can't represent the test filenames. david-sarah@jacaranda.org**20100619022620 Ignore-this: 6ee564b6c07f9bb0e89a25dc5b37194f ] [test_web.py: correct a test that was missed in the change to not write ctime/mtime. david-sarah@jacaranda.org**20100619021718 Ignore-this: 92edc2e1fd43b3e86e6b49bc43bae122 ] [dirnode.py: stop writing 'ctime' and 'mtime' fields. Includes documentation and test changes. david-sarah@jacaranda.org**20100618230119 Ignore-this: 709119898499769dd64c7977db7c84a6 ] [test_storage.py: print more information on test failures. david-sarah@jacaranda.org**20100617034623 Ignore-this: cc9a8656802a718ca4f2a6a530d35977 ] [running.html: describe where 'bin/tahoe' is only once. david-sarah@jacaranda.org**20100617033603 Ignore-this: 6d92d9d8c77f3dfddfa7d061cbf2a791 ] [Merge using.html into running.html. david-sarah@jacaranda.org**20100617012857 Ignore-this: a0fa8b56621fdb976bef4e5f4f6c824a ] [Remove firewall section from running.html and say to read configuration.txt instead. david-sarah@jacaranda.org**20100617004513 Ignore-this: d2e46fffa4855b01093e8240b5fd1eff ] [FTP-and-SFTP.txt: add Known Issues section. david-sarah@jacaranda.org**20100619004311 Ignore-this: 8d9b1da941cbc24657bb6ec268f984dd ] [FTP-and-SFTP.txt: remove description of public key format that is not actually implemented. Document that SFTP does not support server private keys with passphrases, and that FTP cannot list directories containing mutable files. david-sarah@jacaranda.org**20100619001738 Ignore-this: bf9ef53b85b934822ec76060e1fcb3cb ] [configuration.txt and servers-of-happiness.txt: 1 <= happy <= N, not k <= happy <= N. Also minor wording changes. david-sarah@jacaranda.org**20100618050710 Ignore-this: edac0716e753e1f1c4c755c85bec9a19 ] [test_cli.py: fix test failure in CLI.test_listdir_unicode_good due to filenames returned from listdir_unicode no longer being normalized. david-sarah@jacaranda.org**20100618045110 Ignore-this: 598ffaef02d71e075f7e08fac44f48ff ] [tahoe backup: unicode tests. david-sarah@jacaranda.org**20100618035211 Ignore-this: 88ebab9f3218f083fdc635bff6599b60 ] [CLI: allow Unicode patterns in exclude option to 'tahoe backup'. david-sarah@jacaranda.org**20100617033901 Ignore-this: 9d971129e1c8bae3c1cc3220993d592e ] [dirnodes: fix normalization hole where childnames in directories created by nodemaker.create_mutable/immutable_directory would not be normalized. Add a test that we normalize names coming out of a directory. david-sarah@jacaranda.org**20100618000249 Ignore-this: 46a9226eff1003013b067edbdbd4c25b ] [dirnode.py: comments about normalization changes. david-sarah@jacaranda.org**20100617041411 Ignore-this: 9040c4854e73a71dbbb55b50ea3b41b2 ] [stringutils.py: remove unused import. david-sarah@jacaranda.org**20100617034440 Ignore-this: 16ec7d737c34665156c2ac486acd545a ] [test_stringutils.py: take account of the output of listdir_unicode no longer being normalized. Also use Unicode escapes, not UTF-8. david-sarah@jacaranda.org**20100617034409 Ignore-this: 47f3f072f0e2efea0abeac130f84c56f ] [test_dirnode.py: partial tests for normalization changes. david-sarah@jacaranda.org**20100617034025 Ignore-this: 2e3169dd8b120d42dff35bd267dcb417 ] [SFTP: get 'ctime' attribute from 'tahoe:linkmotime'. david-sarah@jacaranda.org**20100617033744 Ignore-this: b2fabe12235f2e2a487c0b56c39953e7 ] [stringutils.py: don't NFC-normalize the output of listdir_unicode. david-sarah@jacaranda.org**20100617015537 Ignore-this: 93c9b6f3d7c6812a0afa8d9e1b0b4faa ] [stringutils.py: Add encoding argument to quote_output. Also work around a bug in locale.getpreferredencoding on older Pythons. david-sarah@jacaranda.org**20100616042012 Ignore-this: 48174c37ad95205997e4d3cdd81f1e28 ] [Provisional patch to NFC-normalize filenames going in and out of Tahoe directories. david-sarah@jacaranda.org**20100616031450 Ignore-this: ed08c9d8df37ef0b7cca42bb562c996b ] [how_to_make_a_tahoe-lafs_release.txt: reordering, add fuse-sshfs@lists.sourceforge.list as place to send relnotes. david-sarah@jacaranda.org**20100618041854 Ignore-this: 2e380a6e72917d3a20a65ceccd9a4df ] [running.html: fix overeager replacement of 'tahoe' with 'Tahoe-LAFS', and some simplifications. david-sarah@jacaranda.org**20100617000952 Ignore-this: 472b4b531c866574ed79f076b58495b5 ] [Add a specification for servers of happiness. Kevan Carstensen **20100524003508 Ignore-this: 982e2be8a411be5beaf3582bdfde6151 ] [Note that servers of happiness only applies to immutable files for the moment Kevan Carstensen **20100524042836 Ignore-this: cf83cac7a2b3ed347ae278c1a7d9a176 ] [Add a note about running Tahoe-LAFS on a small grid to running.html zooko@zooko.com**20100616140227 Ignore-this: 14dfbff0d47144f7c2375108c6055dc2 also Change "tahoe" and "Tahoe" to "Tahoe-LAFS" in running.html author: Kevan Carstensen ] [test_system.py: investigate failure in allmydata.test.test_system.SystemTest.test_upload_and_download_random_key due to bytes_sent not being an int david-sarah@jacaranda.org**20100616001648 Ignore-this: 9c78092ab7bfdc909acae3a144ddd1f8 ] [SFTP: remove a dubious use of 'pragma: no cover'. david-sarah@jacaranda.org**20100613164356 Ignore-this: 8f96a81b1196017ed6cfa1d914e56fa5 ] [SFTP: test that renaming onto a just-opened file fails. david-sarah@jacaranda.org**20100612033709 Ignore-this: 9b14147ad78b16a5ab0e0e4813491414 ] [SFTP: further small improvements to test coverage. Also ensure that after a test failure, later tests don't fail spuriously due to the checks for heisenfile leaks. david-sarah@jacaranda.org**20100612030737 Ignore-this: 4ec1dd3d7542be42007987a2f51508e7 ] [SFTP: further improve test coverage (paths containing '.', bad data for posix-rename extension, and error in test of openShell). david-sarah@jacaranda.org**20100611213142 Ignore-this: 956f9df7f9e8a66b506ca58dd9a5dbe7 ] [SFTP: improve test coverage for no-write on mutable files, and check for heisenfile table leaks in all relevant tests. Delete test_memory_leak since it is now redundant. david-sarah@jacaranda.org**20100611205752 Ignore-this: 88be1cf323c10dd534a4b8fdac121e31 ] [CLI.txt: introduce 'create-alias' before 'add-alias', document Unicode argument support, and other minor updates. david-sarah@jacaranda.org**20100610225547 Ignore-this: de7326e98d79291cdc15aed86ae61fe8 ] [SFTP: add test for extension of file opened with FXF_APPEND. david-sarah@jacaranda.org**20100610182647 Ignore-this: c0216d26453ce3cb4b92eef37d218fb4 ] [NEWS: add UTF-8 coding declaration. david-sarah@jacaranda.org**20100609234851 Ignore-this: 3e6ef125b278e0a982c88d23180a78ae ] [tests: bump up the timeout on this iputil test from 2s to 4s zooko@zooko.com**20100609143017 Ignore-this: 786b7f7bbc85d45cdf727a6293750798 ] [docs: a few tweaks to NEWS and CREDITS and make quickstart.html point to 1.7.0β! zooko@zooko.com**20100609142927 Ignore-this: f8097d3062f41f06c4420a7c84a56481 ] [docs: Update NEWS file with new features and bugfixes in 1.7.0 francois@ctrlaltdel.ch**20100609091120 Ignore-this: 8c1014e4469ef530e5ff48d7d6ae71c5 ] [docs: wording fix, thanks to Jeremy Visser, fix #987 francois@ctrlaltdel.ch**20100609081103 Ignore-this: 6d2e627e0f1cd58c0e1394e193287a4b ] [SFTP: fix most significant memory leak described in #1045 (due to a file being added to all_heisenfiles under more than one direntry when renamed). david-sarah@jacaranda.org**20100609080003 Ignore-this: 490b4c14207f6725d0dd32c395fbcefa ] [test_stringutils.py: Fix test failure on CentOS builder, possibly Python 2.4.3-related. david-sarah@jacaranda.org**20100609065056 Ignore-this: 503b561b213baf1b92ae641f2fdf080a ] [Fix for Unicode-related test failures on Zooko's OS X 10.6 machine. david-sarah@jacaranda.org**20100609055448 Ignore-this: 395ad16429e56623edfa74457a121190 ] [docs: update relnote.txt for Tahoe-LAFS v1.7.0β zooko@zooko.com**20100609054602 Ignore-this: 52e1bf86a91d45315960fb8806b7a479 ] [stringutils.py, sftpd.py: Portability fixes for Python <= 2.5. david-sarah@jacaranda.org**20100609013302 Ignore-this: 9d9ce476ee1b96796e0f48cc5338f852 ] [setup: move the mock library from install_requires to tests_require (re: #1016) zooko@zooko.com**20100609050542 Ignore-this: c51a4ff3e19ed630755be752d2233db4 ] [Back out Windows-specific Unicode argument support for v1.7. david-sarah@jacaranda.org**20100609000803 Ignore-this: b230ffe6fdaf9a0d85dfe745b37b42fb ] [_auto_deps.py: allow Python 2.4.3 on Redhat-based distributions. david-sarah@jacaranda.org**20100609003646 Ignore-this: ad3cafdff200caf963024873d0ebff3c ] [setup: show-tool-versions.py: print out the output from the unix command "locale" and re-arrange encoding data a little bit zooko@zooko.com**20100609040714 Ignore-this: 69382719b462d13ff940fcd980776004 ] [setup: add zope.interface to the packages described by show-tool-versions.py zooko@zooko.com**20100609034915 Ignore-this: b5262b2af5c953a5f68a60bd48dcaa75 ] [CREDITS: update François's Description zooko@zooko.com**20100608155513 Ignore-this: a266b438d25ca2cb28eafff75aa4b2a ] [CREDITS: jsgf zooko@zooko.com**20100608143052 Ignore-this: 10abe06d40b88e22a9107d30f1b84810 ] [setup: rename the setuptools_trial .egg that comes bundled in the base dir to not have "-py2.6" in its name, since it works with other versions of python as well zooko@zooko.com**20100608041607 Ignore-this: 64fe386d2e5fba0ab441116e74dad5a3 ] [setup: rename the darcsver .egg that comes bundled in the base dir to not have "-py2.6" in its name, since it works with other versions of python as well zooko@zooko.com**20100608041534 Ignore-this: 53f925f160256409cf01b76d2583f83f ] [SFTP: suppress NoSuchChildError if heisenfile attributes have been updated in setAttrs, in the case where the parent is available. david-sarah@jacaranda.org**20100608063753 Ignore-this: 8c72a5a9c15934f8fe4594ba3ee50ddd ] [SFTP: ignore permissions when opening a file (needed for sshfs interoperability). david-sarah@jacaranda.org**20100608055700 Ignore-this: f87f6a430f629326a324ddd94426c797 ] [test_web.py: fix pyflakes warnings introduced by byterange patch. david-sarah@jacaranda.org**20100608042012 Ignore-this: a7612724893b51d1154dec4372e0508 ] [Improve HTTP/1.1 byterange handling Jeremy Fitzhardinge **20100310025913 Ignore-this: 6d69e694973d618f0dc65983735cd9be Fix parsing of a Range: header to support: - multiple ranges (parsed, but not returned) - suffix byte ranges ("-2139") - correct handling of incorrectly formatted range headers (correct behaviour is to ignore the header and return the full file) - return appropriate error for ranges outside the file Multiple ranges are parsed, but only the first range is returned. Returning multiple ranges requires using the multipart/byterange content type. ] [tests: bump up the timeout on these tests; MM's buildslave is sometimes extremely slow on tests, but it will complete them if given enough time. MM is working on making that buildslave more predictable in how long it takes to run tests. zooko@zooko.com**20100608033754 Ignore-this: 98dc27692c5ace1e4b0650b6680629d7 ] [test_cli.py: remove invalid 'test_listdir_unicode_bad' test. david-sarah@jacaranda.org**20100607183730 Ignore-this: fadfe87980dc1862f349bfcc21b2145f ] [check_memory.py: adapt to servers-of-happiness changes. david-sarah@jacaranda.org**20100608013528 Ignore-this: c6b28411c543d1aea2f148a955f7998 ] [show-tool-versions.py: platform.linux_distribution() is not always available david-sarah@jacaranda.org**20100608004523 Ignore-this: 793fb4050086723af05d06bed8b1b92a ] [show-tool-versions.py: show platform.linux_distribution() david-sarah@jacaranda.org**20100608003829 Ignore-this: 81cb5e5fc6324044f0fc6d82903c8223 ] [Remove the 'tahoe debug consolidate' subcommand. david-sarah@jacaranda.org**20100607183757 Ignore-this: 4b14daa3ae557cea07d6e119d25dafe9 ] [common_http.py, tahoe_cp.py: Fix an error in calling the superclass constructor in HTTPError and MissingSourceError (introduced by the Unicode fixes). david-sarah@jacaranda.org**20100607174714 Ignore-this: 1a118d593d81c918a4717c887f033aec ] [tests: drastically increase timeout of this very time-consuming test in honor of François's ARM box zooko@zooko.com**20100607115929 Ignore-this: bf1bb52ffb6b5ccae71d4dde14621bc8 ] [setup: update authorship, datestamp, licensing, and add special exceptions to allow combination with Eclipse- and QPL- licensed code zooko@zooko.com**20100607062329 Ignore-this: 5a1d7b12dfafd61283ea65a245416381 ] [FTP-and-SFTP.txt: minor technical correction to doc for 'no-write' flag. david-sarah@jacaranda.org**20100607061600 Ignore-this: 66aee0c1b6c00538602d08631225e114 ] [test_stringutils.py: trivial error in exception message for skipped test. david-sarah@jacaranda.org**20100607061455 Ignore-this: f261a5d4e2b8fe3bcc37e02539ba1ae2 ] [More Unicode test fixes. david-sarah@jacaranda.org**20100607053358 Ignore-this: 6a271fb77c31f28cb7bdba63b26a2dd2 ] [Unicode fixes for platforms with non-native-Unicode filesystems. david-sarah@jacaranda.org**20100607043238 Ignore-this: 2134dc1793c4f8e50350bd749c4c98c2 ] [Unicode fixes. david-sarah@jacaranda.org**20100607010215 Ignore-this: d58727b5cd2ce00e6b6dae3166030138 ] [setup: organize misc/ scripts and tools and remove obsolete ones zooko@zooko.com**20100607051618 Ignore-this: 161db1158c6b7be8365b0b3dee2e0b28 This is for ticket #1068. ] [quickstart.html: link to snapshots page, sorted with most recent first. david-sarah@jacaranda.org**20100606221127 Ignore-this: 93ea7e6ee47acc66f6daac9cabffed2d ] [quickstart.html: We haven't released 1.7beta yet. david-sarah@jacaranda.org**20100606220301 Ignore-this: 4e18898cfdb08cc3ddd1ff94d43fdda7 ] [setup: loosen the Desert Island test to allow it to check the network for new packages as long as it doesn't actually download any zooko@zooko.com**20100606175717 Ignore-this: e438a8eb3c1b0e68080711ec6ff93ffa (You can look but don't touch.) ] [Raise Python version requirement to 2.4.4 for non-UCS-2 builds, to avoid a critical Python security bug. david-sarah@jacaranda.org**20100605031713 Ignore-this: 2df2b6d620c5d8191c79eefe655059e2 ] [setup: have the buildbots print out locale.getpreferredencoding(), locale.getdefaultlocale(), locale.getlocale(), and os.path.supports_unicode_filenames zooko@zooko.com**20100605162932 Ignore-this: 85e31e0e0e1364e9215420e272d58116 Even though that latter one is completely useless, I'm curious. ] [unicode tests: fix missing import zooko@zooko.com**20100604142630 Ignore-this: db437fe8009971882aaea9de05e2bc3 ] [unicode: make test_cli test a non-ascii argument, and make the fallback term encoding be locale.getpreferredencoding() zooko@zooko.com**20100604141251 Ignore-this: b2bfc07942f69141811e59891842bd8c ] [unicode: always decode json manifest as utf-8 then encode for stdout zooko@zooko.com**20100604084840 Ignore-this: ac481692315fae870a0f3562bd7db48e pyflakes pointed out that the exception handler fallback called an un-imported function, showing that the fallback wasn't being exercised. I'm not 100% sure that this patch is right and would appreciate François or someone reviewing it. ] [fix flakes zooko@zooko.com**20100604075845 Ignore-this: 3e6a84b78771b0ad519e771a13605f0 ] [fix syntax of assertion handling that isn't portable to older versions of Python zooko@zooko.com**20100604075805 Ignore-this: 3a12b293aad25883fb17230266eb04ec ] [test_stringutils.py: Skip test test_listdir_unicode_good if filesystem supports only ASCII filenames Francois Deppierraz **20100521160839 Ignore-this: f2ccdbd04c8d9f42f1efb0eb80018257 ] [test_stringutils.py: Skip test_listdir_unicode on mocked platform which cannot store non-ASCII filenames Francois Deppierraz **20100521160559 Ignore-this: b93fde736a8904712b506e799250a600 ] [test_stringutils.py: Add a test class for OpenBSD 4.1 with LANG=C Francois Deppierraz **20100521140053 Ignore-this: 63f568aec259cef0e807752fc8150b73 ] [test_stringutils.py: Mock the open() call in test_open_unicode Francois Deppierraz **20100521135817 Ignore-this: d8be4e56a6eefe7d60f97f01ea20ac67 This test ensure that open(a_unicode_string) is used on Unicode platforms (Windows or MacOS X) and that open(a_correctly_encoded_bytestring) on other platforms such as Unix. ] [test_stringutils.py: Fix a trivial Python 2.4 syntax incompatibility Francois Deppierraz **20100521093345 Ignore-this: 9297e3d14a0dd37d0c1a4c6954fd59d3 ] [test_cli.py: Fix tests when sys.stdout.encoding=None and refactor this code into functions Francois Deppierraz **20100520084447 Ignore-this: cf2286e225aaa4d7b1927c78c901477f ] [Fix handling of correctly encoded unicode filenames (#534) Francois Deppierraz **20100520004356 Ignore-this: 8a3a7df214a855f5a12dc0eeab6f2e39 Tahoe CLI commands working on local files, for instance 'tahoe cp' or 'tahoe backup', have been improved to correctly handle filenames containing non-ASCII characters. In the case where Tahoe encounters a filename which cannot be decoded using the system encoding, an error will be returned and the operation will fail. Under Linux, this typically happens when the filesystem contains filenames encoded with another encoding, for instance latin1, than the system locale, for instance UTF-8. In such case, you'll need to fix your system with tools such as 'convmv' before using Tahoe CLI. All CLI commands have been improved to support non-ASCII parameters such as filenames and aliases on all supported Operating Systems except Windows as of now. ] [stringutils.py: Unicode helper functions + associated tests Francois Deppierraz **20100520004105 Ignore-this: 7a73fc31de2fd39d437d6abd278bfa9a This file contains a bunch of helper functions which converts unicode string from and to argv, filenames and stdout. ] [Add dependency on Michael Foord's mock library Francois Deppierraz **20100519233325 Ignore-this: 9bb01bf1e4780f6b98ed394c3b772a80 ] [Resolve merge conflict for sftpd.py david-sarah@jacaranda.org**20100603182537 Ignore-this: ba8b543e51312ac949798eb8f5bd9d9c ] [SFTP: possible fix for metadata times being shown as the epoch. david-sarah@jacaranda.org**20100602234514 Ignore-this: bdd7dfccf34eff818ff88aa4f3d28790 ] [SFTP: further improvements to test coverage. david-sarah@jacaranda.org**20100602234422 Ignore-this: 87eeee567e8d7562659442ea491e187c ] [SFTP: improve test coverage. Also make creating a directory fail when permissions are read-only (rather than ignoring the permissions). david-sarah@jacaranda.org**20100602041934 Ignore-this: a5e9d9081677bc7f3ddb18ca7a1f531f ] [dirnode.py: fix a bug in the no-write change for Adder, and improve test coverage. Add a 'metadata' argument to create_subdirectory, with documentation. Also update some comments in test_dirnode.py made stale by the ctime/mtime change. david-sarah@jacaranda.org**20100602032641 Ignore-this: 48817b54cd63f5422cb88214c053b03b ] [SFTP: fix a bug that caused the temporary files underlying EncryptedTemporaryFiles not to be closed. david-sarah@jacaranda.org**20100601055310 Ignore-this: 44fee4cfe222b2b1690f4c5e75083a52 ] [SFTP: changes for #1063 ('no-write' field) including comment:1 (clearing owner write permission diminishes to a read cap). Includes documentation changes, but not tests for the new behaviour. david-sarah@jacaranda.org**20100601051139 Ignore-this: eff7c08bd47fd52bfe2b844dabf02558 ] [SFTP: the same bug as in _sync_heisenfiles also occurred in two other places. david-sarah@jacaranda.org**20100530060127 Ignore-this: 8d137658fc6e4596fa42697476c39aa3 ] [SFTP: another try at fixing the _sync_heisenfiles bug. david-sarah@jacaranda.org**20100530055254 Ignore-this: c15f76f32a60083a6b7de6ca0e917934 ] [SFTP: fix silly bug in _sync_heisenfiles ('f is not ignore' vs 'not (f is ignore)'). david-sarah@jacaranda.org**20100530053807 Ignore-this: 71c4bc62613bf8fef835886d8eb61c27 ] [SFTP: log when a sync completes. david-sarah@jacaranda.org**20100530051840 Ignore-this: d99765663ceb673c8a693dfcf88c25ea ] [SFTP: fix bug in previous logging patch. david-sarah@jacaranda.org**20100530050000 Ignore-this: 613e4c115f03fe2d04c621b510340817 ] [SFTP: more logging to track down OpenOffice hang. david-sarah@jacaranda.org**20100530040809 Ignore-this: 6c11f2d1eac9f62e2d0f04f006476a03 ] [SFTP: avoid blocking close on a heisenfile that has been abandoned or never changed. Also, improve the logging to help track down a case where OpenOffice hangs on opening a file with FXF_READ|FXF_WRITE. david-sarah@jacaranda.org**20100530025544 Ignore-this: 9919dddd446fff64de4031ad51490d1c ] [Move suppression of DeprecationWarning about BaseException.message from sftpd.py to main __init__.py. Also, remove the global suppression of the 'integer argument expected, got float' warning, which turned out to be a bug. david-sarah@jacaranda.org**20100529050537 Ignore-this: 87648afa0dec0d2e73614007de102a16 ] [SFTP: cater to clients that assume a file is created as soon as they have made an open request; also, fix some race conditions associated with closing a file at about the same time as renaming or removing it. david-sarah@jacaranda.org**20100529045253 Ignore-this: 2404076b2154ff2659e2b10e0b9e813c ] [SFTP: 'sync' any open files at a direntry before opening any new file at that direntry. This works around the sshfs misbehaviour of returning success to clients immediately on close. david-sarah@jacaranda.org**20100525230257 Ignore-this: 63245d6d864f8f591c86170864d7c57f ] [SFTP: handle removing a file while it is open. Also some simplifications of the logout handling. david-sarah@jacaranda.org**20100525184210 Ignore-this: 660ee80be6ecab783c60452a9da896de ] [SFTP: a posix-rename response should actually return an FXP_STATUS reply, not an FXP_EXTENDED_REPLY as Twisted Conch assumes. Work around this by raising an SFTPError with code FX_OK. david-sarah@jacaranda.org**20100525033323 Ignore-this: fe2914d3ef7f5194bbeaf3f2dda2ad7d ] [SFTP: fix problem with posix-rename code returning a Deferred for the renamed filenode, not for the result of the request (an empty string). david-sarah@jacaranda.org**20100525020209 Ignore-this: 69f7491df2a8f7ea92d999a6d9f0581d ] [SFTP: fix time handling to make sure floats are not passed into twisted.conch, and to print times in the future less ambiguously in directory listings. david-sarah@jacaranda.org**20100524230412 Ignore-this: eb1a3fb72492fa2fb19667b6e4300440 ] [SFTP: name of the POSIX rename extension should be 'posix-rename@openssh.com', not 'extposix-rename@openssh.com'. david-sarah@jacaranda.org**20100524021156 Ignore-this: f90eb1ff9560176635386ee797a3fdc7 ] [SFTP: avoid race condition where .write could be called on an OverwriteableFileConsumer after it had been closed. david-sarah@jacaranda.org**20100523233830 Ignore-this: 55d381064a15bd64381163341df4d09f ] [SFTP: log tracebacks for RAISEd exceptions. david-sarah@jacaranda.org**20100523221535 Ignore-this: c76a7852df099b358642f0631237cc89 ] [SFTP: more logging to investigate behaviour of getAttrs(path). david-sarah@jacaranda.org**20100523204236 Ignore-this: e58fd35dc9015316e16a9f49f19bb469 ] [SFTP: fix pyflakes warnings; drop 'noisy' versions of eventually_callback and eventually_errback; robustify conversion of exception messages to UTF-8. david-sarah@jacaranda.org**20100523140905 Ignore-this: 420196fc58646b05bbc9c3732b6eb314 ] [SFTP: fixes and test cases for renaming of open files. david-sarah@jacaranda.org**20100523032549 Ignore-this: 32e0726be0fc89335f3035157e202c68 ] [SFTP: Increase test_sftp timeout to cater for francois' ARM buildslave. david-sarah@jacaranda.org**20100522191639 Ignore-this: a5acf9660d304677048ab4dd72908ad8 ] [SFTP: Fix error in support for getAttrs on an open file, to index open files by directory entry rather than path. Extend that support to renaming open files. Also, implement the extposix-rename@openssh.org extension, and some other minor refactoring. david-sarah@jacaranda.org**20100522035836 Ignore-this: 8ef93a828e927cce2c23b805250b81a4 ] [SFTP tests: fix test_openDirectory_and_attrs that was failing in timezones west of UTC. david-sarah@jacaranda.org**20100520181027 Ignore-this: 9beaf602beef437c11c7e97f54ce2599 ] [SFTP: allow getAttrs to succeed on a file that has been opened for creation but not yet uploaded or linked (part of #1050). david-sarah@jacaranda.org**20100520035613 Ignore-this: 2f59107d60d5476edac19361ccf6cf94 ] [SFTP: improve logging so that results of requests are (usually) logged. david-sarah@jacaranda.org**20100520003652 Ignore-this: 3f59eeee374a3eba71db9be31d5a95 ] [SFTP: add tests for more combinations of open flags. david-sarah@jacaranda.org**20100519053933 Ignore-this: b97ee351b1e8ecfecabac70698060665 ] [SFTP: allow FXF_WRITE | FXF_TRUNC (#1050). david-sarah@jacaranda.org**20100519043240 Ignore-this: bd70009f11d07ac6e9fd0d1e3fa87a9b ] [SFTP: remove another case where we were logging data. david-sarah@jacaranda.org**20100519012713 Ignore-this: 83115daf3a90278fed0e3fc267607584 ] [SFTP: avoid logging all data passed to callbacks. david-sarah@jacaranda.org**20100519000651 Ignore-this: ade6d69a473ada50acef6389fc7fdf69 ] [SFTP: fixes related to reporting of permissions (needed for sshfs). david-sarah@jacaranda.org**20100518054521 Ignore-this: c51f8a5d0dc76b80d33ffef9b0541325 ] [SFTP: change error code returned for ExistingChildError to FX_FAILURE (fixes gvfs with some picky programs such as gedit). david-sarah@jacaranda.org**20100518004205 Ignore-this: c194c2c9aaf3edba7af84b7413cec375 ] [SFTP: fixed bugs that caused hangs during write (#1037). david-sarah@jacaranda.org**20100517044228 Ignore-this: b8b95e82c4057367388a1e6baada993b ] [SFTP: work around a probable bug in twisted.conch.ssh.session:loseConnection(). Also some minor error handling cleanups. david-sarah@jacaranda.org**20100517012606 Ignore-this: 5d3da7c4219cb0c14547e7fd70c74204 ] [SFTP: Support statvfs extensions, avoid logging actual data, and decline shell sessions politely. david-sarah@jacaranda.org**20100516154347 Ignore-this: 9d05d23ba77693c03a61accd348ccbe5 ] [SFTP: fix error in SFTPUserHandler arguments introduced by execCommand patch. david-sarah@jacaranda.org**20100516014045 Ignore-this: f5ee494dc6ad6aa536cc8144bd2e3d19 ] [SFTP: implement execCommand to interoperate with clients that issue a 'df -P -k /' command. Also eliminate use of Zope adaptation. david-sarah@jacaranda.org**20100516012754 Ignore-this: 2d0ed28b759f67f83875b1eaf5778992 ] [sftpd.py: 'log.OPERATIONAL' should be just 'OPERATIONAL'. david-sarah@jacaranda.org**20100515155533 Ignore-this: f2347cb3301bbccc086356f6edc685 ] [Attempt to fix #1040 by making SFTPUser implement ISession. david-sarah@jacaranda.org**20100515005719 Ignore-this: b3baaf088ba567e861e61e347195dfc4 ] [Eliminate Windows newlines from sftpd.py. david-sarah@jacaranda.org**20100515005656 Ignore-this: cd54fd25beb957887514ae76e08c277 ] [Update SFTP implementation and tests: fix #1038 and switch to foolscap logging; also some code reorganization. david-sarah@jacaranda.org**20100514043113 Ignore-this: 262f76d953dcd4317210789f2b2bf5da ] [Tests for new SFTP implementation david-sarah@jacaranda.org**20100512060552 Ignore-this: 20308d4a59b3ebc868aad55ae0a7a981 ] [New SFTP implementation: mutable files, read/write support, streaming download, Unicode filenames, and more david-sarah@jacaranda.org**20100512055407 Ignore-this: 906f51c48d974ba9cf360c27845c55eb ] [setup: adjust make clean target to ignore our bundled build tools zooko@zooko.com**20100604051250 Ignore-this: d24d2a3b849000790cfbfab69237454e ] [setup: bundle a copy of setuptools_trial as an unzipped egg in the base dir of the Tahoe-LAFS source tree zooko@zooko.com**20100604044648 Ignore-this: a4736e9812b4dab2d5a2bc4bfc5c3b28 This is to work-around this Distribute issue: 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 ] [setup: bundle a copy of darcsver in unzipped egg form in the root of the Tahoe-LAFS source tree zooko@zooko.com**20100604044146 Ignore-this: a51a52e82dd3a39225657ffa27decae2 This is to work-around this Distribute issue: 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 ] [quickstart.html: warn against installing Python at a path containing spaces. david-sarah@jacaranda.org**20100604032413 Ignore-this: c7118332573abd7762d9a897e650bc6a ] [setup: undo the previous patch to quote the executable in scripts zooko@zooko.com**20100604025204 Ignore-this: beda3b951c49d1111478618b8cabe005 The problem isn't in the script, it is in the cli.exe script that is built by setuptools. This might be related to http://bugs.python.org/issue6792 and http://bugs.python.org/setuptools/issue2 Or it might be a separate issue involving the launcher.c code e.g. http://tahoe-lafs.org/trac/zetuptoolz/browser/launcher.c?rev=576#L210 and its handling of the interpreter name. ] [setup: put quotes around the path to executable in case it has spaces in it, when building a tahoe.exe for win32 zooko@zooko.com**20100604020836 Ignore-this: 478684843169c94a9c14726fedeeed7d ] [Add must_exist, must_be_directory, and must_be_file arguments to DirectoryNode.delete. This will be used to fixes a minor condition in the SFTP frontend. david-sarah@jacaranda.org**20100527194529 Ignore-this: 6d8114cef4450c52c57639f82852716f ] [Fix test failures in test_web caused by changes to web page titles in #1062. Also, change a 'target' field to '_blank' instead of 'blank' in welcome.xhtml. david-sarah@jacaranda.org**20100603232105 Ignore-this: 6e2cc63f42b07e2a3b2d1a857abc50a6 ] [misc/show-tool-versions.py: Display additional Python interpreter encoding informations (stdout, stdin and filesystem) Francois Deppierraz **20100521094313 Ignore-this: 3ae9b0b07fd1d53fb632ef169f7c5d26 ] [dirnode.py: Fix bug that caused 'tahoe' fields, 'ctime' and 'mtime' not to be updated when new metadata is present. david-sarah@jacaranda.org**20100602014644 Ignore-this: 5bac95aa897b68f2785d481e49b6a66 ] [dirnode.py: Fix #1034 (MetadataSetter does not enforce restriction on setting 'tahoe' subkeys), and expose the metadata updater for use by SFTP. Also, support diminishing a child cap to read-only if 'no-write' is set in the metadata. david-sarah@jacaranda.org**20100601045428 Ignore-this: 14f26e17e58db97fad0dcfd350b38e95 ] [Change doc comments in interfaces.py to take into account unknown nodes. david-sarah@jacaranda.org**20100528171922 Ignore-this: d2fde6890b3bca9c7275775f64fbff56 ] [Trivial whitespace changes. david-sarah@jacaranda.org**20100527194114 Ignore-this: 98d611bc54ee20b01a5f6b334ff61b2d ] [Suppress 'integer argument expected, got float' DeprecationWarning everywhere david-sarah@jacaranda.org**20100523221157 Ignore-this: 80efd7e27798f5d2ad66c7a53e7048e5 ] [Change shouldFail to avoid Unicode errors when converting Failure to str david-sarah@jacaranda.org**20100512060754 Ignore-this: 86ed419d332d9c33090aae2cde1dc5df ] [SFTP: relax pyasn1 version dependency to >= 0.0.8a. david-sarah@jacaranda.org**20100520181437 Ignore-this: 2c7b3dee7b7e14ba121d3118193a386a ] [SFTP: add pyasn1 as dependency, needed if we are using Twisted >= 9.0.0. david-sarah@jacaranda.org**20100516193710 Ignore-this: 76fd92e8a950bb1983a90a09e89c54d3 ] [allmydata.org -> tahoe-lafs.org in __init__.py david-sarah@jacaranda.org**20100603063530 Ignore-this: f7d82331d5b4a3c4c0938023409335af ] [small change to CREDITS david-sarah@jacaranda.org**20100603062421 Ignore-this: 2909cdbedc19da5573dec810fc23243 ] [Resolve conflict in patch to change imports to absolute. david-sarah@jacaranda.org**20100603054608 Ignore-this: 15aa1caa88e688ffa6dc53bed7dcca7d ] [Minor documentation tweaks. david-sarah@jacaranda.org**20100603054458 Ignore-this: e30ae407b0039dfa5b341d8f88e7f959 ] [title_rename_xhtml.dpatch.txt freestorm77@gmail.com**20100529172542 Ignore-this: d2846afcc9ea72ac443a62ecc23d121b - Renamed xhtml Title from "Allmydata - Tahoe" to "Tahoe-LAFS" - Renamed Tahoe to Tahoe-LAFS in page content - Changed Tahoe-LAFS home page link to http://tahoe-lafs.org (added target="blank") - Deleted commented css script in info.xhtml ] [tests: refactor test_web.py to have less duplication of literal caps-from-the-future zooko@zooko.com**20100519055146 Ignore-this: 49e5412e6cc4566ca67f069ffd850af6 This is a prelude to a patch which will add tests of caps from the future which have non-ascii chars in them. ] [doc_reformat_stats.txt freestorm77@gmail.com**20100424114615 Ignore-this: af315db5f7e3a17219ff8fb39bcfcd60 - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content **END OF DESCRIPTION*** Place the long patch description above the ***END OF DESCRIPTION*** marker. The first line of this file will be the patch name. This patch contains the following changes: M ./docs/stats.txt -2 +2 ] [doc_reformat_performance.txt freestorm77@gmail.com**20100424114444 Ignore-this: 55295ff5cd8a5b67034eb661a5b0699d - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [doc_refomat_logging.txt freestorm77@gmail.com**20100424114316 Ignore-this: 593f0f9914516bf1924dfa6eee74e35f - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [doc_reformat_known_issues.txt freestorm77@gmail.com**20100424114118 Ignore-this: 9577c3965d77b7ac18698988cfa06049 - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [doc_reformat_helper.txt freestorm77@gmail.com**20100424120649 Ignore-this: de2080d6152ae813b20514b9908e37fb - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [doc_reformat_garbage-collection.txt freestorm77@gmail.com**20100424120830 Ignore-this: aad3e4c99670871b66467062483c977d - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [doc_reformat_FTP-and-SFTP.txt freestorm77@gmail.com**20100424121334 Ignore-this: 3736b3d8f9a542a3521fbb566d44c7cf - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [doc_reformat_debian.txt freestorm77@gmail.com**20100424120537 Ignore-this: 45fe4355bb869e55e683405070f47eff - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [doc_reformat_configuration.txt freestorm77@gmail.com**20100424104903 Ignore-this: 4fbabc51b8122fec69ce5ad1672e79f2 - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [doc_reformat_CLI.txt freestorm77@gmail.com**20100424121512 Ignore-this: 2d3a59326810adcb20ea232cea405645 - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [doc_reformat_backupdb.txt freestorm77@gmail.com**20100424120416 Ignore-this: fed696530e9d2215b6f5058acbedc3ab - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [doc_reformat_architecture.txt freestorm77@gmail.com**20100424120133 Ignore-this: 6e2cab4635080369f2b8cadf7b2f58e - Added heading format begining and ending by "==" - Added Index - Added Title Note: No change are made in paragraphs content ] [Correct harmless indentation errors found by pylint david-sarah@jacaranda.org**20100226052151 Ignore-this: 41335bce830700b18b80b6e00b45aef5 ] [Change relative imports to absolute david-sarah@jacaranda.org**20100226071433 Ignore-this: 32e6ce1a86e2ffaaba1a37d9a1a5de0e ] [Document reason for the trialcoverage version requirement being 0.3.3. david-sarah@jacaranda.org**20100525004444 Ignore-this: 2f9f1df6882838b000c063068f258aec ] [Downgrade version requirement for trialcoverage to 0.3.3 (from 0.3.10), to avoid needing to compile coveragepy on Windows. david-sarah@jacaranda.org**20100524233707 Ignore-this: 9c397a374c8b8017e2244b8a686432a8 ] [Suppress deprecation warning for twisted.web.error.NoResource when using Twisted >= 9.0.0. david-sarah@jacaranda.org**20100516205625 Ignore-this: 2361a3023cd3db86bde5e1af759ed01 ] [docs: CREDITS for Jeremy Visser zooko@zooko.com**20100524081829 Ignore-this: d7c1465fd8d4e25b8d46d38a1793465b ] [test: show stdout and stderr in case of non-zero exit code from "tahoe" command zooko@zooko.com**20100524073348 Ignore-this: 695e81cd6683f4520229d108846cd551 ] [setup: upgrade bundled zetuptoolz to zetuptoolz-0.6c15dev and make it unpacked and directly loaded by setup.py zooko@zooko.com**20100523205228 Ignore-this: 24fb32aaee3904115a93d1762f132c7 Also fix the relevant "make clean" target behavior. ] [setup: remove bundled zipfile egg of setuptools zooko@zooko.com**20100523205120 Ignore-this: c68b5f2635bb93d1c1fa7b613a026f9e We're about to replace it with bundled unpacked source code of setuptools, which is much nicer for debugging and evolving under revision control. ] [setup: remove bundled copy of setuptools_trial-0.5.2.tar zooko@zooko.com**20100522221539 Ignore-this: 140f90eb8fb751a509029c4b24afe647 Hopefully it will get installed automatically as needed and we won't bundle it anymore. ] [setup: remove bundled setuptools_darcs-1.2.8.tar zooko@zooko.com**20100522015333 Ignore-this: 378b1964b513ae7fe22bae2d3478285d This version of setuptools_darcs had a bug when used on Windows which has been fixed in setuptools_darcs-1.2.9. Hopefully we will not need to bundle a copy of setuptools_darcs-1.2.9 in with Tahoe-LAFS and can instead rely on it to be downloaded from PyPI or bundled in the "tahoe deps" separate tarball. ] [tests: fix pyflakes warnings in bench_dirnode.py zooko@zooko.com**20100521202511 Ignore-this: f23d55b4ed05e52865032c65a15753c4 ] [setup: if the string '--reporter=bwverbose-coverage' appears on sys.argv then you need trialcoverage zooko@zooko.com**20100521122226 Ignore-this: e760c45dcfb5a43c1dc1e8a27346bdc2 ] [tests: don't let bench_dirnode.py do stuff and have side-effects at import time (unless __name__ == '__main__') zooko@zooko.com**20100521122052 Ignore-this: 96144a412250d9bbb5fccbf83b8753b8 ] [tests: increase timeout to give François's ARM buildslave a chance to complete the tests zooko@zooko.com**20100520134526 Ignore-this: 3dd399fdc8b91149c82b52f955b50833 ] [run_trial.darcspath freestorm77@gmail.com**20100510232829 Ignore-this: 5ebb4df74e9ea8a4bdb22b65373d1ff2 ] [docs: line-wrap README.txt zooko@zooko.com**20100518174240 Ignore-this: 670a02d360df7de51ebdcf4fae752577 ] [Hush pyflakes warnings Kevan Carstensen **20100515184344 Ignore-this: fd602c3bba115057770715c36a87b400 ] [setup: new improved misc/show-tool-versions.py zooko@zooko.com**20100516050122 Ignore-this: ce9b1de1b35b07d733e6cf823b66335a ] [Improve code coverage of the Tahoe2PeerSelector tests. Kevan Carstensen **20100515032913 Ignore-this: 793151b63ffa65fdae6915db22d9924a ] [Remove a comment that no longer makes sense. Kevan Carstensen **20100514203516 Ignore-this: 956983c7e7c7e4477215494dfce8f058 ] [docs: update docs/architecture.txt to more fully and correctly explain the upload procedure zooko@zooko.com**20100514043458 Ignore-this: 538b6ea256a49fed837500342092efa3 ] [Fix up the behavior of #778, per reviewers' comments Kevan Carstensen **20100514004917 Ignore-this: 9c20b60716125278b5456e8feb396bff - Make some important utility functions clearer and more thoroughly documented. - Assert in upload.servers_of_happiness that the buckets attributes of PeerTrackers passed to it are mutually disjoint. - Get rid of some silly non-Pythonisms that I didn't see when I first wrote these patches. - Make sure that should_add_server returns true when queried about a shnum that it doesn't know about yet. - Change Tahoe2PeerSelector.preexisting_shares to map a shareid to a set of peerids, alter dependencies to deal with that. - Remove upload.should_add_servers, because it is no longer necessary - Move upload.shares_of_happiness and upload.shares_by_server to a utility file. - Change some points in Tahoe2PeerSelector. - Compute servers_of_happiness using a bipartite matching algorithm that we know is optimal instead of an ad-hoc greedy algorithm that isn't. - Change servers_of_happiness to just take a sharemap as an argument, change its callers to merge existing_shares and used_peers before calling it. - Change an error message in the encoder to be more appropriate for servers of happiness. - Clarify the wording of an error message in immutable/upload.py - Refactor a happiness failure message to happinessutil.py, and make immutable/upload.py and immutable/encode.py use it. - Move the word "only" as far to the right as possible in failure messages. - Use a better definition of progress during peer selection. - Do read-only peer share detection queries in parallel, not sequentially. - Clean up logging semantics; print the query statistics whenever an upload is unsuccessful, not just in one case. ] [Alter the error message when an upload fails, per some comments in #778. Kevan Carstensen **20091230210344 Ignore-this: ba97422b2f9737c46abeb828727beb1 When I first implemented #778, I just altered the error messages to refer to servers where they referred to shares. The resulting error messages weren't very good. These are a bit better. ] [Change "UploadHappinessError" to "UploadUnhappinessError" Kevan Carstensen **20091205043037 Ignore-this: 236b64ab19836854af4993bb5c1b221a ] [Alter the error message returned when peer selection fails Kevan Carstensen **20091123002405 Ignore-this: b2a7dc163edcab8d9613bfd6907e5166 The Tahoe2PeerSelector returned either NoSharesError or NotEnoughSharesError for a variety of error conditions that weren't informatively described by them. This patch creates a new error, UploadHappinessError, replaces uses of NoSharesError and NotEnoughSharesError with it, and alters the error message raised with the errors to be more in line with the new servers_of_happiness behavior. See ticket #834 for more information. ] [Eliminate overcounting iof servers_of_happiness in Tahoe2PeerSelector; also reorganize some things. Kevan Carstensen **20091118014542 Ignore-this: a6cb032cbff74f4f9d4238faebd99868 ] [Change stray "shares_of_happiness" to "servers_of_happiness" Kevan Carstensen **20091116212459 Ignore-this: 1c971ba8c3c4d2e7ba9f020577b28b73 ] [Alter Tahoe2PeerSelector to make sure that it recognizes existing shares on readonly servers, fixing an issue in #778 Kevan Carstensen **20091116192805 Ignore-this: 15289f4d709e03851ed0587b286fd955 ] [Alter 'immutable/encode.py' and 'immutable/upload.py' to use servers_of_happiness instead of shares_of_happiness. Kevan Carstensen **20091104111222 Ignore-this: abb3283314820a8bbf9b5d0cbfbb57c8 ] [Alter the signature of set_shareholders in IEncoder to add a 'servermap' parameter, which gives IEncoders enough information to perform a sane check for servers_of_happiness. Kevan Carstensen **20091104033241 Ignore-this: b3a6649a8ac66431beca1026a31fed94 ] [Alter CiphertextDownloader to work with servers_of_happiness Kevan Carstensen **20090924041932 Ignore-this: e81edccf0308c2d3bedbc4cf217da197 ] [Revisions of the #778 tests, per reviewers' comments Kevan Carstensen **20100514012542 Ignore-this: 735bbc7f663dce633caeb3b66a53cf6e - Fix comments and confusing naming. - Add tests for the new error messages suggested by David-Sarah and Zooko. - Alter existing tests for new error messages. - Make sure that the tests continue to work with the trunk. - Add a test for a mutual disjointedness assertion that I added to upload.servers_of_happiness. - Fix the comments to correctly reflect read-onlyness - Add a test for an edge case in should_add_server - Add an assertion to make sure that share redistribution works as it should - Alter tests to work with revised servers_of_happiness semantics - Remove tests for should_add_server, since that function no longer exists. - Alter tests to know about merge_peers, and to use it before calling servers_of_happiness. - Add tests for merge_peers. - Add Zooko's puzzles to the tests. - Edit encoding tests to expect the new kind of failure message. - Edit tests to expect error messages with the word "only" moved as far to the right as possible. - Extended and cleaned up some helper functions. - Changed some tests to call more appropriate helper functions. - Added a test for the failing redistribution algorithm - Added a test for the progress message - Added a test for the upper bound on readonly peer share discovery. ] [Alter various unit tests to work with the new happy behavior Kevan Carstensen **20100107181325 Ignore-this: 132032bbf865e63a079f869b663be34a ] [Replace "UploadHappinessError" with "UploadUnhappinessError" in tests. Kevan Carstensen **20091205043453 Ignore-this: 83f4bc50c697d21b5f4e2a4cd91862ca ] [Add tests for the behavior described in #834. Kevan Carstensen **20091123012008 Ignore-this: d8e0aa0f3f7965ce9b5cea843c6d6f9f ] [Re-work 'test_upload.py' to be more readable; add more tests for #778 Kevan Carstensen **20091116192334 Ignore-this: 7e8565f92fe51dece5ae28daf442d659 ] [Test Tahoe2PeerSelector to make sure that it recognizeses existing shares on readonly servers Kevan Carstensen **20091109003735 Ignore-this: 12f9b4cff5752fca7ed32a6ebcff6446 ] [Add more tests for comment:53 in ticket #778 Kevan Carstensen **20091104112849 Ignore-this: 3bb2edd299a944cc9586e14d5d83ec8c ] [Add a test for upload.shares_by_server Kevan Carstensen **20091104111324 Ignore-this: f9802e82d6982a93e00f92e0b276f018 ] [Minor tweak to an existing test -- make the first server read-write, instead of read-only Kevan Carstensen **20091104034232 Ignore-this: a951a46c93f7f58dd44d93d8623b2aee ] [Alter tests to use the new form of set_shareholders Kevan Carstensen **20091104033602 Ignore-this: 3deac11fc831618d11441317463ef830 ] [Refactor some behavior into a mixin, and add tests for the behavior described in #778 "Kevan Carstensen" **20091030091908 Ignore-this: a6f9797057ca135579b249af3b2b66ac ] [Alter NoNetworkGrid to allow the creation of readonly servers for testing purposes. Kevan Carstensen **20091018013013 Ignore-this: e12cd7c4ddeb65305c5a7e08df57c754 ] [Update 'docs/architecture.txt' to reflect readonly share discovery kevan@isnotajoke.com**20100514003852 Ignore-this: 7ead71b34df3b1ecfdcfd3cb2882e4f9 ] [Alter the wording in docs/architecture.txt to more accurately describe the servers_of_happiness behavior. Kevan Carstensen **20100428002455 Ignore-this: 6eff7fa756858a1c6f73728d989544cc ] [Alter wording in 'interfaces.py' to be correct wrt #778 "Kevan Carstensen" **20091205034005 Ignore-this: c9913c700ac14e7a63569458b06980e0 ] [Update 'docs/configuration.txt' to reflect the servers_of_happiness behavior. Kevan Carstensen **20091205033813 Ignore-this: 5e1cb171f8239bfb5b565d73c75ac2b8 ] [Clarify quickstart instructions for installing pywin32 david-sarah@jacaranda.org**20100511180300 Ignore-this: d4668359673600d2acbc7cd8dd44b93c ] [web: add a simple test that you can load directory.xhtml zooko@zooko.com**20100510063729 Ignore-this: e49b25fa3c67b3c7a56c8b1ae01bb463 ] [setup: fix typos in misc/show-tool-versions.py zooko@zooko.com**20100510063615 Ignore-this: 2181b1303a0e288e7a9ebd4c4855628 ] [setup: show code-coverage tool versions in show-tools-versions.py zooko@zooko.com**20100510062955 Ignore-this: 4b4c68eb3780b762c8dbbd22b39df7cf ] [docs: update README, mv it to README.txt, update setup.py zooko@zooko.com**20100504094340 Ignore-this: 40e28ca36c299ea1fd12d3b91e5b421c ] [Dependency on Windmill test framework is not needed yet. david-sarah@jacaranda.org**20100504161043 Ignore-this: be088712bec650d4ef24766c0026ebc8 ] [tests: pass z to tar so that BSD tar will know to ungzip zooko@zooko.com**20100504090628 Ignore-this: 1339e493f255e8fc0b01b70478f23a09 ] [setup: update comments and URLs in setup.cfg zooko@zooko.com**20100504061653 Ignore-this: f97692807c74bcab56d33100c899f829 ] [setup: reorder and extend the show-tool-versions script, the better to glean information about our new buildslaves zooko@zooko.com**20100504045643 Ignore-this: 836084b56b8d4ee8f1de1f4efb706d36 ] [CLI: Support for https url in option --node-url Francois Deppierraz **20100430185609 Ignore-this: 1717176b4d27c877e6bc67a944d9bf34 This patch modifies the regular expression used for verifying of '--node-url' parameter. Support for accessing a Tahoe gateway over HTTPS was already present, thanks to Python's urllib. ] [backupdb.did_create_directory: use REPLACE INTO, not INSERT INTO + ignore error Brian Warner **20100428050803 Ignore-this: 1fca7b8f364a21ae413be8767161e32f This handles the case where we upload a new tahoe directory for a previously-processed local directory, possibly creating a new dircap (if the metadata had changed). Now we replace the old dirhash->dircap record. The previous behavior left the old record in place (with the old dircap and timestamps), so we'd never stop creating new directories and never converge on a null backup. ] ["tahoe webopen": add --info flag, to get ?t=info Brian Warner **20100424233003 Ignore-this: 126b0bb6db340fabacb623d295eb45fa Also fix some trailing whitespace. ] [docs: install.html http-equiv refresh to quickstart.html zooko@zooko.com**20100421165708 Ignore-this: 52b4b619f9dde5886ae2cd7f1f3b734b ] [docs: install.html -> quickstart.html zooko@zooko.com**20100421155757 Ignore-this: 6084e203909306bed93efb09d0e6181d It is not called "installing" because that implies that it is going to change the configuration of your operating system. It is not called "building" because that implies that you need developer tools like a compiler. Also I added a stern warning against looking at the "InstallDetails" wiki page, which I have renamed to "AdvancedInstall". ] [Fix another typo in tahoe_storagespace munin plugin david-sarah@jacaranda.org**20100416220935 Ignore-this: ad1f7aa66b554174f91dfb2b7a3ea5f3 ] [Add dependency on windmill >= 1.3 david-sarah@jacaranda.org**20100416190404 Ignore-this: 4437a7a464e92d6c9012926b18676211 ] [licensing: phrase the OpenSSL-exemption in the vocabulary of copyright instead of computer technology, and replicate the exemption from the GPL to the TGPPL zooko@zooko.com**20100414232521 Ignore-this: a5494b2f582a295544c6cad3f245e91 ] [munin-tahoe_storagespace freestorm77@gmail.com**20100221203626 Ignore-this: 14d6d6a587afe1f8883152bf2e46b4aa Plugin configuration rename ] [setup: add licensing declaration for setuptools (noticed by the FSF compliance folks) zooko@zooko.com**20100309184415 Ignore-this: 2dfa7d812d65fec7c72ddbf0de609ccb ] [setup: fix error in licensing declaration from Shawn Willden, as noted by the FSF compliance division zooko@zooko.com**20100309163736 Ignore-this: c0623d27e469799d86cabf67921a13f8 ] [CREDITS to Jacob Appelbaum zooko@zooko.com**20100304015616 Ignore-this: 70db493abbc23968fcc8db93f386ea54 ] [desert-island-build-with-proper-versions jacob@appelbaum.net**20100304013858] [docs: a few small edits to try to guide newcomers through the docs zooko@zooko.com**20100303231902 Ignore-this: a6aab44f5bf5ad97ea73e6976bc4042d These edits were suggested by my watching over Jake Appelbaum's shoulder as he completely ignored/skipped/missed install.html and also as he decided that debian.txt wouldn't help him with basic installation. Then I threw in a few docs edits that have been sitting around in my sandbox asking to be committed for months. ] [TAG allmydata-tahoe-1.6.1 david-sarah@jacaranda.org**20100228062314 Ignore-this: eb5f03ada8ea953ee7780e7fe068539 ] Patch bundle hash: d2c6fe238ee9760da4e167678adde5be6aca56d9