Antony Chazapis [Tue, 14 Jun 2011 16:28:15 +0000 (19:28 +0300)]
Add template for version list.
Refs #593
Antony Chazapis [Tue, 14 Jun 2011 16:26:25 +0000 (19:26 +0300)]
Large object support.
Giorgos Verigakis [Tue, 14 Jun 2011 15:57:08 +0000 (18:57 +0300)]
Add a simple FUSE backend client
Only supports flat hierarchies for now:
the only dirs are containers that can only contain files.
Requires MacFUSE in Mac OS X, Windows not supported.
Antony Chazapis [Tue, 14 Jun 2011 11:16:55 +0000 (14:16 +0300)]
Remove strip() from tests.
Sofia Papagiannaki [Fri, 10 Jun 2011 15:12:43 +0000 (18:12 +0300)]
_list() strip data returned from server
before further processing
Fixes #567
Sofia Papagiannaki [Fri, 10 Jun 2011 15:02:39 +0000 (18:02 +0300)]
_list(...) returns always list
in _get_metadata(...) prefix is optional: if not present returns all the metadata
Sofia Papagiannaki [Fri, 10 Jun 2011 14:05:11 +0000 (17:05 +0300)]
remove leftover comments
Sofia Papagiannaki [Fri, 10 Jun 2011 13:46:58 +0000 (16:46 +0300)]
support from chunked transfers, object update and move
Fixes #567
Sofia Papagiannaki [Fri, 10 Jun 2011 13:46:23 +0000 (16:46 +0300)]
client support from chunked transfers, object update and move
Fixes #567
Sofia Papagiannaki [Fri, 10 Jun 2011 13:44:38 +0000 (16:44 +0300)]
fixes chunked transfer data
Antony Chazapis [Fri, 10 Jun 2011 10:47:00 +0000 (13:47 +0300)]
Document versioning and public objects.
Fixes #593
Fixes #595
Antony Chazapis [Thu, 9 Jun 2011 23:15:49 +0000 (02:15 +0300)]
Versioning extras, including account/container "time machine".
* Update metadata with the hashmap to create a single new object version.
* Add source version when duplicating in PUT/COPY/MOVE.
* Add 'until' parameter in account/container HEAD/GET.
* Expose object version list.
* Include user in backend functions (for future use).
Refs #593
Antony Chazapis [Thu, 9 Jun 2011 14:09:29 +0000 (17:09 +0300)]
Limit metadata in object headers accessed via /public. Simplify implementation.
Refs #595
Antony Chazapis [Thu, 9 Jun 2011 13:21:50 +0000 (16:21 +0300)]
Pass account from request URL to backend functions and not request.user.
Antony Chazapis [Thu, 9 Jun 2011 13:03:16 +0000 (16:03 +0300)]
Support public files.
Use 'X-Object-Public' to mark files as public. Then they can be accessed via the /public URL without authentication.
Refs #595
Antony Chazapis [Thu, 9 Jun 2011 12:55:24 +0000 (15:55 +0300)]
Antony Chazapis [Thu, 9 Jun 2011 12:44:48 +0000 (15:44 +0300)]
Fix modification time in accounts/containers.
Antony Chazapis [Thu, 9 Jun 2011 11:48:06 +0000 (14:48 +0300)]
Advanced versioning support. New backend.
- Everything is versioned in the backend.
- Time-controlled account/container listings.
- Initial API support with the 'version' parameter in object HEAD/GET.
Refs #593
Sofia Papagiannaki [Tue, 7 Jun 2011 09:00:31 +0000 (12:00 +0300)]
fix for double matching metadata filtering
Sofia Papagiannaki [Tue, 7 Jun 2011 08:58:11 +0000 (11:58 +0300)]
#Fixes 451
Antony Chazapis [Fri, 3 Jun 2011 16:55:17 +0000 (19:55 +0300)]
Fix precondition check replies.
Sofia Papagiannaki [Fri, 3 Jun 2011 12:03:58 +0000 (15:03 +0300)]
Fixes #567
separates the interaction with the api from the command line tool
+ some extensions to support more options
Sofia Papagiannaki [Wed, 1 Jun 2011 14:06:52 +0000 (17:06 +0300)]
Fixes #565
Sofia Papagiannaki [Wed, 1 Jun 2011 14:06:12 +0000 (17:06 +0300)]
Fixes chunked object post with specific upto range limit
Sofia Papagiannaki [Wed, 1 Jun 2011 12:25:45 +0000 (15:25 +0300)]
Fixes #565
Sofia Papagiannaki [Wed, 1 Jun 2011 12:25:11 +0000 (15:25 +0300)]
import missing hashlib
Antony Chazapis [Wed, 1 Jun 2011 11:26:23 +0000 (14:26 +0300)]
Fix Content-Range parsing.
Antony Chazapis [Wed, 1 Jun 2011 10:48:44 +0000 (13:48 +0300)]
Add 411 error to POST in doc.
Antony Chazapis [Tue, 31 May 2011 14:04:25 +0000 (17:04 +0300)]
Produce new ETag when updating an object (corrected).
Antony Chazapis [Tue, 31 May 2011 13:45:44 +0000 (16:45 +0300)]
Produce new ETag when updating an object.
Antony Chazapis [Tue, 31 May 2011 11:01:39 +0000 (14:01 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos
Antony Chazapis [Tue, 31 May 2011 11:01:17 +0000 (14:01 +0300)]
Include storage type in container meta/hashmap replies. Minor doc updates.
Sofia Papagiannaki [Tue, 31 May 2011 07:56:53 +0000 (10:56 +0300)]
Fixes #565
Antony Chazapis [Sun, 29 May 2011 12:39:34 +0000 (15:39 +0300)]
Document partial object updates and hashmaps.
Refs #563
Antony Chazapis [Sun, 29 May 2011 10:24:04 +0000 (13:24 +0300)]
Handle partial object updates through POST.
Antony Chazapis [Fri, 27 May 2011 16:50:31 +0000 (19:50 +0300)]
Change database placement/naming defaults.
Antony Chazapis [Fri, 27 May 2011 16:39:56 +0000 (19:39 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos
Antony Chazapis [Fri, 27 May 2011 16:39:25 +0000 (19:39 +0300)]
Fix object GET.
Sofia Papagiannaki [Fri, 27 May 2011 16:39:13 +0000 (19:39 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos
Sofia Papagiannaki [Fri, 27 May 2011 16:39:00 +0000 (19:39 +0300)]
minor improvements
Giorgos Verigakis [Fri, 27 May 2011 16:28:19 +0000 (19:28 +0300)]
Add a Content-Type header when sending data
Sofia Papagiannaki [Fri, 27 May 2011 16:01:18 +0000 (19:01 +0300)]
add license
Sofia Papagiannaki [Fri, 27 May 2011 15:53:24 +0000 (18:53 +0300)]
additional api tests
Giorgos Verigakis [Fri, 27 May 2011 15:27:35 +0000 (18:27 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos
Giorgos Verigakis [Fri, 27 May 2011 15:27:29 +0000 (18:27 +0300)]
Deployment improvements
* Better URL handling
* Always send a content-length with the cli client
Antony Chazapis [Fri, 27 May 2011 15:11:30 +0000 (18:11 +0300)]
Move doc to docs. Fix doc compilation warnings.
Antony Chazapis [Fri, 27 May 2011 14:20:25 +0000 (17:20 +0300)]
Add license.
Fixes #577
Antony Chazapis [Fri, 27 May 2011 13:48:53 +0000 (16:48 +0300)]
Provide metadata functions for tags and trash support. Restructure backend to work with blocks and hashmaps.
List of major API updates (tested and ready changes are in the docs):
* List object meta keys in container headers.
* Filter object listings based on their meta keys.
* Enforce metadata replacement on POST/COPY/MOVE.
* Add Content-Range to range replies.
* Return ETag in If-None-Match GET replies.
* Handle multi-range GET replies as outlined in RFC2616.
* Add Content-Disposition to the allowable object headers.
* Implement block per block GET and PUT.
* Better range parsing (and multiple ranges).
The new backend is version-ready, but the API does not yet implement versions. The frontend exposes hashmaps through GET - this may change.
Fixes #559
Fixes #561
Refs #563
Antony Chazapis [Thu, 26 May 2011 09:45:15 +0000 (12:45 +0300)]
Include documentation folder, README.
Antony Chazapis [Wed, 18 May 2011 09:34:14 +0000 (12:34 +0300)]
Fix account/container size reporting, zero-length object uploading.
Giorgos Verigakis [Tue, 17 May 2011 16:47:15 +0000 (19:47 +0300)]
Merge https://code.grnet.gr/git/pithos into pithospub
Giorgos Verigakis [Tue, 17 May 2011 16:04:57 +0000 (19:04 +0300)]
Add a simple client for the 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
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
Christos Stathis [Fri, 6 May 2011 14:26:06 +0000 (17:26 +0300)]
Removed or commented out various things not related to v.2
Christos Stathis [Fri, 6 May 2011 13:37:45 +0000 (16:37 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos
Christos Stathis [Fri, 6 May 2011 13:29:22 +0000 (16:29 +0300)]
Removed un-needed files
Christos Stathis [Fri, 6 May 2011 13:29:02 +0000 (16:29 +0300)]
Hardcoded pithos site url
Christos Stathis [Fri, 6 May 2011 13:28:28 +0000 (16:28 +0300)]
Fixed css class names
Antony Chazapis [Fri, 6 May 2011 09:21:20 +0000 (12:21 +0300)]
Update default settings. Minor changes.
papagian [Thu, 5 May 2011 15:52:05 +0000 (18:52 +0300)]
Refs #453
papagian [Thu, 5 May 2011 15:51:04 +0000 (18:51 +0300)]
Refs #447
papagian [Thu, 5 May 2011 15:50:45 +0000 (18:50 +0300)]
#Refs #447
Christos Stathis [Thu, 5 May 2011 14:05:54 +0000 (17:05 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos
Christos Stathis [Thu, 5 May 2011 14:05:40 +0000 (17:05 +0300)]
Updated copyright notice
papagian [Thu, 5 May 2011 12:46:35 +0000 (15:46 +0300)]
Refs #453
Antony Chazapis [Thu, 5 May 2011 10:33:18 +0000 (13:33 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos
Antony Chazapis [Thu, 5 May 2011 10:32:57 +0000 (13:32 +0300)]
Clean up, sort out logging.
papagian [Thu, 5 May 2011 09:56:18 +0000 (12:56 +0300)]
Fixes #447
papagian [Thu, 5 May 2011 08:38:15 +0000 (11:38 +0300)]
Fixes #447
Christos Stathis [Wed, 4 May 2011 16:03:19 +0000 (19:03 +0300)]
Renamed all packages to gr.grnet.pithos.*
Christos Stathis [Wed, 4 May 2011 16:02:49 +0000 (19:02 +0300)]
Renamed all packages to gr.grnet.pithos.*
Christos Stathis [Wed, 4 May 2011 15:02:15 +0000 (18:02 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos
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).
papagian [Tue, 3 May 2011 14:35:50 +0000 (17:35 +0300)]
tab2space
Refs #453
papagian [Tue, 3 May 2011 13:41:16 +0000 (16:41 +0300)]
Refs #453
papagian [Tue, 3 May 2011 13:40:42 +0000 (16:40 +0300)]
metadata dict accepts non string values
Refs #447
Antony Chazapis [Tue, 3 May 2011 11:33:52 +0000 (14:33 +0300)]
Merge API and backend.
Antony Chazapis [Mon, 2 May 2011 21:55:15 +0000 (00:55 +0300)]
Allow for account/container metadata.
papagian [Mon, 2 May 2011 14:22:11 +0000 (17:22 +0300)]
Refs #447
Antony Chazapis [Mon, 2 May 2011 12:51:40 +0000 (15:51 +0300)]
Merge API and backend container functions
papagian [Mon, 2 May 2011 11:27:51 +0000 (14:27 +0300)]
Refs #447
papagian [Fri, 29 Apr 2011 13:46:11 +0000 (16:46 +0300)]
list_objects changes
Fixes #447
papagian [Thu, 28 Apr 2011 18:58:53 +0000 (21:58 +0300)]
Fixes #447
papagian [Thu, 28 Apr 2011 18:38:40 +0000 (21:38 +0300)]
Fixes #447
papagian [Thu, 28 Apr 2011 18:18:08 +0000 (21:18 +0300)]
create account when create container if not exists
Refs #447
papagian [Thu, 28 Apr 2011 17:55:41 +0000 (20:55 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos
papagian [Thu, 28 Apr 2011 17:53:08 +0000 (20:53 +0300)]
μετατροπή σε class, include accounts
Refs #447
Antony Chazapis [Thu, 28 Apr 2011 17:43:20 +0000 (20:43 +0300)]
Testing containers with the cloudfiles python bindings.
Antony Chazapis [Thu, 28 Apr 2011 15:50:42 +0000 (18:50 +0300)]
Removed models from API.
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.
Christos Stathis [Thu, 28 Apr 2011 13:34:08 +0000 (16:34 +0300)]
Removed commonui gwtquery plugin
Christos Stathis [Thu, 28 Apr 2011 13:33:27 +0000 (16:33 +0300)]
Moved ignored resources to a web_client specific .gitignore file
Antony Chazapis [Thu, 28 Apr 2011 12:34:39 +0000 (15:34 +0300)]
Added GET/PUT/COPY object API.
Christos Stathis [Thu, 28 Apr 2011 12:30:23 +0000 (15:30 +0300)]
Updated files ignored by git
Christos Stathis [Wed, 27 Apr 2011 16:10:51 +0000 (19:10 +0300)]
Moved all web client files to their folder. Updated ignored files
Christos Stathis [Wed, 27 Apr 2011 15:57:09 +0000 (18:57 +0300)]
Merge branch 'pithosv2' of ../gss_git
Christos V. Stathis [Wed, 27 Apr 2011 15:51:44 +0000 (18:51 +0300)]
Removed everything unrelated to the web client
butters butters [Wed, 27 Apr 2011 10:20:56 +0000 (13:20 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos
butters butters [Wed, 27 Apr 2011 09:18:59 +0000 (12:18 +0300)]
dummy backend