50 lines
1.5 KiB
Bash
50 lines
1.5 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
[[ -n ${DEBUG:-} ]] && set -o xtrace
|
||
|
|
||
|
export VAGRANT_VAGRANTFILE=${VAGRANT_VAGRANTFILE:-/tmp/Vagrantfile.builder-flatcar}
|
||
|
|
||
|
fetch_vagrantfile() {
|
||
|
curl -sSL -o ${VAGRANT_VAGRANTFILE} \
|
||
|
https://raw.githubusercontent.com/flatcar/flatcar-packer-qemu/builder-ignition/Vagrantfile.builder-flatcar
|
||
|
}
|
||
|
|
||
|
list_boxes() {
|
||
|
vagrant box list \
|
||
|
| grep -E '^flatcar-(alpha|beta|stable|edge)-[0-9.]+' \
|
||
|
| sed 's/flatcar-\(alpha\|beta\|stable\|edge\)-\([0-9.]\+\).*/\1 \2/'
|
||
|
}
|
||
|
|
||
|
fetch_vagrantfile
|
||
|
|
||
|
list_boxes | while read -r channel release; do
|
||
|
export FLATCAR_CHANNEL="$channel"
|
||
|
export FLATCAR_VERSION="$release"
|
||
|
|
||
|
echo "##############################################"
|
||
|
echo "Image:"
|
||
|
virsh vol-info --pool default "flatcar-${channel}-${release}_vagrant_box_image_0.img"
|
||
|
echo "Env:"
|
||
|
echo " export FLATCAR_CHANNEL='$channel'"
|
||
|
echo " export FLATCAR_VERSION='$release'"
|
||
|
echo " export VAGRANT_VAGRANTFILE='$VAGRANT_VAGRANTFILE'"
|
||
|
|
||
|
# shellcheck disable=SC2016
|
||
|
vagrant status | grep -v 'Run `vagrant up`'
|
||
|
|
||
|
[ "$1" = "cleanup" ] && {
|
||
|
echo "#### Cleaning up vagrant VM"
|
||
|
|
||
|
img_name="flatcar-${channel}-${release}_vagrant_box_image_0.img"
|
||
|
box_name="packer_flatcar-${channel}-${release}_libvirt.box"
|
||
|
vagrant_name="flatcar-$channel-$release"
|
||
|
|
||
|
vagrant halt
|
||
|
vagrant destroy -f
|
||
|
vagrant box remove "$vagrant_name"
|
||
|
virsh vol-delete --pool=default "$img_name"
|
||
|
|
||
|
rm -f "$box_name"
|
||
|
}
|
||
|
done
|