Feature #447

Implement a "dummy" local backend

Added by Giorgos Verigakis almost 13 years ago. Updated about 11 years ago.

Status:Closed Start date:04/28/2011
Priority:High Due date:
Assignee:Antony Chazapis % Done:

0%

Category:Pithos Spent time: -
Target version:-

Description

Needed to support the API. It can store data in files in the filesystem and use an sqlite for the namespace mapping.

Associated revisions

Revision b3e83caa
Added by Sofia Papagiannaki almost 13 years ago

μετατροπή σε class, include accounts
Refs #447

Revision b3e83caa
Added by papagian almost 13 years ago

μετατροπή σε class, include accounts
Refs #447

Revision 24484999
Added by Sofia Papagiannaki almost 13 years ago

create account when create container if not exists
Refs #447

Revision 24484999
Added by papagian almost 13 years ago

create account when create container if not exists
Refs #447

Revision 59d6bd1e
Added by papagian almost 13 years ago

Fixes #447

Revision 6a820623
Added by papagian almost 13 years ago

Fixes #447

Revision ada7df10
Added by Sofia Papagiannaki almost 13 years ago

list_objects changes
Fixes #447

Revision ada7df10
Added by papagian almost 13 years ago

list_objects changes
Fixes #447

Revision 4943ab27
Added by papagian almost 13 years ago

Refs #447

Revision 793c91d1
Added by papagian almost 13 years ago

Refs #447

Revision 83894828
Added by Sofia Papagiannaki almost 13 years ago

metadata dict accepts non string values
Refs #447

Revision 83894828
Added by papagian almost 13 years ago

metadata dict accepts non string values
Refs #447

Revision d1578725
Added by papagian almost 13 years ago

Fixes #447

Revision 8b4591b4
Added by papagian almost 13 years ago

Fixes #447

Revision 3b3c31c6
Added by papagian almost 13 years ago

Refs #447

Revision b956618e
Added by Antony Chazapis almost 13 years ago

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

Revision b956618e
Added by Antony Chazapis almost 13 years ago

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

History

#1 Updated by Giorgos Verigakis almost 13 years ago

  • Tracker changed from Bug to Feature

#2 Updated by Giorgos Verigakis almost 13 years ago

  • Target version set to 0.1

#3 Updated by Giorgos Verigakis almost 13 years ago

  • Status changed from New to Closed
  • Assignee changed from Sofia Papagiannaki to Antony Chazapis

The backend is called SimpleBackend.

#4 Updated by Vangelis Koukis about 11 years ago

  • Project changed from Pithos to Synnefo
  • Target version deleted (0.1)

#5 Updated by Vangelis Koukis about 11 years ago

  • Category set to Pithos

Also available in: Atom PDF