]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/log
tahoe-lafs/tahoe-lafs.git
17 years agouri.py: improve test coverage a bit
Brian Warner [Mon, 17 Sep 2007 08:09:47 +0000 (01:09 -0700)]
uri.py: improve test coverage a bit

17 years agostorage: fill alreadygot= with all known shares for the given storageindex, not just...
Brian Warner [Mon, 17 Sep 2007 07:48:40 +0000 (00:48 -0700)]
storage: fill alreadygot= with all known shares for the given storageindex, not just the ones they asked about

17 years agobin/allmydata-tahoe: fix handling of PYTHONPATH, we were missing an os.pathsep
Brian Warner [Mon, 17 Sep 2007 10:43:22 +0000 (03:43 -0700)]
bin/allmydata-tahoe: fix handling of PYTHONPATH, we were missing an os.pathsep
which would cause a pre-existing PYTHONPATH to get mangled

17 years agoupload: make peer-selection a bit more uniform. Closes #132.
Brian Warner [Mon, 17 Sep 2007 00:08:34 +0000 (17:08 -0700)]
upload: make peer-selection a bit more uniform. Closes #132.

17 years agopeer-selection: if we must loop, send a minimal number of queries (by asking for...
Brian Warner [Sun, 16 Sep 2007 08:53:00 +0000 (01:53 -0700)]
peer-selection: if we must loop, send a minimal number of queries (by asking for more than one share per peer on the second pass)

17 years agoboringfile: ignore .checked-deps
Brian Warner [Sun, 16 Sep 2007 08:26:54 +0000 (01:26 -0700)]
boringfile: ignore .checked-deps

17 years agoupload: remove Tahoe3 peer-selection algorithm
Brian Warner [Sun, 16 Sep 2007 08:26:11 +0000 (01:26 -0700)]
upload: remove Tahoe3 peer-selection algorithm

17 years agoupload: switch to Tahoe2, add test for uniform share allocation
Brian Warner [Sun, 16 Sep 2007 08:25:03 +0000 (01:25 -0700)]
upload: switch to Tahoe2, add test for uniform share allocation

17 years agoupload.py: implement Tahoe2 peer-selection algorithm
Brian Warner [Sun, 16 Sep 2007 08:24:07 +0000 (01:24 -0700)]
upload.py: implement Tahoe2 peer-selection algorithm

17 years agovdrive.py: oops, forgot an import
Brian Warner [Sat, 15 Sep 2007 22:21:57 +0000 (15:21 -0700)]
vdrive.py: oops, forgot an import

17 years agoMakefile: don't re-check dependencies on each test run, and fix clean target
Brian Warner [Sat, 15 Sep 2007 22:17:55 +0000 (15:17 -0700)]
Makefile: don't re-check dependencies on each test run, and fix clean target

17 years agovdrive: log an error if we weren't able to use the vdrive the way we wanted to
Brian Warner [Sat, 15 Sep 2007 22:17:29 +0000 (15:17 -0700)]
vdrive: log an error if we weren't able to use the vdrive the way we wanted to

17 years agohush some pyflakes warnings
Brian Warner [Sat, 15 Sep 2007 22:07:21 +0000 (15:07 -0700)]
hush some pyflakes warnings

17 years agosetup.py: factor out dependency stuff, add workaround for nevow-0.6.0-on-dapper problem
Brian Warner [Sat, 15 Sep 2007 22:05:35 +0000 (15:05 -0700)]
setup.py: factor out dependency stuff, add workaround for nevow-0.6.0-on-dapper problem

17 years agostorage: remove the leftover incoming/XYZ/ directory when we're done with it
Brian Warner [Sat, 15 Sep 2007 21:34:04 +0000 (14:34 -0700)]
storage: remove the leftover incoming/XYZ/ directory when we're done with it

17 years agoREADME: nevow is now automatically handled by build-deps/install
Brian Warner [Sat, 15 Sep 2007 21:19:45 +0000 (14:19 -0700)]
README: nevow is now automatically handled by build-deps/install

17 years agoinclude the Nevow-0.9.18 tarball in our distribution
Brian Warner [Sat, 15 Sep 2007 21:18:36 +0000 (14:18 -0700)]
include the Nevow-0.9.18 tarball in our distribution

17 years agosetup.py: add Nevow to our dependency list
Brian Warner [Sat, 15 Sep 2007 21:18:07 +0000 (14:18 -0700)]
setup.py: add Nevow to our dependency list

17 years agosetup.py: minor reformatting, use explicit file: URLs in dependency-links
Brian Warner [Sat, 15 Sep 2007 21:05:32 +0000 (14:05 -0700)]
setup.py: minor reformatting, use explicit file: URLs in dependency-links

17 years agobuild-deps-setup.py: provide dependency_links too
Brian Warner [Sat, 15 Sep 2007 21:04:57 +0000 (14:04 -0700)]
build-deps-setup.py: provide dependency_links too

17 years agoMakefile: clean: remove _trial_temp/ and _test_memory/ too
Brian Warner [Sat, 15 Sep 2007 20:55:59 +0000 (13:55 -0700)]
Makefile: clean: remove _trial_temp/ and _test_memory/ too

17 years agoMakefile: check_memory.py now manages the combined stats.out itself
Brian Warner [Sat, 15 Sep 2007 20:53:36 +0000 (13:53 -0700)]
Makefile: check_memory.py now manages the combined stats.out itself

17 years agocheck_memory.py: preserve client.log and stats.out in _test_memory/
Brian Warner [Sun, 16 Sep 2007 03:53:06 +0000 (20:53 -0700)]
check_memory.py: preserve client.log and stats.out in _test_memory/
Put the nodes in _test_memory/test/, which is clobbered on each test. Also
kill the client with SIGINT instead of SIGKILL. Also don't daemonize the
client, since we're going to kill it at the end of the test anyways: this
cleans up shutdown a bit.

17 years agowebish: upload: when the localdir= doesn't exist, say so in the HTTP response
Brian Warner [Sat, 15 Sep 2007 19:49:07 +0000 (12:49 -0700)]
webish: upload: when the localdir= doesn't exist, say so in the HTTP response

17 years agocheck_memory.py: have all clients write their logs to _test_memory/client.log instead...
Brian Warner [Sat, 15 Sep 2007 19:34:05 +0000 (12:34 -0700)]
check_memory.py: have all clients write their logs to _test_memory/client.log instead of a separate file per client

17 years agoMakefile: insert a linebreak after use of PP, since it is long and obscures the real...
Brian Warner [Sat, 15 Sep 2007 19:32:11 +0000 (12:32 -0700)]
Makefile: insert a linebreak after use of PP, since it is long and obscures the real command

17 years agocheck_memory: oops, only bail if the process ended abnormally
Brian Warner [Sat, 15 Sep 2007 18:47:29 +0000 (11:47 -0700)]
check_memory: oops, only bail if the process ended abnormally

17 years agoMakefile: use absolute path to src/ in PP, since check-memory needs it (it chdirs...
Brian Warner [Sat, 15 Sep 2007 03:17:43 +0000 (20:17 -0700)]
Makefile: use absolute path to src/ in PP, since check-memory needs it (it chdirs then imports allmydata)

17 years agocheck-memory: if the child process fails to start, shut down instead of hanging forever
Brian Warner [Sat, 15 Sep 2007 03:16:57 +0000 (20:16 -0700)]
check-memory: if the child process fails to start, shut down instead of hanging forever

17 years agobuild-deps-setup.py: use ez_setup here too, for platforms without setuptools
Brian Warner [Sat, 15 Sep 2007 09:31:40 +0000 (02:31 -0700)]
build-deps-setup.py: use ez_setup here too, for platforms without setuptools

17 years agobin/allmydata-tahoe: update to new src/ + support/ directories, remove instdir/bin...
Brian Warner [Sat, 15 Sep 2007 02:24:28 +0000 (19:24 -0700)]
bin/allmydata-tahoe: update to new src/ + support/ directories, remove instdir/bin check

17 years agoMakefile build-deps: use a fake package named 'tahoe-deps', to avoid a double-build...
Brian Warner [Sat, 15 Sep 2007 02:23:55 +0000 (19:23 -0700)]
Makefile build-deps: use a fake package named 'tahoe-deps', to avoid a double-build of tahoe

17 years agoMakefile: use --reactor=poll on cygwin, since select() is insufficient
Brian Warner [Fri, 14 Sep 2007 10:33:44 +0000 (03:33 -0700)]
Makefile: use --reactor=poll on cygwin, since select() is insufficient

17 years agoMakefile: improve 'clean' behavior: rm ez_setup leftovers, ignore _version.py
Brian Warner [Fri, 14 Sep 2007 10:28:56 +0000 (03:28 -0700)]
Makefile: improve 'clean' behavior: rm ez_setup leftovers, ignore _version.py
in the test-clean target

17 years agoboringfile: ignore the setuptools .egg that ez_setup.py sometimes makes
Brian Warner [Fri, 14 Sep 2007 10:26:19 +0000 (03:26 -0700)]
boringfile: ignore the setuptools .egg that ez_setup.py sometimes makes
during build

17 years agosetup.py: require simplejson>=1.4, since we use the indent= argument
Brian Warner [Fri, 14 Sep 2007 10:24:15 +0000 (03:24 -0700)]
setup.py: require simplejson>=1.4, since we use the indent= argument

17 years agotest_client.py: remove unused 'stat' import
Brian Warner [Fri, 14 Sep 2007 03:17:42 +0000 (20:17 -0700)]
test_client.py: remove unused 'stat' import

17 years agoremove simplejson tarball from our dependencies/ directory
Brian Warner [Fri, 14 Sep 2007 03:14:08 +0000 (20:14 -0700)]
remove simplejson tarball from our dependencies/ directory

17 years agoez_setup.py: put back the warning about downloading, but only if the URL that you...
Zooko O'Whielacronx [Fri, 14 Sep 2007 03:14:51 +0000 (20:14 -0700)]
ez_setup.py: put back the warning about downloading, but only if the URL that you are using is not "file:"

17 years agoREADME: it works on Python 2.4 on Windows
Zooko O'Whielacronx [Fri, 14 Sep 2007 02:17:30 +0000 (19:17 -0700)]
README: it works on Python 2.4 on Windows

17 years agodon't try to use bindann
Zooko O'Whielacronx [Fri, 14 Sep 2007 02:14:46 +0000 (19:14 -0700)]
don't try to use bindann
It causes a mysterious misbehavior in Python import which causes the previous patch to fail (the patch to not run trial tests if dependencies can't be imported)

17 years agoMakefile: don't attempt to run trial tests if the dependencies can't be imported
Zooko O'Whielacronx [Fri, 14 Sep 2007 02:12:55 +0000 (19:12 -0700)]
Makefile: don't attempt to run trial tests if the dependencies can't be imported

17 years agoremove test in test_client -- we can't easily assert that files aren't readable by...
Zooko O'Whielacronx [Fri, 14 Sep 2007 03:12:26 +0000 (20:12 -0700)]
remove test in test_client -- we can't easily assert that files aren't readable by others, on Windows

17 years agoez_setup.py: don't warn about the need to download packages (because we actually...
Zooko O'Whielacronx [Fri, 14 Sep 2007 03:00:27 +0000 (20:00 -0700)]
ez_setup.py: don't warn about the need to download packages (because we actually bundle them all with Tahoe)

17 years agoMakefile: prepend src/ to the PYTHONPATH
Zooko O'Whielacronx [Fri, 14 Sep 2007 02:43:15 +0000 (19:43 -0700)]
Makefile: prepend src/ to the PYTHONPATH

17 years agore-port Makefile to Windows and remove a bunch of no-longer-needed hacks
Zooko O'Whielacronx [Fri, 14 Sep 2007 01:20:35 +0000 (18:20 -0700)]
re-port Makefile to Windows and remove a bunch of no-longer-needed hacks

17 years agoMakefile: add suggestion about how to use the distutils config file to select mingw32...
Zooko O'Whielacronx [Fri, 14 Sep 2007 01:20:00 +0000 (18:20 -0700)]
Makefile: add suggestion about how to use the distutils config file to select mingw32 compiler

17 years agoadd simplejson into misc/dependencies
Zooko O'Whielacronx [Thu, 13 Sep 2007 23:42:38 +0000 (16:42 -0700)]
add simplejson into misc/dependencies

17 years agoset the zip_safe flag to False
Zooko O'Whielacronx [Thu, 13 Sep 2007 22:37:55 +0000 (15:37 -0700)]
set the zip_safe flag to False
This means that by default the allmydata-tahoe egg will be a directory with a tree of files instead of a zip file containing files.  I prefer the former because it makes it easier for people to hack into it.
Unfortunately the files therein are still going to be .pyc's instead of .py's, if I understand correctly.  I would prefer for them to be .py's.  See also discussion on the distutils-sig mailing list:

http://mail.python.org/pipermail/distutils-sig/2007-July/007827.html

17 years agofix Makefile not to assume that ":" is the PYTHONPATH separator
Zooko O'Whielacronx [Thu, 13 Sep 2007 22:37:34 +0000 (15:37 -0700)]
fix Makefile not to assume that ":" is the PYTHONPATH separator
(It is ";" on Windows.)

17 years agochange setup.py to find dependency tarballs in misc/dependencies
Zooko O'Whielacronx [Thu, 13 Sep 2007 22:37:27 +0000 (15:37 -0700)]
change setup.py to find dependency tarballs in misc/dependencies

17 years agochange ez_setup.py to find tarballs in misc/dependencies
Zooko O'Whielacronx [Thu, 13 Sep 2007 21:51:19 +0000 (14:51 -0700)]
change ez_setup.py to find tarballs in misc/dependencies

17 years agoadd zfec tarball to misc/dependencies
Zooko O'Whielacronx [Thu, 13 Sep 2007 21:51:04 +0000 (14:51 -0700)]
add zfec tarball to misc/dependencies

17 years agoadd setuptools eggs for py2.4 and py2.5 to misc/dependencies
Zooko O'Whielacronx [Thu, 13 Sep 2007 21:50:43 +0000 (14:50 -0700)]
add setuptools eggs for py2.4 and py2.5 to misc/dependencies

17 years agoadd foolscap tarball to misc/dependencies
Zooko O'Whielacronx [Thu, 13 Sep 2007 21:50:23 +0000 (14:50 -0700)]
add foolscap tarball to misc/dependencies

17 years agoinsert misc/dependencies
Zooko O'Whielacronx [Thu, 13 Sep 2007 21:50:10 +0000 (14:50 -0700)]
insert misc/dependencies

17 years agouse ez_setup.py to bootstrap setuptools
Zooko O'Whielacronx [Thu, 13 Sep 2007 01:57:10 +0000 (18:57 -0700)]
use ez_setup.py to bootstrap setuptools

17 years agoMakefile: re-order targets and let user's PYTHONPATH be included in the PP
Zooko O'Whielacronx [Thu, 13 Sep 2007 01:56:33 +0000 (18:56 -0700)]
Makefile: re-order targets and let user's PYTHONPATH be included in the PP

17 years agosetup.py: remove nevow dependency: we need it, but easy_install can't install it
Brian Warner [Wed, 12 Sep 2007 23:55:38 +0000 (16:55 -0700)]
setup.py: remove nevow dependency: we need it, but easy_install can't install it

17 years agopackaging: add 'build-deps' target, to automatically build and install (locally,...
Brian Warner [Wed, 12 Sep 2007 23:48:45 +0000 (16:48 -0700)]
packaging: add 'build-deps' target, to automatically build and install (locally, in ./support) necessary dependencies. All such installed files are used during tests.

17 years agopackaging: move to setuptools
Brian Warner [Wed, 12 Sep 2007 23:02:53 +0000 (16:02 -0700)]
packaging: move to setuptools

17 years agosetup.py: fix move to _version.py
Brian Warner [Wed, 12 Sep 2007 23:02:23 +0000 (16:02 -0700)]
setup.py: fix move to _version.py

17 years agoremove zfec source from our tree, users should grab a tarball from our http://allmyda...
Brian Warner [Sat, 25 Aug 2007 22:37:25 +0000 (15:37 -0700)]
remove zfec source from our tree, users should grab a tarball from our http://allmydata.org/trac/tahoe/wiki/Dependencies page, or from the python cheeseshop

17 years agodebian: depend upon python-zfec, stop including zfec in the tahoe .deb
Brian Warner [Tue, 21 Aug 2007 20:54:51 +0000 (13:54 -0700)]
debian: depend upon python-zfec, stop including zfec in the tahoe .deb

17 years agoMakefile: oops, fix clean-simplejson target. Might fix #10.
Brian Warner [Sat, 18 Aug 2007 06:50:37 +0000 (23:50 -0700)]
Makefile: oops, fix clean-simplejson target. Might fix #10.

17 years agoMakefile: improve 'clean' behavior even more, maybe even completely.
Brian Warner [Sat, 18 Aug 2007 06:45:14 +0000 (23:45 -0700)]
Makefile: improve 'clean' behavior even more, maybe even completely.
Now we remove downloaded setuptools-*.egg files, and *.egg-info directories

17 years agoMakefile: improve 'clean' behavior by removing foolscap .pycs and _version.py
Brian Warner [Sat, 18 Aug 2007 06:38:00 +0000 (23:38 -0700)]
Makefile: improve 'clean' behavior by removing foolscap .pycs and _version.py

17 years agoremove simplejson source from our tree, users should grab a tarball from our http...
Brian Warner [Sat, 25 Aug 2007 22:37:07 +0000 (15:37 -0700)]
remove simplejson source from our tree, users should grab a tarball from our http://allmydata.org/trac/tahoe/wiki/Dependencies page, or from the python cheeseshop

17 years agoremove foolscap source from our tree, users should grab a tarball from our http:...
Brian Warner [Sat, 25 Aug 2007 22:36:33 +0000 (15:36 -0700)]
remove foolscap source from our tree, users should grab a tarball from our http://allmydata.org/trac/tahoe/wiki/Dependencies page, or from the upstream http://foolscap.lothar.com/ home page

17 years agoREADME: update the wording of the "LICENCE" section to more closely follow FSF recomm...
Zooko O'Whielacronx [Wed, 12 Sep 2007 18:31:57 +0000 (11:31 -0700)]
README: update the wording of the "LICENCE" section to more closely follow FSF recommendations

17 years agostorage: always record lease expiration times as integers
Brian Warner [Tue, 11 Sep 2007 21:53:31 +0000 (14:53 -0700)]
storage: always record lease expiration times as integers

17 years agoAdd some passing unit tests for testutil.PollMixin.
nejucomo [Fri, 7 Sep 2007 23:15:41 +0000 (16:15 -0700)]
Add some passing unit tests for testutil.PollMixin.

17 years agoprovisioning: include the cost of replacing failed hard drives
Brian Warner [Mon, 10 Sep 2007 22:46:45 +0000 (15:46 -0700)]
provisioning: include the cost of replacing failed hard drives

17 years agoprovisioning: add cost information
Brian Warner [Mon, 10 Sep 2007 22:29:33 +0000 (15:29 -0700)]
provisioning: add cost information

17 years agoloosen constraint on share data size
Zooko O'Whielacronx [Tue, 11 Sep 2007 18:29:18 +0000 (11:29 -0700)]
loosen constraint on share data size

17 years agoprovisioning: oops, fix test_provisioning too
Brian Warner [Fri, 7 Sep 2007 22:01:17 +0000 (15:01 -0700)]
provisioning: oops, fix test_provisioning too

17 years agoprovisioning.py: update test with new encoding-parameters format
Brian Warner [Fri, 7 Sep 2007 21:45:43 +0000 (14:45 -0700)]
provisioning.py: update test with new encoding-parameters format

17 years agoprovisioning: require at least one drive per server
Brian Warner [Fri, 7 Sep 2007 06:08:21 +0000 (23:08 -0700)]
provisioning: require at least one drive per server

17 years agoprovisioning: explain the 'survival' number better
Brian Warner [Fri, 7 Sep 2007 06:01:07 +0000 (23:01 -0700)]
provisioning: explain the 'survival' number better

17 years agoprovisioning: more repair/survivability data
Brian Warner [Fri, 7 Sep 2007 05:54:53 +0000 (22:54 -0700)]
provisioning: more repair/survivability data

17 years agoprovisioning: add some drive failure and repair rate info
Brian Warner [Fri, 7 Sep 2007 01:47:41 +0000 (18:47 -0700)]
provisioning: add some drive failure and repair rate info

17 years agoprovisioning.py: add file/server availability numbers
Brian Warner [Thu, 6 Sep 2007 01:16:21 +0000 (18:16 -0700)]
provisioning.py: add file/server availability numbers

17 years agowebish: implement 'PUT /uri?t=mkdir' (to create anonymous dirnodes)
Brian Warner [Thu, 6 Sep 2007 00:23:06 +0000 (17:23 -0700)]
webish: implement 'PUT /uri?t=mkdir' (to create anonymous dirnodes)

17 years agowebish: implement 'PUT /uri' (to create anonymous files)
Brian Warner [Thu, 6 Sep 2007 00:12:27 +0000 (17:12 -0700)]
webish: implement 'PUT /uri' (to create anonymous files)

17 years agoclient.py: only import webish.py if 'webport' is set, to save 3MB of footprint
Brian Warner [Tue, 4 Sep 2007 23:33:06 +0000 (16:33 -0700)]
client.py: only import webish.py if 'webport' is set, to save 3MB of footprint

17 years agostorage: add version number to share data. Closes #90.
Brian Warner [Tue, 4 Sep 2007 16:00:24 +0000 (09:00 -0700)]
storage: add version number to share data. Closes #90.

17 years agostorage: don't add a duplicate lease, renew the old one instead
Brian Warner [Mon, 3 Sep 2007 04:39:47 +0000 (21:39 -0700)]
storage: don't add a duplicate lease, renew the old one instead

17 years agostorage: remove get_or_add_owner, since I don't know what we need yet
Brian Warner [Sun, 2 Sep 2007 22:03:40 +0000 (15:03 -0700)]
storage: remove get_or_add_owner, since I don't know what we need yet

17 years agostorage: remove unused delete_bucket() method, lease-cancellation covers it
Brian Warner [Sun, 2 Sep 2007 22:00:29 +0000 (15:00 -0700)]
storage: remove unused delete_bucket() method, lease-cancellation covers it

17 years agostorage: handle simultanous uploads: add a lease for the pre-empted client
Brian Warner [Sun, 2 Sep 2007 21:57:49 +0000 (14:57 -0700)]
storage: handle simultanous uploads: add a lease for the pre-empted client

17 years agodebug: 'dump-uri-extension' command becomes 'dump-share', add 'dump-share-leases...
Brian Warner [Sun, 2 Sep 2007 21:48:20 +0000 (14:48 -0700)]
debug: 'dump-uri-extension' command becomes 'dump-share', add 'dump-share-leases'. Both display leases.

17 years agostorage: replace sqlite with in-share lease records
Brian Warner [Sun, 2 Sep 2007 21:47:15 +0000 (14:47 -0700)]
storage: replace sqlite with in-share lease records

17 years agotest_uri.py: remove tiny whitespace
Brian Warner [Wed, 29 Aug 2007 06:40:03 +0000 (23:40 -0700)]
test_uri.py: remove tiny whitespace

17 years agocreated DirnodeURI schema
wilcoxjg [Wed, 29 Aug 2007 06:28:26 +0000 (23:28 -0700)]
created DirnodeURI schema

17 years agochanged MakeFile comment to clarify what "test.test_introducer" means
wilcoxjg [Thu, 9 Aug 2007 22:26:27 +0000 (15:26 -0700)]
changed MakeFile comment to clarify what "test.test_introducer" means

17 years agostorage: use sqlite from either python2.5's stdlib or the pysqlite2 package
Brian Warner [Wed, 29 Aug 2007 06:28:52 +0000 (23:28 -0700)]
storage: use sqlite from either python2.5's stdlib or the pysqlite2 package

17 years agodeletion phase3: add a sqlite database to track renew/cancel-lease secrets, implement...
Brian Warner [Tue, 28 Aug 2007 06:41:40 +0000 (23:41 -0700)]
deletion phase3: add a sqlite database to track renew/cancel-lease secrets, implement renew/cancel_lease (but nobody calls them yet). Also, move the shares from BASEDIR/storage/* down to BASEDIR/storage/shares/*

17 years agodeletion phase2b: create renew/cancel secrets for real.
Brian Warner [Tue, 28 Aug 2007 02:30:26 +0000 (19:30 -0700)]
deletion phase2b: create renew/cancel secrets for real.

17 years agonode: change get_or_create_config to strip whitespace and accept a filemode= argument
Brian Warner [Tue, 28 Aug 2007 02:23:50 +0000 (19:23 -0700)]
node: change get_or_create_config to strip whitespace and accept a filemode= argument

17 years agonode.py: change get_or_create_config() to accept a function
Brian Warner [Tue, 28 Aug 2007 02:07:12 +0000 (19:07 -0700)]
node.py: change get_or_create_config() to accept a function