retry app config update on app deployment
This commit is contained in:
		
							parent
							
								
									0a53aebcdb
								
							
						
					
					
						commit
						a0bc0958fc
					
				
							
								
								
									
										12
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										12
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -1058,6 +1058,7 @@ dependencies = [ | ||||
|  "rand", | ||||
|  "rand_core", | ||||
|  "reqwest", | ||||
|  "retry", | ||||
|  "rustls", | ||||
|  "serde", | ||||
|  "serde_json", | ||||
| @ -2755,6 +2756,15 @@ dependencies = [ | ||||
|  "windows-registry", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "retry" | ||||
| version = "2.0.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "9166d72162de3575f950507683fac47e30f6f2c3836b71b7fbc61aa517c9c5f4" | ||||
| dependencies = [ | ||||
|  "rand", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "rfc6979" | ||||
| version = "0.4.0" | ||||
| @ -3356,7 +3366,7 @@ dependencies = [ | ||||
|  "getrandom 0.3.1", | ||||
|  "once_cell", | ||||
|  "rustix", | ||||
|  "windows-sys 0.52.0", | ||||
|  "windows-sys 0.59.0", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
|  | ||||
| @ -31,6 +31,7 @@ rustls = "0.23.23" | ||||
| tower = "0.5.2" | ||||
| hyper-rustls = { version = "0.27.5", features = ["http2"] } | ||||
| openssl = { version = "0.10.71", features = ["vendored"] } | ||||
| retry = "2.0.0" | ||||
| detee-sgx = { git = "ssh://git@gitea.detee.cloud/testnet/detee-sgx.git", branch = "hratls", features=["hratls", "qvl"] } | ||||
| 
 | ||||
| detee-shared = { git = "ssh://git@gitea.detee.cloud/testnet/proto.git", branch = "main" } | ||||
|  | ||||
| @ -9,6 +9,8 @@ use crate::{cli_print, SimpleOutput}; | ||||
| use clap::ArgMatches; | ||||
| use detee_shared::sgx::types::brain::AppDeployConfig; | ||||
| use detee_shared::sgx::types::brain::Resource; | ||||
| use retry::delay::Fixed; | ||||
| use retry::retry; | ||||
| 
 | ||||
| use super::grpc_brain::list_apps; | ||||
| use super::{get_app_node, AppContract, AppDeployResponse}; | ||||
| @ -104,8 +106,10 @@ fn handle_deploy( | ||||
|     match block_on(new_app(app_deploy_config)) { | ||||
|         Ok(new_app_res) if new_app_res.error == "" => { | ||||
|             println!("Deploying..."); | ||||
|             std::thread::sleep(std::time::Duration::from_secs(8)); | ||||
|             block_on(attest_and_send_config(launch_config, &new_app_res.uuid))?; | ||||
|             std::thread::sleep(std::time::Duration::from_millis(3100)); | ||||
|             retry(Fixed::from_millis(500).take(4), || { | ||||
|                 block_on(attest_and_send_config(launch_config.clone(), &new_app_res.uuid)) | ||||
|             })?; | ||||
|             Ok(new_app_res.into()) | ||||
|         } | ||||
|         Ok(new_app_res) => Err(Box::new(std::io::Error::other(new_app_res.error))), | ||||
|  | ||||
| @ -16,7 +16,7 @@ use crate::{config::Config, utils::hratls_url_and_mr_enclave_from_app_id}; | ||||
| 
 | ||||
| #[derive(thiserror::Error, Debug)] | ||||
| pub enum Error { | ||||
|     #[error("Failed to connect to the brain: {0}")] | ||||
|     #[error("Failed to connect to the dtpm: {0}")] | ||||
|     BrainConnection(#[from] tonic::transport::Error), | ||||
|     #[error("Received error from dtpm: {}", _0.message())] | ||||
|     ResponseStatus(#[from] tonic::Status), | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user