add vagrant

This commit is contained in:
Valentin Gurmeza 2017-05-25 16:35:42 -07:00
parent 428dd5e0e2
commit a8e014f98c
2 changed files with 70 additions and 0 deletions

34
Vagrantfile vendored Normal file
View file

@ -0,0 +1,34 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
vmname = 'mikrotik-6-38-1'
# Specify minimum Vagrant version and Vagrant API version
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
#config.vm.box = 'mikrotik-6-38-1'
config.vm.box = vmname
config.vm.hostname = 'mikrotik01'
config.vm.network "private_network", ip: '192.168.60.202'
config.vm.network "private_network", ip: '192.168.60.203'
config.vm.network "private_network", ip: '192.168.60.204'
config.vm.network "private_network", ip: '192.168.60.205'
config.vm.network "private_network", ip: '192.168.60.206'
config.vm.network "private_network", ip: '192.168.60.207'
config.vm.network "private_network", ip: '192.168.60.208'
config.vm.network "private_network", ip: '192.168.60.209'
config.vm.network "private_network", ip: '192.168.60.210'
config.vm.network "private_network", ip: '192.168.60.211'
config.vm.network "private_network", ip: '192.168.60.212'
config.vm.network :forwarded_port, guest: 22, host: 2301, id: 'ssh'
config.vm.network :forwarded_port, guest: 8728, host: 8728, id: 'api'
config.vm.network :forwarded_port, guest: 80, host: 8080, id: 'web'
config.vm.provider :virtualbox do |vb|
vb.name = vmname + '_test'
end
end

36
create_vagrant_mikrotik.sh Executable file
View file

@ -0,0 +1,36 @@
#!/usr/bin/env bash
dl_link='https://download2.mikrotik.com/routeros/6.38.1/chr-6.38.1.vdi'
vmname='mikrotik-6-38-1'
[[ -f ./downloads/$(basename "$dl_link") ]] && {
echo "*** vdi already exists"
} || {
mkdir -p ./downloads/
wget --directory-prefix=./downloads/ "$dl_link"
}
echo "*** create the vm"
VBoxManage createvm \
--name "$vmname" \
--ostype 'Linux_64' \
--register
VBoxManage storagectl \
"$vmname" \
--name "SATA Controller" \
--add sata
echo "*** add the hard disk"
VBoxManage storageattach \
"$vmname" \
--storagectl "SATA Controller" \
--port 0 \
--device 0 \
--type hdd \
--medium ./downloads/$(basename "$dl_link")
vagrant package --base "$vmname" --output ~/"$vmname".box
vagrant box add "$vmname" ~/"$vmname".box --name "$vmname"