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 [Fri, 17 Apr 2015 20:53:53 +0000 (21:53 +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 [Fri, 17 Apr 2015 20:49:35 +0000 (21:49 +0100)]
Tweak requirement for six and declare python-gflags as not import-versionable.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 17 Apr 2015 20:40:51 +0000 (21:40 +0100)]
Add oauth2client to requirements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
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 [Fri, 17 Apr 2015 20:39:01 +0000 (21:39 +0100)]
Unconditionally use HTTPConnectionPool, and depend on a Twisted that provides it.
(The dependency change only affects Windows.)
Signed-off-by: Daira Hopwood <daira@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.
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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>
Daira 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)]
Use "PRAGMA synchronous = OFF" for leasedb.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira 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>
Daira 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 [Fri, 17 Apr 2015 20:27:09 +0000 (21:27 +0100)]
Makefile: allow tmpfs size to be more easily overridden, and use 500 MiB by default.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira 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 [Fri, 17 Apr 2015 20:10:06 +0000 (21:10 +0100)]
Fixes to tests. Some tests are applied to multiple backends.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 17 Apr 2015 19:39:20 +0000 (20:39 +0100)]
Fixes to test infrastructure.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 17 Apr 2015 19:37:35 +0000 (20:37 +0100)]
Rename 'delete_all_shares' to 'empty_sharedir' to avoid name clash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira 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>
Daira 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 [Fri, 17 Apr 2015 18:40:37 +0000 (19:40 +0100)]
Changes to fileutil.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira 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>
Daira 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 [Fri, 17 Apr 2015 18:38:16 +0000 (19:38 +0100)]
Changes to debug.py.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 17 Apr 2015 18:26:45 +0000 (19:26 +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>
Daira 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>
Daira 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>
Daira 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>
Daira Hopwood [Fri, 17 Apr 2015 18:22:15 +0000 (19:22 +0100)]
Add dependency on our fork of txAWS (0.2.1.post5).
This also makes our dependency on six unconditional, rather than only
depending on six when pyOpenSSL >= 0.14 is used.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 8 Apr 2014 23:46:57 +0000 (00:46 +0100)]
.gitignore: changes to facilitate cloud backend merge (rebased).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 8 Apr 2014 23:43:30 +0000 (00:43 +0100)]
Add documentation for each storage backend (rebased).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Sat, 15 Dec 2012 06:27:21 +0000 (06:27 +0000)]
Add test_leasedb.py.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Sat, 15 Dec 2012 06:24:41 +0000 (06:24 +0000)]
leasedb: use a semantic primary key (storage_index, shnum, account_id), rather than an integer, for the leases table.
Take advantage of this to simplify add_or_renew_leases.
Fix a bug in add_starter_lease (which is not used yet) when a starter lease already exists.
Clean up leftover accesses to self._dirty.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Sun, 18 Nov 2012 06:22:18 +0000 (06:22 +0000)]
Rename 'buckets' to 'sharesets' on storage status page.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Fri, 17 Apr 2015 18:08:22 +0000 (19:08 +0100)]
Remove unused files storage/lease.py and storage/expirer.py.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 17 Apr 2015 18:04:40 +0000 (19:04 +0100)]
Main leasedb changes (rebased).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Sun, 18 Nov 2012 05:00:13 +0000 (05:00 +0000)]
Remove the 'original-*' and 'configured-*' lease crawler output that won't be supported by the accounting crawler.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Sun, 18 Nov 2012 05:04:48 +0000 (05:04 +0000)]
Cosmetics.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Sun, 18 Nov 2012 04:13:19 +0000 (04:13 +0000)]
test_storage.py: ss -> server for cases that will remain a server after the server/account split.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Sun, 18 Nov 2012 02:52:40 +0000 (02:52 +0000)]
Asyncify crawlers. Note that this breaks tests for the LeaseCrawler
(which is going away, to be replaced by the AccountingCrawler).
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Sun, 18 Nov 2012 02:19:14 +0000 (02:19 +0000)]
scripts/debug.py: remove display of lease information and secrets.
This version replaces the expiration field with '-' instead of '0', per Zooko's comments.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Daira Hopwood [Fri, 17 Apr 2015 18:00:57 +0000 (19:00 +0100)]
Remove the [storage]expire.{mutable,immutable} options.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 17 Apr 2015 17:59:20 +0000 (18:59 +0100)]
Remove support for [storage]debug_discard option.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>