mirror of
https://github.com/rustfs/rustfs.git
synced 2026-05-06 14:12:29 +08:00
1.5 KiB
1.5 KiB
Local Docker Decommission Test
This setup simulates a two-pool RustFS cluster locally with Docker so decommission can be tested without relying on a remote environment.
Topology
- One RustFS container
- Two pools
- Four disks per pool
- S3 API on
http://127.0.0.1:9100 - Console on
http://127.0.0.1:9101
Pool cmdlines used by admin decommission:
/data/pool0/disk{1...4}/data/pool1/disk{1...4}
Quick Start
- Start the local cluster:
./scripts/test/decommission_docker.sh up - Run the end-to-end smoke flow:
./scripts/test/decommission_docker.sh smoke
Manual Flow
- Start the cluster:
./scripts/test/decommission_docker.sh up - Prepare test data:
./scripts/test/decommission_validation.sh prepare rustfs-decom - Start decommission on pool 1:
./scripts/test/decommission_validation.sh start rustfs-decom '/data/pool1/disk{1...4}' - Wait for completion:
./scripts/test/decommission_validation.sh wait rustfs-decom '/data/pool1/disk{1...4}' 900 - Verify objects and versions:
./scripts/test/decommission_validation.sh verify rustfs-decom
Cleanup
- Stop containers:
./scripts/test/decommission_docker.sh down - Remove containers, volumes, generated data, and saved validation state:
./scripts/test/decommission_docker.sh reset
Notes
- This simulates pools, not separate physical nodes.
- It is good for validating decommission control flow and object migration behavior.
- It is not a substitute for a real distributed failure-injection test.