summaryrefslogtreecommitdiffstats
path: root/examples/deploy-ubuntu.sh
diff options
context:
space:
mode:
authorJose M. Guisado <jguisado@soleta.eu>2022-11-13 18:49:59 +0100
committerJose M. Guisado <jguisado@soleta.eu>2022-11-13 18:49:59 +0100
commit5e546fbee20bce6c78ccf562c9cde43500fe1b0c (patch)
treed38da62a3f91601e04b98a63d99b33f16a4f9568 /examples/deploy-ubuntu.sh
parentdff298d421afcbe2bdd2246be961d5e963b7fdd0 (diff)
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.
Diffstat (limited to 'examples/deploy-ubuntu.sh')
-rwxr-xr-xexamples/deploy-ubuntu.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/examples/deploy-ubuntu.sh b/examples/deploy-ubuntu.sh
new file mode 100755
index 0000000..94541a4
--- /dev/null
+++ b/examples/deploy-ubuntu.sh
@@ -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"