From ba3a19cfcd856efa9615549029d5cebc68d84db6 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 6 Feb 2023 23:58:12 +0100 Subject: [PATCH] Add a damn retry system when failing to stop LXC or restore snapshot ... --- lib/lxc.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/lxc.sh b/lib/lxc.sh index 76685e7..4188385 100644 --- a/lib/lxc.sh +++ b/lib/lxc.sh @@ -82,9 +82,19 @@ LOAD_LXC_SNAPSHOT () { # Remove swap files before restoring the snapshot. CLEAN_SWAPFILES - LXC_STOP $LXC_NAME + local retry=0 + while [[ $retry -lt 5 ]] + then + LXC_STOP $LXC_NAME || true + lxc restore $LXC_NAME $snapname && break || retry+=1 + log_warning "Failed to stop LXC and restore snapshot? Retrying in 10 sec ..." + sleep 20 + fi - lxc restore $LXC_NAME $snapname || log_error "Failed to restore snapshot ? The next step may miserably crash because of this ... if this happens to often, maybe restarting the LXD daemon can help ..." + if [[ $retry -ge 3 ]] + then + log_error "Failed to restore snapshot ? The next step may miserably crash because of this ... if this happens to often, maybe restarting the LXD daemon can help ..." + fi lxc start $LXC_NAME _LXC_START_AND_WAIT $LXC_NAME