parallel/testsuite/vagrant/setup.sh

108 lines
1.9 KiB
Bash

#!/bin/bash
setup_one() {
# setup_one ubuntu/trusty64 172.27.27.2
if [ -z "$2" ] ; then
echo Usage: setup_one ubuntu/trusty64 172.27.27.2
return 1
fi
vfile="$1"/Vagrantfile
mkdir -p "$1"
cp Vagrantfile.tmpl "$vfile"
(
cd "$1"
perl -i -pe "s{%%VMBOX%%}{$1}g;s/%%IP%%/$2/" Vagrantfile
vagrant up
vagrant ssh -c 'ip addr || ifconfig'
)
ssh-keygen -R $2
ssh vagrant@$2 hostname
}
export -f setup_one
destroy_one() {
(
cd "$1"
vagrant destroy -f
)
rm -r ./"$1"
}
export -f destroy_one
server_list() {
cat <<SSHOK
generic/arch.98
generic/centos6.6
generic/centos7.7
generic/centos8.8
generic/debian8.18
generic/debian9.19
generic/debian10.30
generic/devuan3.43
generic/freebsd11.71
generic/freebsd12.72
generic/gentoo.99
generic/netbsd9.89
generic/oracle7.127
generic/rhel6.106
generic/rhel7.107
generic/rhel8.108
generic/ubuntu1604.216
generic/ubuntu1804.218
generic/ubuntu2004.220
SSHOK
# Ignore for now
true <<EOF
generic/alpine310
generic/alpine311
generic/alpine312
generic/alpine35
generic/alpine36
generic/alpine37
generic/alpine38
generic/alpine39
generic/dragonflybsd5
generic/fedora25
generic/fedora26
generic/fedora27
generic/fedora28
generic/fedora29
generic/fedora30
generic/fedora31
generic/fedora32
generic/hardenedbsd11
generic/hardenedbsd12
generic/netbsd8
generic/openbsd6
generic/opensuse15
generic/opensuse42
generic/oracle8
generic/ubuntu1604
generic/ubuntu1610
generic/ubuntu1704
generic/ubuntu1710
generic/ubuntu1804
generic/ubuntu1810
generic/ubuntu1904
generic/ubuntu1910
generic/ubuntu2004
EOF
}
destroy_all() {
server_list | parallel -j50% --plus --tag destroy_one {.} 172.27.27.{+.}
}
# No ssh to ip-addr
# generic/devuan1
# generic/devuan2
# Gamle: Centos3, Centos5, OracleXE, Debian7
setup_all() {
# IP address *.2 and up
server_list | parallel -j50% --plus --tag setup_one {.} 172.27.27.{+.}
}