diff --git a/testsuite/testcases/src/data/five_region_link_stats.csv b/testsuite/testcases/src/data/five_region_link_stats.csv new file mode 100644 index 00000000000000..0a4167223beb02 --- /dev/null +++ b/testsuite/testcases/src/data/five_region_link_stats.csv @@ -0,0 +1,31 @@ +sending_region,receiving_region,bitrate_bps,avgrtt +gcp--us-central1,aws--eu-west-1,300000000,103.435 +gcp--us-central1,aws--ap-northeast-1,300000000,133.996 +gcp--us-central1,aws--sa-east-1,300000000,145.483 +gcp--us-central1,gcp--as-southeast-1,300000000,195.763 +gcp--us-central1,gcp--eu-north1,300000000, +aws--sa-east-1,gcp--us-central1,300000000,145.703 +aws--sa-east-1,aws--eu-west-1,300000000,176.894 +aws--sa-east-1,aws--ap-northeast-1,300000000,255.289 +aws--sa-east-1,gcp--as-southeast-1,300000000,329.213 +aws--sa-east-1,gcp--eu-north1,300000000, +aws--eu-west-1,gcp--us-central1,300000000,104.169 +aws--eu-west-1,aws--sa-east-1,300000000,176.813 +aws--eu-west-1,aws--ap-northeast-1,300000000,198.555 +aws--eu-west-1,gcp--as-southeast-1,300000000,211.419 +aws--eu-west-1,gcp--eu-north1,300000000, +aws--ap-northeast-1,gcp--us-central1,300000000,128.999 +aws--ap-northeast-1,aws--eu-west-1,300000000,198.539 +aws--ap-northeast-1,aws--sa-east-1,300000000,255.323 +aws--ap-northeast-1,gcp--as-southeast-1,300000000,72.837 +aws--ap-northeast-1,gcp--eu-north1,300000000, +gcp--as-southeast-1,gcp--us-central1,300000000,195.763 +gcp--as-southeast-1,aws--sa-east-1,300000000,329.213 +gcp--as-southeast-1,aws--eu-west-1,300000000,211.419 +gcp--as-southeast-1,aws--ap-northeast-1,300000000,72.837 +gcp--as-southeast-1,gcp--eu-north1,300000000, +gcp--eu-north1,gcp--us-central1,300000000,126.423 +gcp--eu-north1,aws--sa-east-1,300000000,216.578 +gcp--eu-north1,aws--eu-west-1,300000000,48.249 +gcp--eu-north1,aws--ap-northeast-1,300000000,250.730 +gcp--eu-north1,gcp--as-southeast-1,300000000,222.910 \ No newline at end of file diff --git a/testsuite/testcases/src/data/four_region_link_stats.csv b/testsuite/testcases/src/data/four_region_link_stats.csv index 64175bc2a8ecad..29603889c90e6b 100644 --- a/testsuite/testcases/src/data/four_region_link_stats.csv +++ b/testsuite/testcases/src/data/four_region_link_stats.csv @@ -2,12 +2,20 @@ sending_region,receiving_region,bitrate_bps,avgrtt gcp--us-central1,aws--eu-west-1,300000000,103.435 gcp--us-central1,aws--ap-northeast-1,300000000,133.996 gcp--us-central1,aws--sa-east-1,300000000,145.483 +gcp--us-central1,gcp--as-southeast-1,300000000,195.763 aws--sa-east-1,gcp--us-central1,300000000,145.703 aws--sa-east-1,aws--eu-west-1,300000000,176.894 aws--sa-east-1,aws--ap-northeast-1,300000000,255.289 +aws--sa-east-1,gcp--as-southeast-1,300000000,329.213 aws--eu-west-1,gcp--us-central1,300000000,104.169 aws--eu-west-1,aws--sa-east-1,300000000,176.813 aws--eu-west-1,aws--ap-northeast-1,300000000,198.555 +aws--eu-west-1,gcp--as-southeast-1,300000000,211.419 aws--ap-northeast-1,gcp--us-central1,300000000,128.999 aws--ap-northeast-1,aws--eu-west-1,300000000,198.539 -aws--ap-northeast-1,aws--sa-east-1,300000000,255.323 \ No newline at end of file +aws--ap-northeast-1,aws--sa-east-1,300000000,255.323 +aws--ap-northeast-1,gcp--as-southeast-1,300000000,72.837 +gcp--as-southeast-1,gcp--us-central1,300000000,195.763 +gcp--as-southeast-1,aws--sa-east-1,300000000,329.213 +gcp--as-southeast-1,aws--eu-west-1,300000000,211.419 +gcp--as-southeast-1,aws--ap-northeast-1,300000000,72.837 \ No newline at end of file diff --git a/testsuite/testcases/src/multi_region_network_test.rs b/testsuite/testcases/src/multi_region_network_test.rs index 840d37699152ea..5b4f34c6070474 100644 --- a/testsuite/testcases/src/multi_region_network_test.rs +++ b/testsuite/testcases/src/multi_region_network_test.rs @@ -19,6 +19,7 @@ use std::{collections::BTreeMap, sync::Arc}; /// is measuring TCP bandwidth only which is primarily affected by RTT, and not the actual bandwidth /// across the regions, which would vary according to competing traffic, etc. const FOUR_REGION_LINK_STATS: &[u8] = include_bytes!("data/four_region_link_stats.csv"); +const FIVE_REGION_LINK_STATS: &[u8] = include_bytes!("data/five_region_link_stats.csv"); /// The two regions were chosen as the most distant regions among the four regions set. const TWO_REGION_LINK_STATS: &[u8] = include_bytes!("data/two_region_link_stats.csv"); @@ -78,10 +79,10 @@ fn create_link_stats_table_with_peer_groups( number_of_regions >= 2, "At least 2 regions are required for inter-region network chaos." ); - assert!( - number_of_regions <= 4, - "ChaosMesh only supports simulating up to 4 regions." - ); + // assert!( + // number_of_regions <= 4, + // "ChaosMesh only supports simulating up to 4 regions." + // ); // Create the link stats table with peer groups let peer_chunks = chunk_peers(peers, number_of_regions); @@ -223,7 +224,7 @@ pub struct MultiRegionNetworkEmulationConfig { impl Default for MultiRegionNetworkEmulationConfig { fn default() -> Self { Self { - link_stats_table: get_link_stats_table(FOUR_REGION_LINK_STATS), + link_stats_table: get_link_stats_table(FIVE_REGION_LINK_STATS), inter_region_config: InterRegionNetEmConfig::default(), intra_region_config: Some(IntraRegionNetEmConfig::default()), }