
There's a bunch of moving pieces here: - Add a new RingWriter class. Stick it in a new swift.common.ring.io module. You *can* use it like the old gzip file, but you can also define named sections which can be referenced later on read. Section names may be arbitrary strings, but the "swift/" prefix is reserved for upstream use. Sections must contain a single length-value encoded BLOB. If sections are used, an additional BLOB is written at the end containing a JSON section-index, followed by an uncompressed offset for the index. Move RingReader to ring/io.py, too. - Clean up some ring metadata handling: - Drop MD5 tracking in RingReader. It was brittle at best anyway, and nothing uses it. YAGNI - Fix size/raw_size attributes when loading only metadata. - Add the ability to seek within RingReaders, though you need to know what you're doing and only seek to flush points. - Let RingBuilder objects change how wide their replica2part2dev_id arrays are. Add a dev_id_bytes key to serialized ring metadata. dev_id_bytes may be either 2 or 4, but 4 requires v2 rings. We considered allowing dev_id_bytes of 1, but dropped it as unnecessary complexity for a niche use case. - swift-ring-builder version subcommand added, which takes a ring. This lets operators see the serialization format of a ring on disk: $ swift-ring-builder object.ring.gz version object.ring.gz: Serialization version: 2 (2-byte IDs), build version: 54 Signed-off-by: Tim Burke <tim.burke@gmail.com> Change-Id: Ia0ac4ea2006d8965d7fdb6659d355c77386adb70
4.1 KiB
Welcome to Swift's documentation!
Swift is a highly available, distributed, eventually consistent object/blob store. Organizations can use Swift to store lots of data efficiently, safely, and cheaply.
This documentation is generated by the Sphinx toolkit and lives in the source tree. Additional documentation on Swift and other components of OpenStack can be found on the OpenStack wiki and at http://docs.openstack.org.
Note
If you're looking for associated projects that enhance or use Swift,
please see the associated_projects
page.
getting_started
Overview and Concepts
api/object_api_v1_overview overview_architecture overview_wsgi_management overview_ring overview_ring_format overview_policies overview_reaper overview_auth overview_acl overview_replication ratelimit overview_large_objects overview_global_cluster overview_container_sync overview_expiring_objects cors crossdomain overview_erasure_code overview_encryption overview_backing_store overview_container_sharding ring_background ring_partpower associated_projects
Contributor Documentation
contributor/contributing contributor/review_guidelines
Developer Documentation
development_guidelines development_saio first_contribution_swift policies_saio development_auth development_middleware development_ondisk_backends development_watchers
Administrator Documentation
deployment_guide apache_deployment_guide admin_guide replication_network logs ops_runbook/index admin/index install/index config/index
Object Storage v1 REST API Documentation
See Complete Reference for the Object Storage REST API
The following provides supporting information for the REST API:
api/object_api_v1_overview.rst api/discoverability.rst api/authentication.rst api/container_quotas.rst api/object_versioning.rst api/large_objects.rst api/temporary_url_middleware.rst api/form_post_middleware.rst api/use_content-encoding_metadata.rst api/use_the_content-disposition_metadata.rst api/pseudo-hierarchical-folders-directories.rst api/pagination.rst api/serialized-response-formats.rst api/static-website.rst api/object-expiration.rst api/bulk-delete.rst
S3 Compatibility Info
s3_compat
OpenStack End User Guide
The OpenStack End User Guide has additional information on using Swift. See the Manage objects and containers section.
Source Documentation
ring proxy account container db object misc middleware audit_watchers
Indices and tables
genindex
modindex
search