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