Prepare, configure, and manage Firecracker microVMs in seconds!
virtualization linux microvm firecracker

refactor: increase max retries for guest network configuration and improve error logging

+17 -2
+12
crates/firecracker-prepare/src/lib.rs
··· 309 309 ], 310 310 true, 311 311 )?; 312 + 313 + run_command_with_stdout_inherit( 314 + "chroot", 315 + &[ 316 + &minirootfs, 317 + "sh", 318 + "-c", 319 + "type curl || (apk update && apk add curl)", 320 + ], 321 + true, 322 + )?; 323 + 312 324 if !run_command("chroot", &[&minirootfs, "which", "sshd"], true) 313 325 .map(|output| output.status.success()) 314 326 .unwrap_or(false)
+5 -2
crates/firecracker-vm/src/guest.rs
··· 3 3 4 4 pub fn configure_guest_network(key_path: &str, guest_ip: &str) -> Result<()> { 5 5 println!("[+] Configuring network in guest..."); 6 - const MAX_RETRIES: u32 = 20; 6 + const MAX_RETRIES: u32 = 500; 7 7 let mut retries = 0; 8 8 loop { 9 9 if run_command( ··· 22 22 || retries >= MAX_RETRIES 23 23 { 24 24 if retries >= MAX_RETRIES { 25 - println!("[-] Max retries reached. Failed to configure network in guest."); 25 + println!( 26 + "[-] Max retries reached. Failed to configure network in guest. {}", 27 + guest_ip 28 + ); 26 29 } else { 27 30 println!("[+] Network configured in guest."); 28 31 }