- Only SWIFT to SWIFT replication is supported.
- Chorus was tested with SWIFT vendors: Clyso Enterprise Storage (CES), Ceph RGW, and OpenStack Swift.
This table shows which Swift API operations Chorus replicates between storages.
The Chorus column indicates whether changes made via that API are captured
and replicated to follower storages.
- 🟢 fully supported - operation is replicated
- 🟡 partially supported - operation is replicated with limitations
- 🔴 not supported - operation is not replicated
Account​
Container​
Container ACLs​
| OpenStack API | Chorus | CES | OpenStack Swift |
|---|
| Container Read ACL (X-Container-Read) | 🟢 | 🟡** | 🟢 |
| Container Write ACL (X-Container-Write) | 🟢 | 🟡** | 🟢 |
Container Versioning​
| OpenStack API | Chorus | CES | OpenStack Swift |
|---|
| X-Versions-Location | 🟢 | 🟢 | 🟢 |
| X-Versions-Enabled | 🟢 | 🟡 | 🟢 |
| X-History-Location | 🔴 | 🔴 | 🟢 |
Container Features​
| OpenStack API | Chorus | CES | OpenStack Swift |
|---|
| Temp URL keys (X-Container-Meta-Temp-URL-Key) | 🔴 | 🟡 | 🟢 |
| Container Sync (X-Container-Sync-To) | 🔴 | 🟢 | 🟢 |
| Storage Policy | 🔴 | 🟡 | 🟢 |
| Static Website | 🔴 | 🟢 | 🟢 |
Large Objects​
Object Features​
| OpenStack API | Chorus | CES | OpenStack Swift |
|---|
| Expiring objects (X-Delete-At, X-Delete-After) | 🟢 | 🟢 | 🟢 |
| Object versioning | 🔴 | 🟡 | 🟢 |
| Symlinks | 🔴 | 🔴 | 🟢 |
| Temporary URL (account-level keys) | 🔴 | 🟢 | 🟢 |
Discoverability​
Bulk Operations​
* Container metadata limitations: Chorus does not replicate:
** Swift ACLs: CES/Ceph RGW supports a subset of Swift ACLs. Chorus
replicates ACL headers but behavior may differ between providers.
- Temp URL keys (not supported by CES/Ceph RGW at container level)
- X-History-Location (not supported by CES/Ceph RGW)
- Container Sync headers (X-Container-Sync-To, X-Container-Sync-Key)
- Storage Policy (storage-specific, cannot be mapped between providers)
Account deletion​
Chorus does not replicate account deletions because this operation is typically
restricted to administrators and requires special permissions.
Object versioning​
Swift versioning (X-Versions-Enabled) relies on middleware that differs between
OpenStack Swift and CES/Ceph RGW implementations. Chorus replicates versioning
container settings but version behavior may differ between providers.
Cross-object dependencies​
Swift supports objects with cross-dependencies (SLO manifests referencing
segments, DLO manifests, symlinks). Chorus handles these by retrying operations
until all dependencies are resolved.