Daira Hopwood [Fri, 17 May 2013 19:47:42 +0000 (20:47 +0100)]
A missing basedir should cause an error if we try to read the config. refs #1971
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Fri, 17 May 2013 17:04:47 +0000 (18:04 +0100)]
Refactoring to make node config accessible without actually creating a Node. refs #1971
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Fri, 17 May 2013 16:39:20 +0000 (17:39 +0100)]
Refactoring to make backend configuration accessible from outside Client. refs #1971
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Thu, 16 May 2013 18:29:22 +0000 (19:29 +0100)]
Help for admin commands: cosmetics and new tests.
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Itamar Turner-Trauring [Thu, 16 May 2013 17:53:35 +0000 (13:53 -0400)]
Actually run the creation code against real Azure service, and corresponding bug fix.
Itamar Turner-Trauring [Thu, 16 May 2013 17:49:43 +0000 (13:49 -0400)]
Implement method to create containers in Microsoft Azure storage backend.
Itamar Turner-Trauring [Thu, 16 May 2013 17:27:28 +0000 (13:27 -0400)]
Add documentation for Microsoft Azure Blob Service cloud storage backend config.
Daira Hopwood [Thu, 16 May 2013 18:28:33 +0000 (19:28 +0100)]
Implement dumping of chunked shares and fix system tests. fixes #1959
Also, change 'assert' to '_assert' in debug.py.
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Wed, 1 May 2013 02:41:41 +0000 (03:41 +0100)]
Cleanup: improve error reporting for DataTooLargeError
(and fix an off-by-one error in MutableDiskShare._write_share_data).
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Fri, 10 May 2013 22:25:05 +0000 (23:25 +0100)]
Make the cloud backend report corrupted shares correctly. fixes #1566
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Wed, 9 Apr 2014 00:35:52 +0000 (01:35 +0100)]
Add CorruptStoredShareError as a superclass for all corrupt share errors raised by a storage server (rebased). refs #1566
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Sat, 27 Apr 2013 18:44:18 +0000 (19:44 +0100)]
Improve skip messages for Azure tests.
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Fri, 26 Apr 2013 22:17:47 +0000 (23:17 +0100)]
Use 'fail*' rather than 'assert*' methods for consistency with other tests.
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Fri, 26 Apr 2013 20:57:36 +0000 (21:57 +0100)]
Test that share methods are called with the shareset locked. refs #1869
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Thu, 25 Apr 2013 23:34:19 +0000 (00:34 +0100)]
Fix a pyflakes warning.
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Thu, 25 Apr 2013 23:30:04 +0000 (00:30 +0100)]
Lock remote operations on sharesets. fixes #1869
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Tue, 23 Apr 2013 21:21:09 +0000 (22:21 +0100)]
Cosmetic: fix trailing whitespace.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Itamar Turner-Trauring [Fri, 19 Apr 2013 19:16:15 +0000 (15:16 -0400)]
Add Google and Azure backends to setup.py.
Itamar Turner-Trauring [Fri, 19 Apr 2013 18:12:11 +0000 (14:12 -0400)]
Some improvements and bug fixes.
1. Discard body even if response code indicates a problem, when doing cloud backend HTTP requests. I believe this was triggering a bug in Twistd.
2. Google backend retries on 403 and other 4xx codes, not just 401.
3. More logging.
Itamar Turner-Trauring [Fri, 19 Apr 2013 13:26:07 +0000 (09:26 -0400)]
Fix bug when using oauth2client 1.1 instead of 1.0 (returned HTTP header was unicode rather than the expected bytes).
Daira Hopwood [Thu, 18 Apr 2013 21:47:12 +0000 (22:47 +0100)]
Fix pyflakes warnings.
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Thu, 18 Apr 2013 21:45:04 +0000 (22:45 +0100)]
Cleanup to declare not_import_versionable and ignorable packages in _auto_deps.py
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Thu, 18 Apr 2013 21:43:41 +0000 (22:43 +0100)]
Fix version check warnings for httplib2 and python-gflags (used by oauth2client).
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Itamar Turner-Trauring [Thu, 18 Apr 2013 18:37:22 +0000 (14:37 -0400)]
Add oauth2client to requirements.
Itamar Turner-Trauring [Tue, 26 Mar 2013 19:02:11 +0000 (15:02 -0400)]
Retry cloud HTTP requests on *any* exception (the list is long, and hard to make complete, so easier to just handle all exceptions).
Daira Hopwood [Thu, 18 Apr 2013 18:41:09 +0000 (19:41 +0100)]
Retry on timeouts, and increase number of persistent HTTP connections.
Author: Itamar Turner-Trauring <itamar@futurefoundries.com>
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Itamar Turner-Trauring [Thu, 21 Mar 2013 18:40:27 +0000 (14:40 -0400)]
Fix PUTs.
Itamar Turner-Trauring [Thu, 21 Mar 2013 18:36:33 +0000 (14:36 -0400)]
Fix prefix inclusion, so authentication works.
Daira Hopwood [Thu, 18 Apr 2013 18:37:03 +0000 (19:37 +0100)]
Configuration for MS Azure.
Author: Itamar Turner-Trauring <itamar@futurefoundries.com>
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Itamar Turner-Trauring [Thu, 21 Mar 2013 15:34:39 +0000 (11:34 -0400)]
First pass at implementing the Azure GET/PUT/DELETE.
Itamar Turner-Trauring [Thu, 18 Apr 2013 13:04:33 +0000 (09:04 -0400)]
Address review comments from Daira.
1. Fix typo.
2. Rename config item googlestorage.bucket_name to googlestorage.bucket for
consistency.
Itamar Turner-Trauring [Tue, 16 Apr 2013 17:04:16 +0000 (13:04 -0400)]
Add documentation for Google Cloud Storage backend.
Daira Hopwood [Mon, 15 Apr 2013 20:03:37 +0000 (21:03 +0100)]
msazure_container.py: Implement authentication signature scheme.
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Mon, 15 Apr 2013 20:00:53 +0000 (21:00 +0100)]
Fix pyflakes errors.
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Mon, 15 Apr 2013 19:22:18 +0000 (20:22 +0100)]
Unconditionally use HTTPConnectionPool, and depend on a Twisted that provides it.
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Mon, 15 Apr 2013 20:00:35 +0000 (21:00 +0100)]
googlestorage_container.py: Use Amazon S3 namespace, since Google insists on using it.
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
Itamar Turner-Trauring [Tue, 5 Mar 2013 17:01:06 +0000 (12:01 -0500)]
If oauth2client isn't present, skip Google Storage tests rather than blowing up.
Itamar Turner-Trauring [Tue, 5 Mar 2013 16:38:40 +0000 (11:38 -0500)]
Configuration support for Google Cloud Storage backend.
Itamar Turner-Trauring [Tue, 5 Mar 2013 15:47:37 +0000 (10:47 -0500)]
googlestorage_container.py: Implement PUT and listing of bucket contents.
Itamar Turner-Trauring [Mon, 4 Mar 2013 20:06:45 +0000 (15:06 -0500)]
googlestorage_container.py: Implement DELETE object.
Itamar Turner-Trauring [Mon, 4 Mar 2013 19:56:17 +0000 (14:56 -0500)]
googlestorage_container.py: Implement GET object.
Itamar Turner-Trauring [Mon, 4 Mar 2013 19:41:15 +0000 (14:41 -0500)]
Refactor useful functionality out of OpenStackContainer and into utility class.
Itamar Turner-Trauring [Mon, 4 Mar 2013 18:56:19 +0000 (13:56 -0500)]
More tests for the Google Storage container, and fixes to the tests.
Itamar Turner-Trauring [Mon, 4 Mar 2013 18:40:05 +0000 (13:40 -0500)]
Start of tests for the Google Storage container.
Itamar Turner-Trauring [Mon, 4 Mar 2013 15:53:45 +0000 (10:53 -0500)]
Tests for googlestorage_container.AuthenticationClient.
Author: Itamar Turner-Trauring <itamar@futurefoundries.com>
Itamar Turner-Trauring [Fri, 1 Mar 2013 18:58:10 +0000 (13:58 -0500)]
Sketch of working Google Cloud Storage authentication, with some demo code.
David-Sarah Hopwood [Tue, 26 Feb 2013 03:36:08 +0000 (03:36 +0000)]
docs/backends/cloud.rst: clarify how to get to API Access in the Rackspace console.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Tue, 26 Feb 2013 03:35:35 +0000 (03:35 +0000)]
OpenStack: fix a type error introduced by the fix to #1921.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Sun, 24 Feb 2013 04:08:23 +0000 (04:08 +0000)]
OpenStack: support HP Cloud Object Storage.
Also make the choice of auth protocol for Rackspace configurable via
openstack.provider, and change the reauth period to 11 hours.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Fri, 22 Feb 2013 03:59:48 +0000 (03:59 +0000)]
leasedb/accounting crawler: only treat stable shares as disappeared or unleased.
fixes #1921
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 21 Feb 2013 22:04:16 +0000 (22:04 +0000)]
Cloud backend: move potentially reusable HTTP request utilities to cloud_common.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 21 Feb 2013 22:17:06 +0000 (22:17 +0000)]
OpenStack: if we get a 401 Unauthorized response, reauthenticate immediately.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 21 Feb 2013 22:14:27 +0000 (22:14 +0000)]
cloud_common.py: generalize ContainerRetryMixin to allow the container class to specify what to retry.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 21 Feb 2013 21:37:54 +0000 (21:37 +0000)]
openstack_container.py: remove a superfluous argument to get_auth_info_locked.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 21 Feb 2013 01:59:48 +0000 (01:59 +0000)]
accounting_crawler.py: disable removing leasedb entries for disappeared shares.
This works around ticket #1921 for now.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 21 Feb 2013 01:58:56 +0000 (01:58 +0000)]
openstack_container.py: avoid logging secrets in request headers.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 20 Feb 2013 23:26:15 +0000 (23:26 +0000)]
docs: add references to OpenStack/cloud backend in configuration.rst and running.rst.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 20 Feb 2013 06:21:25 +0000 (06:21 +0000)]
OpenStack: generalize to support multiple auth protocols, and add V2 protocol.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Tue, 19 Feb 2013 18:47:14 +0000 (18:47 +0000)]
OpenStack: add _http_request helper.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Mon, 18 Feb 2013 22:33:30 +0000 (22:33 +0000)]
openstack_container.py: factor out HTTP response code checking.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Fri, 15 Feb 2013 23:05:20 +0000 (23:05 +0000)]
docs/backends/cloud.rst: add documentation for OpenStack config parameters.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Fri, 15 Feb 2013 20:59:06 +0000 (20:59 +0000)]
openstack_container.py: improve name of _auth_lock; simplify by using DeferredLock.run.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Fri, 15 Feb 2013 03:13:13 +0000 (03:13 +0000)]
OpenStack: change provider names to rackspace.com and rackspace.co.uk.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 14 Feb 2013 22:30:51 +0000 (22:30 +0000)]
test_storage.py: add tests for OpenStackContainer.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 14 Feb 2013 22:30:04 +0000 (22:30 +0000)]
openstack_container.py: disable or remove debug prints.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 14 Feb 2013 22:29:17 +0000 (22:29 +0000)]
openstack_container.py: fix a bug in type of ContainerListing.is_truncated.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 14 Feb 2013 22:24:08 +0000 (22:24 +0000)]
Move classes common to mock and OpenStack cloud services, to cloud_common.py.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 14 Feb 2013 22:19:34 +0000 (22:19 +0000)]
test_storage.py: refactor OpenStackCloudBackend to make it easier to add new tests.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 13 Feb 2013 22:08:46 +0000 (22:08 +0000)]
OpenStack: mostly complete implementation of OpenStackContainer.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 13 Feb 2013 22:07:55 +0000 (22:07 +0000)]
OpenStack: improve logging in openstack_container.py.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Tue, 12 Feb 2013 01:58:51 +0000 (01:58 +0000)]
OpenStack: add openstack.container config parameter.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Tue, 12 Feb 2013 01:44:43 +0000 (01:44 +0000)]
Add test for OpenStack authentication client.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Mon, 11 Feb 2013 02:43:36 +0000 (02:43 +0000)]
openstack_container.py: add shutdown() to avoid unclean reactor errors in tests.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Mon, 11 Feb 2013 02:42:23 +0000 (02:42 +0000)]
openstack_container.py: add _ prefix to private attributes.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Tue, 5 Feb 2013 19:58:32 +0000 (19:58 +0000)]
setup.py: add allmydata.storage.backends.cloud.openstack module.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Tue, 5 Feb 2013 19:42:17 +0000 (19:42 +0000)]
test_client.py: add OpenStack config tests.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Tue, 5 Feb 2013 19:42:01 +0000 (19:42 +0000)]
test_client.py: cleanups to S3 config tests.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Tue, 5 Feb 2013 19:41:31 +0000 (19:41 +0000)]
OpenStack service: add AuthenticationClient.
Configure using properties relevant to OpenStack.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Tue, 29 Jan 2013 23:17:31 +0000 (23:17 +0000)]
Add stub OpenStack container impl. as a copy of S3 container impl.
Generalize the container instantiation to work for either.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 20 Feb 2013 06:25:32 +0000 (06:25 +0000)]
Fix interface violations introduced in cloud merge.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Mon, 15 Apr 2013 19:50:40 +0000 (20:50 +0100)]
Make backupdb use dbutil.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Wed, 1 May 2013 22:04:21 +0000 (23:04 +0100)]
Comment changes for ticket ref #1784
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 12 Dec 2012 07:19:47 +0000 (07:19 +0000)]
Makefile: have 'make tmpfstest' unmount and remove stale temp directories.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 12 Dec 2012 07:18:55 +0000 (07:18 +0000)]
Makefile: the timing for 'make tmpfstest' should exclude filesystem
mounting/unmounting and entering the password if needed.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Tue, 8 Apr 2014 23:59:24 +0000 (00:59 +0100)]
Makefile: allow tmpfs size to be more easily overridden, and use 500 MiB by default (rebased).
(The kernel will only allocate space that is used; the limit is just in case
tests write more than expected.)
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
David-Sarah Hopwood [Wed, 12 Dec 2012 07:12:05 +0000 (07:12 +0000)]
test_runner.py: add test for 'tahoe debug trial'.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Mon, 15 Apr 2013 19:47:14 +0000 (20:47 +0100)]
Fixes to tests. Some tests are applied to multiple backends.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
David-Sarah Hopwood [Wed, 12 Dec 2012 07:05:28 +0000 (07:05 +0000)]
Fixes to test infrastructure.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 12 Dec 2012 07:04:31 +0000 (07:04 +0000)]
Miscellaneous corrections and additions.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 12 Dec 2012 07:01:59 +0000 (07:01 +0000)]
Changes to crawler classes (ShareCrawler and AccountingCrawler).
Pass in a Clock to allow (in theory) deterministic testing, although this isn't used yet by tests.
Simplify the generic ShareCrawler code by not attempting to track state during processing
of a single prefix.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Mon, 8 Apr 2013 22:16:56 +0000 (23:16 +0100)]
Changes to fileutil.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 12 Dec 2012 06:54:02 +0000 (06:54 +0000)]
Fix bugs in Accountant.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Wed, 12 Dec 2012 06:53:24 +0000 (06:53 +0000)]
Simplify Account.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Mon, 15 Apr 2013 19:18:56 +0000 (20:18 +0100)]
Changes to debug.py.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Mon, 15 Apr 2013 19:31:16 +0000 (20:31 +0100)]
Changes to node classes (Node, Client and StorageServer).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 8 Apr 2014 23:56:58 +0000 (00:56 +0100)]
Changes to Bucket{Reader,Writer} and disk backend (rebased).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
David-Sarah Hopwood [Wed, 12 Dec 2012 06:23:16 +0000 (06:23 +0000)]
Changes and additions to interface documentation.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Wed, 9 Apr 2014 00:33:33 +0000 (01:33 +0100)]
Add new files for cloud merge (rebased).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
David-Sarah Hopwood [Thu, 22 Nov 2012 06:43:49 +0000 (06:43 +0000)]
Move BucketWriter and BucketReader to storage/bucket.py.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
David-Sarah Hopwood [Thu, 22 Nov 2012 05:33:35 +0000 (05:33 +0000)]
Move code around and add new directories for cloud backend merge.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>