Keep the distributed lane on 4x4 single-pool layouts. Classify
decommission/rebalance product refusals in tests only, and do not
change ecstore pool-meta bootstrap.
Co-authored-by: RustFS <hello@rustfs.com>
Two-pool restart and decommission attempts stay on current server
behavior. Appending pools and restarting is asserted to fail closed
on pool-meta recovery. Cluster wait loops fail fast if a node process
exits.
Co-authored-by: RustFS <hello@rustfs.com>
Seed a 4-node cluster on the pinned previous release, then prove
direct and rolling upgrades keep historical objects and IAM AK/SK
working. The distributed Actions lane now downloads that binary.
Co-authored-by: RustFS <hello@rustfs.com>
Treat decommission/rebalance 5xx as the localhost pool.bin write fence,
start four-pool clusters via expand so S3 PUTs succeed, and drop the
4-node volume-proxy case that cannot format through FaultProxy.
Co-authored-by: RustFS <hello@rustfs.com>
Classify localhost DistErasure pool-meta write fences instead of failing
the suite when decommission/rebalance POST is blocked, use the proven 2x2
volume-proxy topology, and add peer-kill GET plus bucket recreate cases.
Co-authored-by: RustFS <hello@rustfs.com>
Object Lock plus versioning allows unversioned DELETE as a delete marker;
WORM must be asserted against the retained version id. Also pin localhost
proxy bypass for cluster processes and a longer nextest slow-timeout for
decommission polls.
Co-authored-by: RustFS <hello@rustfs.com>
Add a nightly e2e-distributed lane that boots localhost 4-node clusters
and covers S3, object lock, versioning, replication, quota, expand,
decommission, rebalance, site replication, concurrency, and chaos.
Co-authored-by: RustFS <hello@rustfs.com>