]> git.ipfire.org Git - thirdparty/dracut.git/blob - test/TEST-60-BONDBRIDGEVLANIFCFG/server-init.sh
tests: untabify, reformat
[thirdparty/dracut.git] / test / TEST-60-BONDBRIDGEVLANIFCFG / server-init.sh
1 #!/bin/sh
2 exec </dev/console >/dev/console 2>&1
3 set -x
4 export PATH=/sbin:/bin:/usr/sbin:/usr/bin
5 export TERM=linux
6 export PS1='nfstest-server:\w\$ '
7 stty sane
8 echo "made it to the rootfs!"
9 echo server > /proc/sys/kernel/hostname
10
11 wait_for_if_link() {
12 local cnt=0
13 local li
14 while [ $cnt -lt 600 ]; do
15 li=$(ip -o link show dev $1 2>/dev/null)
16 [ -n "$li" ] && return 0
17 if [[ $2 ]]; then
18 li=$(ip -o link show dev $2 2>/dev/null)
19 [ -n "$li" ] && return 0
20 fi
21 sleep 0.1
22 cnt=$(($cnt+1))
23 done
24 return 1
25 }
26
27 wait_for_if_up() {
28 local cnt=0
29 local li
30 while [ $cnt -lt 200 ]; do
31 li=$(ip -o link show up dev $1)
32 [ -n "$li" ] && return 0
33 sleep 0.1
34 cnt=$(($cnt+1))
35 done
36 return 1
37 }
38
39 wait_for_route_ok() {
40 local cnt=0
41 while [ $cnt -lt 200 ]; do
42 li=$(ip route show)
43 [ -n "$li" ] && [ -z "${li##*$1*}" ] && return 0
44 sleep 0.1
45 cnt=$(($cnt+1))
46 done
47 return 1
48 }
49
50 linkup() {
51 wait_for_if_link $1 2>/dev/null\
52 && ip link set $1 up 2>/dev/null\
53 && wait_for_if_up $1 2>/dev/null
54 }
55
56 wait_for_if_link eth0 ens3
57 wait_for_if_link eth1 ens4
58 wait_for_if_link eth2 ens5
59 wait_for_if_link eth3 ens6
60
61 modprobe --all -b -q 8021q ipvlan macvlan
62 >/dev/watchdog
63 ip addr add 127.0.0.1/8 dev lo
64 linkup lo
65 ip link set dev eth0 name ens3
66 ip addr add 192.168.50.1/24 dev ens3
67 linkup ens3
68 >/dev/watchdog
69 ip link set dev eth1 name ens4
70 ip link add dev ens4.1 link ens4 type vlan id 1
71 ip link add dev ens4.2 link ens4 type vlan id 2
72 ip link add dev ens4.3 link ens4 type vlan id 3
73 ip link add dev ens4.4 link ens4 type vlan id 4
74 ip addr add 192.168.54.1/24 dev ens4.1
75 ip addr add 192.168.55.1/24 dev ens4.2
76 ip addr add 192.168.56.1/24 dev ens4.3
77 ip addr add 192.168.57.1/24 dev ens4.4
78 linkup ens4
79 ip link set dev ens4.1 up
80 ip link set dev ens4.2 up
81 ip link set dev ens4.3 up
82 ip link set dev ens4.4 up
83 ip link set dev eth2 name ens5
84 ip addr add 192.168.51.1/24 dev ens5
85 linkup ens5
86 ip link set dev eth3 name ens6
87 linkup ens6
88 >/dev/watchdog
89 modprobe af_packet
90 > /dev/watchdog
91 modprobe sunrpc
92 >/dev/watchdog
93 mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs
94 >/dev/watchdog
95 [ -x /sbin/portmap ] && portmap
96 >/dev/watchdog
97 mkdir -p /run/rpcbind
98 [ -x /sbin/rpcbind ] && rpcbind
99 >/dev/watchdog
100 modprobe nfsd
101 >/dev/watchdog
102 mount -t nfsd nfsd /proc/fs/nfsd
103 >/dev/watchdog
104 exportfs -r
105 >/dev/watchdog
106 rpc.nfsd
107 >/dev/watchdog
108 rpc.mountd
109 >/dev/watchdog
110 rpc.idmapd
111 >/dev/watchdog
112 exportfs -r
113 >/dev/watchdog
114 >/var/lib/dhcpd/dhcpd.leases
115 >/dev/watchdog
116 chmod 777 /var/lib/dhcpd/dhcpd.leases
117 >/dev/watchdog
118 dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases ens3 ens5
119 #echo -n 'V' > /dev/watchdog
120 #sh -i
121 #tcpdump -i ens3
122 # Wait forever for the VM to die
123 echo "Serving"
124 while :; do
125 sleep 10
126 >/dev/watchdog
127 done
128 mount -n -o remount,ro /
129 poweroff -f