ClusterAPI.imageBuilder/hack/boxes-flatcar.sh

50 lines
1.5 KiB
Bash
Raw Permalink Normal View History

2023-02-22 20:24:42 +00:00
#!/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