mirror of
https://github.com/rustfs/rustfs.git
synced 2026-09-02 10:18:10 +00:00
test(e2e): cover four-node four-drive cluster topology (#6902)
Co-authored-by: heihutu <heihutu@gmail.com>
This commit is contained in:
@@ -76,6 +76,28 @@ async fn cluster_multidrive_single_pool_smoke() -> TestResult {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 4 nodes x 4 drives, single pool: exercise the maximum local erasure layout
|
||||||
|
/// supported by the cluster harness. This remains in the nightly lane because
|
||||||
|
/// it starts four real server processes and sixteen data directories.
|
||||||
|
#[tokio::test]
|
||||||
|
async fn cluster_four_node_four_drive_single_pool_smoke() -> TestResult {
|
||||||
|
crate::common::init_logging();
|
||||||
|
|
||||||
|
let mut cluster = RustFSTestClusterEnvironment::with_topology(ClusterTopology::single_pool_multidrive(4, 4)).await?;
|
||||||
|
|
||||||
|
let volumes = cluster.rustfs_volumes_arg();
|
||||||
|
assert_eq!(volumes.split(' ').count(), 16, "expected 16 explicit endpoints, got: {volumes}");
|
||||||
|
assert!(!volumes.contains('{'), "single-pool layout must not use ellipses: {volumes}");
|
||||||
|
assert!(cluster.nodes.iter().all(|node| node.data_dirs.len() == 4));
|
||||||
|
|
||||||
|
cluster.start().await?;
|
||||||
|
cluster.create_test_bucket(BUCKET).await?;
|
||||||
|
|
||||||
|
let payload = vec![0x3Cu8; 1024 * 1024];
|
||||||
|
put_get_roundtrip(&cluster, "multidrive-4/object", &payload).await?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
/// Two single-node pools, 2 drives each: the multi-pool layout boots and
|
/// Two single-node pools, 2 drives each: the multi-pool layout boots and
|
||||||
/// round-trips. Every pool is a distinct erasure pool (`pool_idx` 0 and 1).
|
/// round-trips. Every pool is a distinct erasure pool (`pool_idx` 0 and 1).
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
| chaos | 2 | |
|
| chaos | 2 | |
|
||||||
| checksum_upload_test | 7 | |
|
| checksum_upload_test | 7 | |
|
||||||
| cluster_concurrency_test | 3 | 🌙 |
|
| cluster_concurrency_test | 3 | 🌙 |
|
||||||
| cluster_multidrive_pool_test | 2 | 🌙 |
|
| cluster_multidrive_pool_test | 3 | 🌙 |
|
||||||
| common | 17 | |
|
| common | 17 | |
|
||||||
| compression_test | 6 | ✅ |
|
| compression_test | 6 | ✅ |
|
||||||
| connection_cap_test | 2 | |
|
| connection_cap_test | 2 | |
|
||||||
@@ -103,4 +103,4 @@
|
|||||||
| tls_hot_reload_test | 1 | ✅ |
|
| tls_hot_reload_test | 1 | ✅ |
|
||||||
| version_id_regression_test | 10 | ✅ |
|
| version_id_regression_test | 10 | ✅ |
|
||||||
|
|
||||||
**Total listed: 619 tests across 86 modules · PR smoke: 165 tests / 36 modules · merge/main full: 495 tests / 77 modules · nightly replication: 56 tests · nightly cluster faults: 29 tests / 7 modules · nightly protocols: 16 tests** · updated 2026-08-26.
|
**Total listed: 620 tests across 86 modules · PR smoke: 165 tests / 36 modules · merge/main full: 495 tests / 77 modules · nightly replication: 56 tests · nightly cluster faults: 30 tests / 7 modules · nightly protocols: 16 tests** · updated 2026-08-31.
|
||||||
|
|||||||
Reference in New Issue
Block a user