This commit is contained in:
		
							
								
								
									
										49
									
								
								hack/boxes-flatcar.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										49
									
								
								hack/boxes-flatcar.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
#!/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
 | 
			
		||||
		Reference in New Issue
	
	Block a user