mirror of
https://github.com/HariSekhon/DevOps-Bash-tools.git
synced 2025-02-06 11:00:21 +00:00
63 lines
1.8 KiB
Bash
Executable File
63 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# shellcheck disable=SC2230,SC2317
|
|
#
|
|
# Author: Hari Sekhon
|
|
# Date: early 2019
|
|
#
|
|
# https://github.com/HariSekhon/DevOps-Bash-tools
|
|
#
|
|
# License: see accompanying LICENSE file
|
|
#
|
|
# https://www.linkedin.com/in/HariSekhon
|
|
#
|
|
|
|
# Download InfoBlox DDI OVA and calls it to trigger the import to VirtualBox pop up
|
|
|
|
set -euo pipefail
|
|
[ -n "${DEBUG:-}" ] && set -x
|
|
|
|
echo "InfoBlox DDI doesn't boot when the specs are downsized to fit on a Mac. You would need to install the OVA to a full VMware with 128GB RAM etc"
|
|
echo "Rest of script will not execute, but the code is left for reference"
|
|
|
|
exit 1
|
|
|
|
INFOBLOX_URL=https://go.infoblox.com/downloads/vnios/8.4.4/nios-8.4.4-386831-2019-08-02-03-45-48-ddi.ova
|
|
|
|
VM_NAME="${VM_NAME:-VNIOS System}"
|
|
|
|
CPUS="${CPUS:-2}"
|
|
RAM="${RAM:-4096}" # MB
|
|
VRAM="${VRAM:-12}" # Video RAM MB
|
|
|
|
echo "Downloading InfoBlox OVA to ~/Downloads/"
|
|
|
|
cd ~/Downloads/
|
|
|
|
infoblox_ova="${INFOBLOX_URL##*/}"
|
|
|
|
if [ "$infoblox_ova" ]; then
|
|
echo "Found $infoblox_ova, skipping download"
|
|
else
|
|
wget "$INFOBLOX_URL"
|
|
fi
|
|
|
|
if vboxmanage list vms | grep "^\"$VM_NAME\""; then
|
|
echo "$VM_NAME VM already found, skipping import"
|
|
else
|
|
# vboxmanage import nios-8.4.4-386831-2019-08-02-03-45-48-ddi.ova
|
|
#VBoxManage: error: Cannot import until the license agreement listed above is accepted.
|
|
echo "Importing $infoblox_ova"
|
|
# could set $VM_NAME here but want to leave it as the default import
|
|
vboxmanage import --vsys 0 --vmname "$VM_NAME" --eula accept "$infoblox_ova"
|
|
fi
|
|
|
|
if vboxmanage showvminfo "$VM_NAME" | grep -q "^State:[[:space:]]*running"; then
|
|
echo "VM already running, skipping configure and start"
|
|
else
|
|
echo "Configuring $VM_NAME with $CPUS CPUs, $RAM MB RAM, $VRAM MB Video RAM"
|
|
vboxmanage modifyvm "$VM_NAME" --cpus "$CPUS" --memory "$RAM" --vram "$VRAM"
|
|
|
|
echo "Starting $VM_NAME"
|
|
vboxmanage startvm "$VM_NAME"
|
|
fi
|