From 0b5b6422e1bc3a9a9abb7a57c6e5cbd435a0e249 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 24 Oct 2022 01:49:29 +0200 Subject: [PATCH] Implement ynh_lxc_start --- lib/ynh_lxd | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/lib/ynh_lxd b/lib/ynh_lxd index 644508d..9d5a883 100644 --- a/lib/ynh_lxd +++ b/lib/ynh_lxd @@ -90,6 +90,30 @@ ynh_lxc_is_stopped () { fi } +# Start an LXC container +# +# usage: ynh_lxc_start --name=name +# | arg: -n, --name= - name of the LXC +# +# Requires YunoHost version *.*.* or higher. +ynh_lxc_start () { + # Declare an array to define the options of this helper. + local legacy_args=n + local -A args_array=([n]=name=) + local name + # Manage arguments with getopts + ynh_handle_getopts_args "$@" + + # If the container exists + if ynh_lxc_exists --name=$name + then + if ! ynh_lxc_is_started --name=$name + then + lxc start $name + fi + fi +} + # Stopping an LXC container # # usage: ynh_lxc_stop --name=name @@ -148,7 +172,7 @@ _ynh_lxc_restart_container () { ynh_handle_getopts_args "$@" ynh_lxc_stop --name=$name - lxc start "$name" + ynh_lxc_start --name=$name } # Keep sure the LXC is started @@ -276,7 +300,7 @@ ynh_lxc_swapfiles_clean () { # Restart it if needed if [ "$(lxc info $name | grep Status | awk '{print tolower($2)}')" != "running" ]; then - lxc start $name + ynh_lxc_start --name=$name _ynh_lxc_start_and_wait --name=$name fi lxc exec $name -- bash -c 'for swapfile in $(ls /swap_* 2>/dev/null); do swapoff $swapfile; done' @@ -362,7 +386,7 @@ ynh_lxc_snapshot_load () { ynh_lxc_stop --name=$name lxc restore $name $snapname - lxc start $name + ynh_lxc_start --name=$name _ynh_lxc_start_and_wait --name=$name }