Skip to content
JaeSang Yoo edited this page Oct 30, 2026 · 2 revisions

ceph-testcontainers-go wiki

ceph-testcontainers-go starts disposable Ceph clusters with Testcontainers for Go so that a service that uses Ceph (RADOS, RBD, CephFS or RGW/S3) can repeat its integration tests against a real cluster.

It is a test fixture, not a Ceph implementation. It builds the collaborator state a test needs (pools, images, filesystems, gateways, identities, mirror links) independently of the SUT, reproduces operational conditions such as a lost daemon, a fenced client or a cut replication link, and lets the test check afterwards that the cluster holds what the SUT was supposed to leave. Large scale experiments, performance measurement and tuning are out of scope.

How to read this wiki

These pages are usage scenarios. They show how the pieces fit together for a kind of test; the exact contract of each function is in its godoc.

Each scenario follows the same shape: the goal of the test, the fixture it builds independently of the system under test (SUT), the hand-off of connection details to the SUT, an optional condition step that reproduces an operational situation, the verification of the collaborator's state after the SUT ran, and cleanup.

Start with Ceph Cluster Basics, then open the page of the Ceph interface your service uses.

Page Scenarios
Ceph Cluster Basics Fixtures, identities, topology, pools, networking
RBD Namespaces and identities, client features, lock handover, backup and restore
RBD Mirror Snapshot and journal mirroring, failover, split-brain, receivers, namespaces
CephFS Client mounts, quotas, subvolume principals, snapshots, MDS failover, eviction
CephFS Mirror Directory mirroring between two clusters
RGW S3 S3 clients, users and accounts, lifecycle, notifications, STS, Swift, SSE, quotas, TLS, placement
RGW Multisite Replication, metadata master failover, interrupted links, selective sync
Fault and Condition Reproduction Down OSDs, held recovery, full cluster, scrub errors, fencing, frozen clients
Verification and Diagnostics Post-test verification, failure archives, health and metrics

References

Clone this wiki locally