From f5ca193fb425439e76ce4512cdc6d11045852f48 Mon Sep 17 00:00:00 2001 From: despiegk Date: Thu, 28 Aug 2025 14:25:07 +0200 Subject: [PATCH] ... --- lib/osal/core/net.v | 6 +++++- lib/virt/hetznermanager/rescue.v | 11 ++++++++++- lib/virt/hetznermanager/reset.v | 4 ++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/osal/core/net.v b/lib/osal/core/net.v index 10014824..73bc39d1 100644 --- a/lib/osal/core/net.v +++ b/lib/osal/core/net.v @@ -97,6 +97,8 @@ pub fn reboot_wait(args RebootWaitArgs) ! { if ping(address:args.address)! == .timeout { break } + println(ping(address:args.address)!) + $dbg; time.sleep(1) } for true { @@ -105,7 +107,9 @@ pub fn reboot_wait(args RebootWaitArgs) ! { if run_time > start_time + args.timeout_up { return error("timeout in waiting for server up") } - if ping(address:args.address)! != .ok { + if ping(address:args.address)! == .ok { + println(ping(address:args.address)!) + $dbg; break } time.sleep(1) diff --git a/lib/virt/hetznermanager/rescue.v b/lib/virt/hetznermanager/rescue.v index a3b71d66..e3585111 100644 --- a/lib/virt/hetznermanager/rescue.v +++ b/lib/virt/hetznermanager/rescue.v @@ -30,10 +30,19 @@ pub mut: hero_install bool sshkey_name string @[required] reset bool // ask to do reset/rescue even if its already in that state + retry int = 3 } -// put server in rescue mode, if sshkey_name not specified then will use the first one in the list pub fn (mut h HetznerManager) server_rescue(args_ ServerRescueArgs) !ServerInfoDetailed { + if args_.retry > 1{ + for _ in 0 .. args_.retry-1 { + return h.server_rescue_internal(args_) or {continue} + } + } + return h.server_rescue_internal(args_)! +} + +fn (mut h HetznerManager) server_rescue_internal(args_ ServerRescueArgs) !ServerInfoDetailed { mut args := args_ mut serverinfo := h.server_info_get(id: args.id, name: args.name)! diff --git a/lib/virt/hetznermanager/reset.v b/lib/virt/hetznermanager/reset.v index e8442198..4eedcae3 100644 --- a/lib/virt/hetznermanager/reset.v +++ b/lib/virt/hetznermanager/reset.v @@ -71,8 +71,8 @@ pub fn (mut h HetznerManager) server_reset(args ServerRebootArgs) !ResetInfo { break } x += 1 - if x > 60 * 5 { - // 5 min + if x > 60 * 2 { + // 2 min return error('Could not reboot server ${serverinfo.server_name} in 5 min') } }