diff --git a/testsuite/cluster-test/src/cluster_swarm/cluster_swarm_kube.rs b/testsuite/cluster-test/src/cluster_swarm/cluster_swarm_kube.rs index 9f115b68419e..97254def8da5 100644 --- a/testsuite/cluster-test/src/cluster_swarm/cluster_swarm_kube.rs +++ b/testsuite/cluster-test/src/cluster_swarm/cluster_swarm_kube.rs @@ -26,9 +26,7 @@ use crate::instance::{ }; use k8s_openapi::api::batch::v1::Job; use kube::api::ListParams; -use libra_config::config::{ - NodeConfig, PersistableConfig, SafetyRulesConfig, DEFAULT_JSON_RPC_PORT, -}; +use libra_config::config::DEFAULT_JSON_RPC_PORT; use reqwest::Client as HttpClient; use rusoto_core::Region; use rusoto_s3::{PutObjectRequest, S3Client, S3}; @@ -674,14 +672,14 @@ impl ClusterSwarmKube { node, pod_name, format!("{}parser.conf", dir).as_str(), - parsers_config.into_bytes(), + parsers_config.as_bytes(), ) .await?; self.put_file( node, pod_name, format!("{}fluent-bit.conf", dir).as_str(), - fluentbit_config.into_bytes(), + fluentbit_config.as_bytes(), ) .await?; Ok(()) @@ -690,8 +688,13 @@ impl ClusterSwarmKube { async fn put_genesis_file(&self, pod_name: &str, node: &str) -> Result<()> { let genesis = std::fs::read(GENESIS_PATH) .map_err(|e| format_err!("Failed to read {} : {}", GENESIS_PATH, e))?; - self.put_file(node, pod_name, "/opt/libra/etc/genesis.blob", genesis) - .await?; + self.put_file( + node, + pod_name, + "/opt/libra/etc/genesis.blob", + genesis.as_slice(), + ) + .await?; Ok(()) } @@ -702,64 +705,52 @@ impl ClusterSwarmKube { node: &str, ) -> Result<()> { let node_config = match &instance_config.application_config { - Validator(validator_config) => { - let config = format!( - include_str!("configs/validator.yaml"), - vault_addr = validator_config - .vault_addr - .as_ref() - .unwrap_or(&"".to_string()), - vault_ns = validator_config - .vault_namespace - .as_ref() - .unwrap_or(&"".to_string()), - safety_rules_addr = validator_config - .safety_rules_addr - .as_ref() - .unwrap_or(&"".to_string()), - ); - Some(serde_yaml::to_vec(&NodeConfig::parse(&config).map_err( - |e| format_err!("Failed to parse config template : {}", e), - )?)?) - } - Fullnode(fullnode_config) => { - let config = format!( - include_str!("configs/fullnode.yaml"), - vault_addr = fullnode_config - .vault_addr - .as_ref() - .unwrap_or(&"".to_string()), - vault_ns = fullnode_config - .vault_namespace - .as_ref() - .unwrap_or(&"".to_string()), - seed_peer_ip = fullnode_config.seed_peer_ip, - ); - Some(serde_yaml::to_vec::( - &NodeConfig::parse(&config) - .map_err(|e| format_err!("Failed to parse config template : {}", e))?, - )?) - } - LSR(lsr_config) => { - let config = format!( - include_str!("configs/safetyrules.yaml"), - vault_addr = lsr_config.vault_addr.as_ref().unwrap_or(&"".to_string()), - vault_ns = lsr_config - .vault_namespace - .as_ref() - .unwrap_or(&"".to_string()), - ); - Some(serde_yaml::to_vec::( - &SafetyRulesConfig::parse(&config) - .map_err(|e| format_err!("Failed to parse config template : {}", e))?, - )?) - } + Validator(validator_config) => Some(format!( + include_str!("configs/validator.yaml"), + vault_addr = validator_config + .vault_addr + .as_ref() + .unwrap_or(&"".to_string()), + vault_ns = validator_config + .vault_namespace + .as_ref() + .unwrap_or(&"".to_string()), + safety_rules_addr = validator_config + .safety_rules_addr + .as_ref() + .unwrap_or(&"".to_string()), + )), + Fullnode(fullnode_config) => Some(format!( + include_str!("configs/fullnode.yaml"), + vault_addr = fullnode_config + .vault_addr + .as_ref() + .unwrap_or(&"".to_string()), + vault_ns = fullnode_config + .vault_namespace + .as_ref() + .unwrap_or(&"".to_string()), + seed_peer_ip = fullnode_config.seed_peer_ip, + )), + LSR(lsr_config) => Some(format!( + include_str!("configs/safetyrules.yaml"), + vault_addr = lsr_config.vault_addr.as_ref().unwrap_or(&"".to_string()), + vault_ns = lsr_config + .vault_namespace + .as_ref() + .unwrap_or(&"".to_string()), + )), _ => None, }; if let Some(node_config) = node_config { - self.put_file(node, pod_name, "/opt/libra/etc/node.yaml", node_config) - .await?; + self.put_file( + node, + pod_name, + "/opt/libra/etc/node.yaml", + node_config.as_bytes(), + ) + .await?; } Ok(()) @@ -790,18 +781,12 @@ impl ClusterSwarm for ClusterSwarmKube { )) } - async fn put_file( - &self, - node: &str, - pod_name: &str, - path: &str, - content: Vec, - ) -> Result<()> { + async fn put_file(&self, node: &str, pod_name: &str, path: &str, content: &[u8]) -> Result<()> { let bucket = "toro-cluster-test-flamegraphs"; let run_id = env::var("RUN_ID").expect("RUN_ID is not set."); libra_retrier::retry_async(k8s_retry_strategy(), || { let run_id = &run_id; - let content = content.clone(); + let content = content.to_vec(); Box::pin(async move { self.s3_client .put_object(PutObjectRequest { diff --git a/testsuite/cluster-test/src/cluster_swarm/mod.rs b/testsuite/cluster-test/src/cluster_swarm/mod.rs index 166f315f78be..06201b365d11 100644 --- a/testsuite/cluster-test/src/cluster_swarm/mod.rs +++ b/testsuite/cluster-test/src/cluster_swarm/mod.rs @@ -20,11 +20,5 @@ pub trait ClusterSwarm: Send + Sync { async fn get_grafana_baseurl(&self) -> Result; - async fn put_file( - &self, - node: &str, - pod_name: &str, - path: &str, - content: Vec, - ) -> Result<()>; + async fn put_file(&self, node: &str, pod_name: &str, path: &str, content: &[u8]) -> Result<()>; }