Elasto is a cloud storage client project that has been developed across a number of SUSE Hack Weeks.<br /> It currently supports Amazon S3 and Microsoft Azure REST storage protocols, and includes a POSIX like file API.<br /> For Hack Week 12 I plan to extend Elasto in the following ways:

  • Add support for the Ceph RADOS Gateway<br />
    • RADOS Gateway is capable of processing S3 requests, but Elasto is currently hard-coded to use Amazon hosts, and makes certain assumptions about request and response formats.<br />
  • Extend the file API, which currently only uses the Azure Blob service backend.<br />
    • Azure File service support should also be implemented.<br />
    • An S3 back-end could also be implemented, with write-at-offset constraints.<br />
    • Directory handle operations still need to be finished.<br />
  • The project tracker should be moved to off of Google Project Hosting, which will be discontinued.
  • Cleanup and push the cURL->libevent http client conversion changes.

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 12


  • over 8 years ago: dmdiss started this project.
  • over 8 years ago: dmdiss originated this project.

  • Comments

    • dmdiss
      over 8 years ago by dmdiss | Reply

      I completed the following Elasto tasks during Hack Week 12:

      • Moved elastocloud.org from Google code to GitHub
      • Added a new readdir API call for account, container and blob enumeration
      • Azure lease handling improvements
        • Added support container level leasing
        • Lease status processing during during blob / container enumeration
      • Fixed a few bugs in the libevent based connection and message dispatch code-path
      • Added support for account and container fstat requests
      • Added a location constraint parameter for creations
      • Implemented an Amazon S3 Elasto libfile back-end
      • Improved cmocka test suite coverage
      • Added support for cloud_proto://hostname/path/to/object URIs
        • This serves as the basis for Ceph RADOS gateway support, e.g. s3://radosgw_host/bucket/object
        • Changes to fully propagate these URIs though the client and request layer still need to be cleaned up and pushed

    Similar Projects

    This project is one of its kind!