pithos
13 years agoAdd a simple client for the API
Giorgos Verigakis [Tue, 17 May 2011 16:04:57 +0000 (19:04 +0300)]
Add a simple client for the API

13 years agoAdd unit tests for backend and API
Sofia Papagiannaki [Tue, 17 May 2011 15:58:38 +0000 (18:58 +0300)]
Add unit tests for backend and API

* Tests the OpenStack Object Storage API v1 functionality plus the extras
* Tests the functionality of a BaseBackend which implements the API

Fixes #451
Fixes #453

13 years agoImplement basic functionality plus some extras
Antony Chazapis [Tue, 17 May 2011 15:41:07 +0000 (18:41 +0300)]
Implement basic functionality plus some extras

The API is based on the Apr. 15, 2011 release of the OpenStack Object Storage API v1.
The implementation is broken up into two layers - frontend (API) and backend (data and metadata handling).
The API is documented in the wiki. The following list is copied here for reference.

List of differences from the OOS API and clarifications:
* Authentication is done by another system. The token is used in the same way, but it is obtained differently. The top level GET request is kept compatible with the OOS API and allows for guest/testing operations.
* Support for X-Account-Meta-* style headers at the account level. Use POST to update.
* Support for X-Container-Meta-* style headers at the account level. Can be set when creating via PUT. Use POST to update.
* Some processing is done in the variable part of all X-*-Meta-* headers. If it includes underscores, they will be converted to dashes and the first letter of all intra-dash strings will be capitalized.
* All metadata replies, at all levels, include latest modification information.
* At all levels, a GET request may use If-Modified-Since and If-Unmodified-Since headers.
* A GET reply for a level will include all headers of the corresponding HEAD request.
* To avoid conflicts between objects and virtual directory markers in container listings, it is recommended that object names do not end with the delimiter used.
* The Accept header may be used in requests instead of the format parameter to specify the desired reply format. The parameter overrides the header.
* Container/object lists use a 200 return code if the reply is of type json/xml. The reply will include an empty json/xml.
* Container/object lists include all associated metadata if the reply is of type json/xml. Some names are kept to their OOS API equivalents for compatibility.
* In headers, dates are formatted according to RFC 1123. In extended information listings, dates are formatted according to ISO 8601.
* Object headers allowed, in addition to X-Object-Meta-*: Content-Encoding
* Object MOVE support.

Fixes #445
Fixes #447

13 years agoUpdate default settings. Minor changes.
Antony Chazapis [Fri, 6 May 2011 09:21:20 +0000 (12:21 +0300)]
Update default settings. Minor changes.

13 years agoRefs #453
papagian [Thu, 5 May 2011 15:52:05 +0000 (18:52 +0300)]
Refs #453

13 years agoRefs #447
papagian [Thu, 5 May 2011 15:51:04 +0000 (18:51 +0300)]
Refs #447

13 years ago#Refs #447
papagian [Thu, 5 May 2011 15:50:45 +0000 (18:50 +0300)]
#Refs #447

13 years agoRefs #453
papagian [Thu, 5 May 2011 12:46:35 +0000 (15:46 +0300)]
Refs #453

13 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Antony Chazapis [Thu, 5 May 2011 10:33:18 +0000 (13:33 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

13 years agoClean up, sort out logging.
Antony Chazapis [Thu, 5 May 2011 10:32:57 +0000 (13:32 +0300)]
Clean up, sort out logging.

13 years agoFixes #447
papagian [Thu, 5 May 2011 09:56:18 +0000 (12:56 +0300)]
Fixes #447

13 years agoFixes #447
papagian [Thu, 5 May 2011 08:38:15 +0000 (11:38 +0300)]
Fixes #447

13 years agoMake sure unicode strings work for container and object names, as well as metadata...
Antony Chazapis [Wed, 4 May 2011 13:34:46 +0000 (16:34 +0300)]
Make sure unicode strings work for container and object names, as well as metadata (keys and values).

13 years agotab2space
papagian [Tue, 3 May 2011 14:35:50 +0000 (17:35 +0300)]
tab2space
Refs #453

13 years agoRefs #453
papagian [Tue, 3 May 2011 13:41:16 +0000 (16:41 +0300)]
Refs #453

13 years agometadata dict accepts non string values
papagian [Tue, 3 May 2011 13:40:42 +0000 (16:40 +0300)]
metadata dict accepts non string values
Refs #447

13 years agoMerge API and backend.
Antony Chazapis [Tue, 3 May 2011 11:33:52 +0000 (14:33 +0300)]
Merge API and backend.

13 years agoAllow for account/container metadata.
Antony Chazapis [Mon, 2 May 2011 21:55:15 +0000 (00:55 +0300)]
Allow for account/container metadata.

13 years agoRefs #447
papagian [Mon, 2 May 2011 14:22:11 +0000 (17:22 +0300)]
Refs #447

13 years agoMerge API and backend container functions
Antony Chazapis [Mon, 2 May 2011 12:51:40 +0000 (15:51 +0300)]
Merge API and backend container functions

13 years agoRefs #447
papagian [Mon, 2 May 2011 11:27:51 +0000 (14:27 +0300)]
Refs #447

13 years agolist_objects changes
papagian [Fri, 29 Apr 2011 13:46:11 +0000 (16:46 +0300)]
list_objects changes
Fixes #447

13 years agoFixes #447
papagian [Thu, 28 Apr 2011 18:58:53 +0000 (21:58 +0300)]
Fixes #447

13 years agoFixes #447
papagian [Thu, 28 Apr 2011 18:38:40 +0000 (21:38 +0300)]
Fixes #447

13 years agocreate account when create container if not exists
papagian [Thu, 28 Apr 2011 18:18:08 +0000 (21:18 +0300)]
create account when create container if not exists
Refs #447

13 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
papagian [Thu, 28 Apr 2011 17:55:41 +0000 (20:55 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

13 years agoμετατροπή σε class, include accounts
papagian [Thu, 28 Apr 2011 17:53:08 +0000 (20:53 +0300)]
μετατροπή σε class, include accounts
Refs #447

13 years agoTesting containers with the cloudfiles python bindings.
Antony Chazapis [Thu, 28 Apr 2011 17:43:20 +0000 (20:43 +0300)]
Testing containers with the cloudfiles python bindings.

13 years agoRemoved models from API.
Antony Chazapis [Thu, 28 Apr 2011 15:50:42 +0000 (18:50 +0300)]
Removed models from API.

13 years agoMove to a better file organization
Giorgos Verigakis [Thu, 28 Apr 2011 14:53:13 +0000 (17:53 +0300)]
Move to a better file organization

The Django project is a python package and needs to have a
specific name. We nest it inside the repository so that the
name is under revision control.

13 years agoAdded GET/PUT/COPY object API.
Antony Chazapis [Thu, 28 Apr 2011 12:34:39 +0000 (15:34 +0300)]
Added GET/PUT/COPY object API.

13 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
butters butters [Wed, 27 Apr 2011 10:20:56 +0000 (13:20 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

13 years agodummy backend
butters butters [Wed, 27 Apr 2011 09:18:59 +0000 (12:18 +0300)]
dummy backend

13 years agoObject delete and metadata handling API.
Antony Chazapis [Tue, 26 Apr 2011 17:32:29 +0000 (20:32 +0300)]
Object delete and metadata handling API.

13 years agoContainers API.
Antony Chazapis [Mon, 25 Apr 2011 17:36:54 +0000 (20:36 +0300)]
Containers API.

13 years agoHandle marker and limit.
Antony Chazapis [Wed, 20 Apr 2011 14:52:37 +0000 (17:52 +0300)]
Handle marker and limit.

13 years agoFix tabs to spaces
Giorgos Verigakis [Wed, 20 Apr 2011 11:33:27 +0000 (14:33 +0300)]
Fix tabs to spaces

13 years agoAutomatic handling of serialization format.
Antony Chazapis [Wed, 20 Apr 2011 11:18:27 +0000 (14:18 +0300)]
Automatic handling of serialization format.

13 years agoReorganize
Giorgos Verigakis [Wed, 20 Apr 2011 10:08:20 +0000 (13:08 +0300)]
Reorganize

* Remove src dir (it confuses Django)
* We'll use just the master for now

13 years agoInitial API layout.
Antony Chazapis [Tue, 19 Apr 2011 23:04:00 +0000 (02:04 +0300)]
Initial API layout.

13 years agoAdd a project skeleton
Giorgos Verigakis [Tue, 19 Apr 2011 15:18:27 +0000 (18:18 +0300)]
Add a project skeleton