Rework demo scripts
[talk-cockpit-auth-anywhere.git] / demo.sh
1 #!/bin/sh
2 # Run this script before starting the presention/demo.
3 # Before you must run "make download".
4 set -ex
5
6 # specific for Martin Pitt
7 VM_PREFIX="toolbox run -c devel"
8
9 printf '[Session]\nIdleTimeout=0\n' | sudo tee /etc/cockpit.cockpit.conf
10 sudo systemctl stop cockpit
11
12 echo '127.0.0.2 cockpit.dev' | sudo tee -a /etc/hosts
13
14 # LV resizing demo
15 sudo modprobe scsi_debug dev_size_mb=512
16 # sanity check
17 m=$(cat /sys/block/sdb/device/model)
18 [ "${m%% *}" = scsi_debug ]
19
20 cat <<EOF | sudo sfdisk /dev/sdb
21 label: dos
22 label-id: 0x4e3c0cf8
23 device: /dev/sdb
24 unit: sectors
25
26 /dev/sdb1 : start=        2048, size=      524288, type=83
27 /dev/sdb2 : start=      526336, size=      522240, type=83
28 EOF
29 sudo pvcreate /dev/sdb1
30 sudo vgcreate vg0 /dev/sdb1
31 sudo lvcreate -n data1 -l '100%FREE' vg0
32 sudo mkfs.ext4 -L data1 /dev/vg0/data1
33
34 firefox http://localhost:9090/storage
35
36 # for remote ssh session demo
37 $VM_PREFIX sh -exc "cd $PWD"'
38 mkfifo /tmp/r7vm
39 env TEST_DATA=/tmp bots/machine/testvm.py rhel-7-8 > /tmp/r7vm &
40 echo $! > /tmp/r7vm.pid
41
42 read ssh_cmd < /tmp/r7vm
43 echo "ssh command: $ssh_cmd"
44 read _  < /tmp/r7vm  # URL, uninteresting
45 read running < /tmp/r7vm
46 [ "${running#RUNNING}" != "$running" ]  # sanity check
47 rm /tmp/r7vm
48
49 $ssh_cmd hostnamectl set-hostname server1
50 sleep infinity
51 ' &
52 R7VM_PID=$!
53
54 sleep 20 # let the above VM initialize
55
56 # Windows demo
57 xhost +local: # allow X in toolbox
58 cat <<EOF
59 ===============================================================
60 Windows demo:
61  - In virt-viewer window, open Edge and log into https://10.0.2.2:9090
62  - Press F11 for fullscreen
63  - Minimize browser, to show the desktop
64  - When done, close virt-viewer (F11 and Ctrl+Shift+Q) to resume this script
65 ===============================================================
66 EOF
67 $VM_PREFIX `pwd`/bots/vm-run -C2 windows-10
68
69
70 cat <<EOF
71 ===============================================================
72 ssh demo: rhel-7-8 VM is still running, host name "cockpit.dev"
73 When done, press Enter to clean up and finish
74 ===============================================================
75 EOF
76 read
77
78 echo "Cleaning up..."
79 set +e
80 kill $R7VM_PID
81 wait
82 $VM_PREFIX sh -xc 'kill $(cat /tmp/r7vm.pid); rm -rf /tmp/r7vm.pid /tmp/tmp'
83 rm -rf tmp/
84 sudo vgremove -f vg0
85 sudo rmmod scsi_debug
86 sudo rm -f /etc/cockpit.cockpit.conf /etc/cockpit/machines.d/* /etc/ssh/ssh_known_hosts
87 sudo sed -i '/^127.0.0.2 cockpit.dev$/d' /etc/hosts