You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DevOps-Bash-tools/setup/install_infoblox_ova.sh

62 lines
1.8 KiB
Bash

#!/usr/bin/env bash
# shellcheck disable=SC2230
#
# 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