pithos
12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Antony Chazapis [Wed, 22 Jun 2011 15:34:32 +0000 (18:34 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years agoFix POST to delete metadata when none is supplied. Add 'update' parameter to update...
Antony Chazapis [Wed, 22 Jun 2011 15:33:59 +0000 (18:33 +0300)]
Fix POST to delete metadata when none is supplied. Add 'update' parameter to update certain meta values only.

12 years agoclient bug fixing in print usage
Sofia Papagiannaki [Wed, 22 Jun 2011 15:32:30 +0000 (18:32 +0300)]
client bug fixing in print usage

Fixes #567

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Sofia Papagiannaki [Wed, 22 Jun 2011 15:08:54 +0000 (18:08 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years ago- display command usage instead of client usage
Sofia Papagiannaki [Wed, 22 Jun 2011 15:08:40 +0000 (18:08 +0300)]
- display command usage instead of client usage
- include trashed objects in listing using meta filtering

Refs #576

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Christos Stathis [Wed, 22 Jun 2011 14:59:06 +0000 (17:59 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years agoFinally displayed virtual folder hierarchy up to second level
Christos Stathis [Wed, 22 Jun 2011 14:59:02 +0000 (17:59 +0300)]
Finally displayed virtual folder hierarchy up to second level

12 years agoFix version list and copy from version when the object is deleted.
Antony Chazapis [Wed, 22 Jun 2011 13:38:55 +0000 (16:38 +0300)]
Fix version list and copy from version when the object is deleted.
Remove 'public' from permissions.

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Sofia Papagiannaki [Tue, 21 Jun 2011 14:40:11 +0000 (17:40 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years agoadd command group and create option option sharing
Sofia Papagiannaki [Tue, 21 Jun 2011 14:39:52 +0000 (17:39 +0300)]
add command group and create option option sharing

for development assistance
for the time being they just pass the relative headers

Refs #567

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Antony Chazapis [Tue, 21 Jun 2011 14:00:55 +0000 (17:00 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years agoInitial permissions support.
Antony Chazapis [Tue, 21 Jun 2011 14:00:45 +0000 (17:00 +0300)]
Initial permissions support.

* Use 'X-Object-Sharing' header to get/set permissions.
* Replaces 'X-Object-Public' header (now obsolete).
* No permission enforcement yet.

Refs #449
Refs #595

12 years agoFix tests (object HEAD returns 200).
Antony Chazapis [Tue, 21 Jun 2011 13:55:35 +0000 (16:55 +0300)]
Fix tests (object HEAD returns 200).

12 years agobug fixing update/delete metadata
Sofia Papagiannaki [Tue, 21 Jun 2011 13:54:52 +0000 (16:54 +0300)]
bug fixing update/delete metadata

(sends back to the server only the user defined meta)
also bug fixing in client account unset (check for no path provided)
Fixes #576

12 years agoadd license & introduce include_trashed parameter
Sofia Papagiannaki [Tue, 21 Jun 2011 11:49:37 +0000 (14:49 +0300)]
add license & introduce include_trashed parameter
(default False) in list_objects

Refs #567

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Sofia Papagiannaki [Tue, 21 Jun 2011 08:42:17 +0000 (11:42 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years ago+better metadata handling
Sofia Papagiannaki [Tue, 21 Jun 2011 08:42:02 +0000 (11:42 +0300)]
+better metadata handling

instead of setting each time new metadata
(by replacing older)
lib provides 2 new methods:
update: for adding and updating older values
delete: for deleting older data
+methods for trashing and
restoring an object
+new client commands for:
- trashing (remove, rm), restoring (restore) objects
- deleting metadata (unset)
- creating directory markers (mkdir)
+ remove version option from move command
+minor changes for simplifying code
Fixes #567

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Antony Chazapis [Mon, 20 Jun 2011 10:41:43 +0000 (13:41 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years agoAdd recommended practices/examples in docs.
Antony Chazapis [Mon, 20 Jun 2011 10:41:22 +0000 (13:41 +0300)]
Add recommended practices/examples in docs.

12 years agoreads exactly as many bytes from the response as the response content-length
Sofia Papagiannaki [Mon, 20 Jun 2011 09:00:35 +0000 (12:00 +0300)]
reads exactly as many bytes from the response as the response content-length

refs to the problem with the trailing \n
Fixes #567

12 years agoBug fixes.
Antony Chazapis [Sun, 19 Jun 2011 12:52:20 +0000 (15:52 +0300)]
Bug fixes.

* Empty object update.
* Parameter version equal to 'list' in requests.
* Object HEAD response code (should be 200).
* Remove source version parameter when moving with PUT/MOVE.
* Mark 'X-Object-Public' as TBD in the docs.

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Christos Stathis [Fri, 17 Jun 2011 16:39:50 +0000 (19:39 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years agoFirst version of client that displays first level containers
Christos Stathis [Fri, 17 Jun 2011 16:39:25 +0000 (19:39 +0300)]
First version of client that displays first level containers

12 years agobug fixing in object version copy/move
Sofia Papagiannaki [Fri, 17 Jun 2011 14:18:02 +0000 (17:18 +0300)]
bug fixing in object version copy/move
and object update

Fixes #567

12 years agosupport for object version move
Sofia Papagiannaki [Fri, 17 Jun 2011 11:12:15 +0000 (14:12 +0300)]
support for object version move
separate options for versionlist and get version
Refs #567

12 years agoclient support from COPY/MOVE from specific version
Sofia Papagiannaki [Fri, 17 Jun 2011 10:26:28 +0000 (13:26 +0300)]
client support from COPY/MOVE from specific version
Refs #567

12 years agoadd version support
Sofia Papagiannaki [Fri, 17 Jun 2011 09:50:26 +0000 (12:50 +0300)]
add version support
Refs #567

12 years agoslight modifications to support list object versions
Sofia Papagiannaki [Fri, 17 Jun 2011 09:48:16 +0000 (12:48 +0300)]
slight modifications to support list object versions
Refs #593

12 years agoAdd an X-Object-Size response header
Giorgos Verigakis [Thu, 16 Jun 2011 22:01:52 +0000 (01:01 +0300)]
Add an X-Object-Size response header

204 responses set Content-Length to 0 and a different header is
needed in order to get the object size.

12 years agocreate zero-length objects
Sofia Papagiannaki [Thu, 16 Jun 2011 17:25:03 +0000 (20:25 +0300)]
create zero-length objects
better exception handling
Refs #567

12 years agoFix manifest and copy/move prefix parsing.
Antony Chazapis [Tue, 14 Jun 2011 20:00:42 +0000 (23:00 +0300)]
Fix manifest and copy/move prefix parsing.

12 years agosupport for account/container HEAD/GET until parameter
Sofia Papagiannaki [Tue, 14 Jun 2011 16:52:04 +0000 (19:52 +0300)]
support for account/container HEAD/GET until parameter
create zero-length objects
remove last trailing enter from response
Fixes #567

12 years agoAdd template for version list.
Antony Chazapis [Tue, 14 Jun 2011 16:28:15 +0000 (19:28 +0300)]
Add template for version list.

Refs #593

12 years agoLarge object support.
Antony Chazapis [Tue, 14 Jun 2011 16:26:25 +0000 (19:26 +0300)]
Large object support.

12 years agoAdd a simple FUSE backend client
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.

12 years agoRemove strip() from tests.
Antony Chazapis [Tue, 14 Jun 2011 11:16:55 +0000 (14:16 +0300)]
Remove strip() from tests.

12 years ago_list() strip data returned from server
Sofia Papagiannaki [Fri, 10 Jun 2011 15:12:43 +0000 (18:12 +0300)]
_list() strip data returned from server
before further processing
Fixes #567

12 years ago_list(...) returns always list
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

12 years agoremove leftover comments
Sofia Papagiannaki [Fri, 10 Jun 2011 14:05:11 +0000 (17:05 +0300)]
remove leftover comments

12 years agosupport from chunked transfers, object update and move
Sofia Papagiannaki [Fri, 10 Jun 2011 13:46:58 +0000 (16:46 +0300)]
support from chunked transfers, object update and move
Fixes #567

12 years agoclient support from chunked transfers, object update and move
Sofia Papagiannaki [Fri, 10 Jun 2011 13:46:23 +0000 (16:46 +0300)]
client support from chunked transfers, object update and move
Fixes #567

12 years agofixes chunked transfer data
Sofia Papagiannaki [Fri, 10 Jun 2011 13:44:38 +0000 (16:44 +0300)]
fixes chunked transfer data

12 years agoDocument versioning and public objects.
Antony Chazapis [Fri, 10 Jun 2011 10:47:00 +0000 (13:47 +0300)]
Document versioning and public objects.

Fixes #593
Fixes #595

12 years agoVersioning extras, including account/container "time machine".
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

12 years agoLimit metadata in object headers accessed via /public. Simplify implementation.
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

12 years agoPass account from request URL to backend functions and not request.user.
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.

12 years agoSupport public files.
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

12 years agoFix the #31a1c80d fix.
Antony Chazapis [Thu, 9 Jun 2011 12:55:24 +0000 (15:55 +0300)]
Fix the #31a1c80d fix.

12 years agoFix modification time in accounts/containers.
Antony Chazapis [Thu, 9 Jun 2011 12:44:48 +0000 (15:44 +0300)]
Fix modification time in accounts/containers.

12 years agoAdvanced versioning support. New backend.
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

12 years agofix for double matching metadata filtering
Sofia Papagiannaki [Tue, 7 Jun 2011 09:00:31 +0000 (12:00 +0300)]
fix for double matching metadata filtering

12 years ago#Fixes 451
Sofia Papagiannaki [Tue, 7 Jun 2011 08:58:11 +0000 (11:58 +0300)]
#Fixes 451

12 years agoFix precondition check replies.
Antony Chazapis [Fri, 3 Jun 2011 16:55:17 +0000 (19:55 +0300)]
Fix precondition check replies.

12 years agoFixes #567
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

12 years agoFixes #565
Sofia Papagiannaki [Wed, 1 Jun 2011 14:06:52 +0000 (17:06 +0300)]
Fixes #565

12 years agoFixes chunked object post with specific upto range limit
Sofia Papagiannaki [Wed, 1 Jun 2011 14:06:12 +0000 (17:06 +0300)]
Fixes chunked object post with specific upto range limit

12 years agoFixes #565
Sofia Papagiannaki [Wed, 1 Jun 2011 12:25:45 +0000 (15:25 +0300)]
Fixes #565

12 years agoimport missing hashlib
Sofia Papagiannaki [Wed, 1 Jun 2011 12:25:11 +0000 (15:25 +0300)]
import missing hashlib

12 years agoFix Content-Range parsing.
Antony Chazapis [Wed, 1 Jun 2011 11:26:23 +0000 (14:26 +0300)]
Fix Content-Range parsing.

12 years agoAdd 411 error to POST in doc.
Antony Chazapis [Wed, 1 Jun 2011 10:48:44 +0000 (13:48 +0300)]
Add 411 error to POST in doc.

12 years agoProduce new ETag when updating an object (corrected).
Antony Chazapis [Tue, 31 May 2011 14:04:25 +0000 (17:04 +0300)]
Produce new ETag when updating an object (corrected).

12 years agoProduce new ETag when updating an object.
Antony Chazapis [Tue, 31 May 2011 13:45:44 +0000 (16:45 +0300)]
Produce new ETag when updating an object.

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Antony Chazapis [Tue, 31 May 2011 11:01:39 +0000 (14:01 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years agoInclude storage type in container meta/hashmap replies. Minor doc updates.
Antony Chazapis [Tue, 31 May 2011 11:01:17 +0000 (14:01 +0300)]
Include storage type in container meta/hashmap replies. Minor doc updates.

12 years agoFixes #565
Sofia Papagiannaki [Tue, 31 May 2011 07:56:53 +0000 (10:56 +0300)]
Fixes #565

12 years agoDocument partial object updates and hashmaps.
Antony Chazapis [Sun, 29 May 2011 12:39:34 +0000 (15:39 +0300)]
Document partial object updates and hashmaps.

Refs #563

12 years agoHandle partial object updates through POST.
Antony Chazapis [Sun, 29 May 2011 10:24:04 +0000 (13:24 +0300)]
Handle partial object updates through POST.

12 years agoChange database placement/naming defaults.
Antony Chazapis [Fri, 27 May 2011 16:50:31 +0000 (19:50 +0300)]
Change database placement/naming defaults.

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Antony Chazapis [Fri, 27 May 2011 16:39:56 +0000 (19:39 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years agoFix object GET.
Antony Chazapis [Fri, 27 May 2011 16:39:25 +0000 (19:39 +0300)]
Fix object GET.

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Sofia Papagiannaki [Fri, 27 May 2011 16:39:13 +0000 (19:39 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years agominor improvements
Sofia Papagiannaki [Fri, 27 May 2011 16:39:00 +0000 (19:39 +0300)]
minor improvements

12 years agoAdd a Content-Type header when sending data
Giorgos Verigakis [Fri, 27 May 2011 16:28:19 +0000 (19:28 +0300)]
Add a Content-Type header when sending data

12 years agoadd license
Sofia Papagiannaki [Fri, 27 May 2011 16:01:18 +0000 (19:01 +0300)]
add license

12 years agoadditional api tests
Sofia Papagiannaki [Fri, 27 May 2011 15:53:24 +0000 (18:53 +0300)]
additional api tests

12 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Giorgos Verigakis [Fri, 27 May 2011 15:27:35 +0000 (18:27 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

12 years agoDeployment improvements
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

12 years agoMove doc to docs. Fix doc compilation warnings.
Antony Chazapis [Fri, 27 May 2011 15:11:30 +0000 (18:11 +0300)]
Move doc to docs. Fix doc compilation warnings.

12 years agoAdd license.
Antony Chazapis [Fri, 27 May 2011 14:20:25 +0000 (17:20 +0300)]
Add license.

Fixes #577

12 years agoProvide metadata functions for tags and trash support. Restructure backend to work...
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

12 years agoInclude documentation folder, README.
Antony Chazapis [Thu, 26 May 2011 09:45:15 +0000 (12:45 +0300)]
Include documentation folder, README.

12 years agoFix account/container size reporting, zero-length object uploading.
Antony Chazapis [Wed, 18 May 2011 09:34:14 +0000 (12:34 +0300)]
Fix account/container size reporting, zero-length object uploading.

12 years agoMerge https://code.grnet.gr/git/pithos into pithospub
Giorgos Verigakis [Tue, 17 May 2011 16:47:15 +0000 (19:47 +0300)]
Merge https://code.grnet.gr/git/pithos into pithospub

12 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

12 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

12 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 agoRemoved or commented out various things not related to v.2
Christos Stathis [Fri, 6 May 2011 14:26:06 +0000 (17:26 +0300)]
Removed or commented out various things not related to v.2

13 years agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Christos Stathis [Fri, 6 May 2011 13:37:45 +0000 (16:37 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

13 years agoRemoved un-needed files
Christos Stathis [Fri, 6 May 2011 13:29:22 +0000 (16:29 +0300)]
Removed un-needed files

13 years agoHardcoded pithos site url
Christos Stathis [Fri, 6 May 2011 13:29:02 +0000 (16:29 +0300)]
Hardcoded pithos site url

13 years agoFixed css class names
Christos Stathis [Fri, 6 May 2011 13:28:28 +0000 (16:28 +0300)]
Fixed css class names

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 agoMerge branch 'master' of https://code.grnet.gr/git/pithos
Christos Stathis [Thu, 5 May 2011 14:05:54 +0000 (17:05 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/pithos

13 years agoUpdated copyright notice
Christos Stathis [Thu, 5 May 2011 14:05:40 +0000 (17:05 +0300)]
Updated copyright notice

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.