mirror of https://git.48k.eu/ogcli/
examples: add examples folder
deploy-ubuntu.sh is a simple bash script combining multiple ogcli commands used to format and deploy some image. poweroff.cron is a sample cron file used to schedule client poweroff.master
parent
dff298d421
commit
5e546fbee2
|
@ -0,0 +1,42 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
function check_client_status {
|
||||||
|
local try=0
|
||||||
|
local ip="$1"
|
||||||
|
local state="$2"
|
||||||
|
local max_tries=${3-10}
|
||||||
|
|
||||||
|
while [ "$(./ogcli list clients | jq ".clients[] | select(.state != \"$state\" and .addr == \"$ip\")")" == "" ]
|
||||||
|
do
|
||||||
|
if [ "$try" -eq "$max_tries" ]; then
|
||||||
|
echo "Timeout!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
try=$((try+1))
|
||||||
|
echo "Waiting for client to exit from state $state..."
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
IP="192.168.56.11"
|
||||||
|
|
||||||
|
echo "Sending WoL to client $IP"
|
||||||
|
./ogcli send wol --client-ip "$IP"
|
||||||
|
|
||||||
|
check_client_status $IP "WOL_SENT"
|
||||||
|
echo "Client is ready... partitioning client"
|
||||||
|
./ogcli setup disk --type dos --num 1 --part 1,LINUX,EXT4,40G --part 4,CACHE,CACHE,10G --format 1,4 --client-ip "$IP"
|
||||||
|
# ./ogcli send refresh --client-ip "$IP"
|
||||||
|
|
||||||
|
check_client_status $IP "BSY"
|
||||||
|
echo "Client is ready... restoring image"
|
||||||
|
./ogcli restore image --id 1 --disk 1 --part 1 --type tiptorrent --client-ip "$IP"
|
||||||
|
|
||||||
|
check_client_status $IP "BSY" 100
|
||||||
|
echo "Client is ready... setting boot mode to first disk first partition"
|
||||||
|
./ogcli set mode --mode 11 --client-ip "$IP"
|
||||||
|
|
||||||
|
check_client_status $IP "BSY"
|
||||||
|
echo "Client is ready... shutting down client"
|
||||||
|
./ogcli send poweroff --client-ip "$IP"
|
|
@ -0,0 +1,11 @@
|
||||||
|
# This cron task automatically powers off all clients
|
||||||
|
# specified at 22:00 local time starting Monday until
|
||||||
|
# Friday.
|
||||||
|
#
|
||||||
|
# You can specify clients to shutdown using several parameters
|
||||||
|
# like --client-ip, --room-id, or even --center-id.
|
||||||
|
#
|
||||||
|
# Usually on debian based distros one can insert cron tasks
|
||||||
|
# using "crontab -e".
|
||||||
|
|
||||||
|
0 22 * * 1-5 ogcli send poweroff --client-ip 192.168.56.11
|
Loading…
Reference in New Issue