mirror of
https://github.com/YunoHost/package_check.git
synced 2024-09-03 20:06:20 +02:00
Working time infos
This commit is contained in:
parent
3e6f16c430
commit
889123ec6f
2 changed files with 57 additions and 2 deletions
|
@ -10,15 +10,53 @@ arg_ssh="-tt"
|
||||||
snapshot_path="/var/lib/lxcsnaps/$lxc_name"
|
snapshot_path="/var/lib/lxcsnaps/$lxc_name"
|
||||||
current_snapshot=snap0
|
current_snapshot=snap0
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# TIMER
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
is_lxc_running () {
|
start_timer () {
|
||||||
sudo lxc-info --name=$lxc_name | grep --quiet "RUNNING"
|
# Set the beginning of the timer
|
||||||
|
starttime=$(date +%s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stop_timer () {
|
||||||
|
# Ending the timer
|
||||||
|
local finishtime=$(date +%s)
|
||||||
|
# Calculate the gap between the starting and the ending of the timer
|
||||||
|
local elapsedtime=$(echo $(( $finishtime - $starttime )))
|
||||||
|
# Extract the number of hour
|
||||||
|
local hours=$(echo $(( $elapsedtime / 3600 )))
|
||||||
|
local elapsedtime=$(echo $(( $elapsedtime - ( 3600 * $hours) )))
|
||||||
|
# Minutes
|
||||||
|
local minutes=$(echo $(( $elapsedtime / 60 )))
|
||||||
|
# And seconds
|
||||||
|
local seconds=$(echo $(( $elapsedtime - ( 60 * $minutes) )))
|
||||||
|
|
||||||
|
local phours=""
|
||||||
|
local pminutes=""
|
||||||
|
local pseconds=""
|
||||||
|
|
||||||
|
# Avoid null values
|
||||||
|
[ $hours -eq 0 ] || phours="$hours hour"
|
||||||
|
[ $minutes -eq 0 ] || pminutes="$minutes minute"
|
||||||
|
[ $seconds -eq 0 ] || pseconds="$seconds second"
|
||||||
|
|
||||||
|
# Add a 's' for plural values
|
||||||
|
[ $hours -eq 1 ] && phours="${phours}, " || test -z "$phours" || phours="${phours}s, "
|
||||||
|
[ $minutes -eq 1 ] && pminutes="${pminutes}, " || test -z "$pminutes" || pminutes="${pminutes}s, "
|
||||||
|
[ $seconds -gt 1 ] && pseconds="${pseconds}s"
|
||||||
|
|
||||||
|
ECHO_FORMAT "Working time: ${phours}${pminutes}${pseconds}.\n" "blue"
|
||||||
|
}
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# RUNNING SNAPSHOT
|
||||||
|
#=================================================
|
||||||
|
|
||||||
create_temp_backup () {
|
create_temp_backup () {
|
||||||
# Create a temporary snapshot
|
# Create a temporary snapshot
|
||||||
|
|
||||||
|
start_timer
|
||||||
# Check all the witness files, to verify if them still here
|
# Check all the witness files, to verify if them still here
|
||||||
check_witness_files >&2
|
check_witness_files >&2
|
||||||
|
|
||||||
|
@ -32,6 +70,7 @@ create_temp_backup () {
|
||||||
current_snapshot=$(sudo lxc-snapshot --name $lxc_name --list | sort | tail --lines=1 | cut --delimiter=' ' --fields=1)
|
current_snapshot=$(sudo lxc-snapshot --name $lxc_name --list | sort | tail --lines=1 | cut --delimiter=' ' --fields=1)
|
||||||
# And return it
|
# And return it
|
||||||
echo "$current_snapshot"
|
echo "$current_snapshot"
|
||||||
|
stop_timer >&2
|
||||||
|
|
||||||
# Restart the container, after the snapshot
|
# Restart the container, after the snapshot
|
||||||
LXC_START "true" >&2
|
LXC_START "true" >&2
|
||||||
|
@ -42,12 +81,14 @@ use_temp_snapshot () {
|
||||||
# $1 = Name of the snapshot to use
|
# $1 = Name of the snapshot to use
|
||||||
current_snapshot=$1
|
current_snapshot=$1
|
||||||
|
|
||||||
|
start_timer
|
||||||
# Fix the missing hostname in the hosts file...
|
# Fix the missing hostname in the hosts file...
|
||||||
echo "127.0.0.1 $lxc_name" | sudo tee --append "$snapshot_path/$current_snapshot/rootfs/etc/hosts" > /dev/null
|
echo "127.0.0.1 $lxc_name" | sudo tee --append "$snapshot_path/$current_snapshot/rootfs/etc/hosts" > /dev/null
|
||||||
|
|
||||||
# Restore this snapshot.
|
# Restore this snapshot.
|
||||||
sudo rsync --acls --archive --delete --executability --itemize-changes --xattrs "$snapshot_path/$current_snapshot/rootfs/" "/var/lib/lxc/$lxc_name/rootfs/" > /dev/null 2>> "$test_result"
|
sudo rsync --acls --archive --delete --executability --itemize-changes --xattrs "$snapshot_path/$current_snapshot/rootfs/" "/var/lib/lxc/$lxc_name/rootfs/" > /dev/null 2>> "$test_result"
|
||||||
|
|
||||||
|
stop_timer
|
||||||
# Fake the yunohost_result return code of the installation
|
# Fake the yunohost_result return code of the installation
|
||||||
yunohost_result=0
|
yunohost_result=0
|
||||||
}
|
}
|
||||||
|
@ -73,6 +114,12 @@ destroy_temporary_snapshot () {
|
||||||
current_snapshot=snap0
|
current_snapshot=snap0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
is_lxc_running () {
|
||||||
|
sudo lxc-info --name=$lxc_name | grep --quiet "RUNNING"
|
||||||
|
}
|
||||||
|
|
||||||
LXC_INIT () {
|
LXC_INIT () {
|
||||||
# Initialize LXC network
|
# Initialize LXC network
|
||||||
|
|
||||||
|
@ -91,6 +138,7 @@ LXC_START () {
|
||||||
# Start the lxc container and execute the given command in it
|
# Start the lxc container and execute the given command in it
|
||||||
# $1 = Command to execute in the container
|
# $1 = Command to execute in the container
|
||||||
|
|
||||||
|
start_timer
|
||||||
# Try to start the container 3 times.
|
# Try to start the container 3 times.
|
||||||
local max_try=3
|
local max_try=3
|
||||||
local i=0
|
local i=0
|
||||||
|
@ -153,6 +201,7 @@ LXC_START () {
|
||||||
ECHO_FORMAT "The container failed to start $max_try times...\nIf this problem is persistent, try to fix it with lxc_check.sh.\n" "red" "bold"
|
ECHO_FORMAT "The container failed to start $max_try times...\nIf this problem is persistent, try to fix it with lxc_check.sh.\n" "red" "bold"
|
||||||
ECHO_FORMAT "Boot log:\n" clog
|
ECHO_FORMAT "Boot log:\n" clog
|
||||||
cat "$script_dir/lxc_boot.log" | tee --append "$test_result"
|
cat "$script_dir/lxc_boot.log" | tee --append "$test_result"
|
||||||
|
stop_timer
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -171,6 +220,7 @@ LXC_START () {
|
||||||
# Retrieve the log of the previous command and copy its content in the temporary log
|
# Retrieve the log of the previous command and copy its content in the temporary log
|
||||||
sudo cat "/var/lib/lxc/$lxc_name/rootfs/home/pchecker/temp_yunohost-cli.log" >> "$temp_log"
|
sudo cat "/var/lib/lxc/$lxc_name/rootfs/home/pchecker/temp_yunohost-cli.log" >> "$temp_log"
|
||||||
|
|
||||||
|
stop_timer
|
||||||
# Return the exit code of the ssh command
|
# Return the exit code of the ssh command
|
||||||
return $returncode
|
return $returncode
|
||||||
}
|
}
|
||||||
|
@ -178,6 +228,7 @@ LXC_START () {
|
||||||
LXC_STOP () {
|
LXC_STOP () {
|
||||||
# Stop and restore the LXC container
|
# Stop and restore the LXC container
|
||||||
|
|
||||||
|
start_timer
|
||||||
# Stop the LXC container
|
# Stop the LXC container
|
||||||
if is_lxc_running; then
|
if is_lxc_running; then
|
||||||
echo "Stop the LXC container" | tee --append "$test_result"
|
echo "Stop the LXC container" | tee --append "$test_result"
|
||||||
|
@ -202,6 +253,7 @@ LXC_STOP () {
|
||||||
# Restore the snapshot.
|
# Restore the snapshot.
|
||||||
echo "Restore the previous snapshot." | tee --append "$test_result"
|
echo "Restore the previous snapshot." | tee --append "$test_result"
|
||||||
sudo rsync --acls --archive --delete --executability --itemize-changes --xattrs "$snapshot_path/$current_snapshot/rootfs/" "/var/lib/lxc/$lxc_name/rootfs/" > /dev/null 2>> "$test_result"
|
sudo rsync --acls --archive --delete --executability --itemize-changes --xattrs "$snapshot_path/$current_snapshot/rootfs/" "/var/lib/lxc/$lxc_name/rootfs/" > /dev/null 2>> "$test_result"
|
||||||
|
stop_timer
|
||||||
}
|
}
|
||||||
|
|
||||||
LXC_TURNOFF () {
|
LXC_TURNOFF () {
|
||||||
|
|
|
@ -17,6 +17,9 @@ ECHO_FORMAT () {
|
||||||
if [ "$2" == "lgreen" ]; then
|
if [ "$2" == "lgreen" ]; then
|
||||||
echo -en "\e[92m"
|
echo -en "\e[92m"
|
||||||
fi
|
fi
|
||||||
|
if [ "$2" == "blue" ]; then
|
||||||
|
echo -en "\e[94m"
|
||||||
|
fi
|
||||||
if [ "$2" == "white" ]; then
|
if [ "$2" == "white" ]; then
|
||||||
echo -en "\e[97m"
|
echo -en "\e[97m"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Reference in a new issue