IT-SDK-Vagrant

From wiki.samerhijazi.net
Revision as of 13:31, 14 November 2019 by Fiducia (talk | contribs) (Work-Cycle)
Jump to navigation Jump to search

Boxes

  • Base: hashicorp/precise32
  • Ubuntu 14.04.5: ubuntu/trusty64
  • Ubuntu 17.04: ubuntu/zesty64

Installation

$ wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo
$ sudo mv virtualbox.repo /etc/yum.repos.d/virtualbox.repo
$ sudo dnf search virtualbox
..
$ sudo dnf install gcc binutils make glibc-devel patch libgomp glibc-headers kernel-headers kernel-devel-`uname -r` dkms
$ sudo dnf install VirtualBox-6.0
$ sudo dnf install vagrant
..
$ sudo usermod -a -G vboxusers $USER
$ sudo /usr/lib/virtualbox/vboxdrv.sh setup
$ export VAGRANT_HOME=/path/to/vagrant
..
$ vagrant plugin install vagrant-hostmanager
$ vagrant plugin install vagrant-cachier
$ vagrant plugin install vagrant-vbguest

Work-Cycle

```javascript
$ vagrant init hashicorp/bionic64
$ vagrant box add hashicorp/bionic64
$ vagrant up --provider=virtualbox
$ vagrant ssh
$ vagrant reload
```

```javascript $ vagrant init hashicorp/bionic64 $ vagrant box add hashicorp/bionic64 $ vagrant up --provider=virtualbox $ vagrant ssh $ vagrant reload ```

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'

Vagrant.configure("2") do |config|
   config.vm.box = "ubuntu/zesty64"
   config.vm.hostname = “openstack”
   config.vm.synced_folder ".", "/vagrant"
# --------------------------------------------------------------------
   config.vm.provider "virtualbox" do |vb|
      vb.gui = false
      vb.name = “OpenStack”
      vb.memory = 2048
      vb.cpus = 1
   end
# --------------------------------------------------------------------
   config.vm.network "private_network", ip: "192.168.33.10", :mac => “0800278A8081”, bridge: "lan01"
   config.vm.network "public_network", ip: "192.168.178.201", :mac => “0800278A8081”
   config.vm.network "forwarded_port", guest: 8080, host: 8080
# --------------------------------------------------------------------
   config.vm.provision "shell", path: "script.sh"
   config.vm.provision "shell", path: "source script.sh"
   config.vm.provision "shell", inline: "echo hello", run: “always”
   config.vm.provision "shell", inline: "route add default gw 192.168.0.1", run: "always"	# Manually override the default router configuration 
   config.vm.provision "shell", run: "always" do |s|
      s.inline = "echo hello"
   end
# --------------------------------------------------------------------
end

Update H.D.D.

VBoxManage clonehd "box-disk1.vmdk" "clone-disk1.vdi" --format vdi
VBoxManage modifyhd "clone-disk1.vdi" --resize 102400

VBoxManage showvminfo MASCHIN_ID | grep ".vmdk"
VBoxManage storageattach MASCHIN_ID --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium clone-disk1.vdi