Difference between revisions of "IT-SDK-Vagrant"
Jump to navigation
Jump to search
Samerhijazi (talk | contribs) (→Source) |
Samerhijazi (talk | contribs) (→Installation) |
||
| Line 14: | Line 14: | ||
=Installation= | =Installation= | ||
| + | ==VirtualBox== | ||
<pre class="code"> | <pre class="code"> | ||
| + | $ sudo dnf install gcc binutils make glibc-devel patch libgomp glibc-headers kernel-headers kernel-devel-`uname -r` dkms | ||
$ wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo | $ wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo | ||
$ sudo mv virtualbox.repo /etc/yum.repos.d/virtualbox.repo | $ sudo mv virtualbox.repo /etc/yum.repos.d/virtualbox.repo | ||
| + | ... | ||
$ sudo dnf search virtualbox | $ sudo dnf search virtualbox | ||
| − | |||
| − | |||
$ sudo dnf install VirtualBox-6.0 | $ sudo dnf install VirtualBox-6.0 | ||
| − | + | ... | |
| − | .. | ||
$ sudo usermod -a -G vboxusers $USER | $ sudo usermod -a -G vboxusers $USER | ||
$ sudo /usr/lib/virtualbox/vboxdrv.sh setup | $ sudo /usr/lib/virtualbox/vboxdrv.sh setup | ||
| + | </pre> | ||
| + | ==Vagrant== | ||
| + | <pre class="code"> | ||
| + | $ sudo dnf install vagrant | ||
$ export VAGRANT_HOME=/path/to/vagrant | $ export VAGRANT_HOME=/path/to/vagrant | ||
| − | |||
$ vagrant plugin install vagrant-hostmanager | $ vagrant plugin install vagrant-hostmanager | ||
$ vagrant plugin install vagrant-cachier | $ vagrant plugin install vagrant-cachier | ||
Revision as of 11:50, 29 April 2020
Contents
Source
- https://www.vagrantup.com/docs/vagrantfile/machine_settings.html
- https://www.oracle.com/technical-resources/articles/it-infrastructure/admin-manage-vbox-cli.html
Preambel
- Host: Base-Maschine; Guest: VM
- Networking: Bridged adapter; Host-Only Network; NAT
Boxes
- Base: hashicorp/precise32
- Ubuntu 14.04 LTS: ubuntu/trusty64
- Ubuntu 16.04 LTS: ubuntu/xenial64
- Ubuntu 18.04 LTS: ubuntu/bionic64
- Ubuntu 20.04 LTS: ubuntu/focal64
Installation
VirtualBox
$ sudo dnf install gcc binutils make glibc-devel patch libgomp glibc-headers kernel-headers kernel-devel-`uname -r` dkms $ 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 VirtualBox-6.0 ... $ sudo usermod -a -G vboxusers $USER $ sudo /usr/lib/virtualbox/vboxdrv.sh setup
Vagrant
$ sudo dnf install vagrant $ export VAGRANT_HOME=/path/to/vagrant $ vagrant plugin install vagrant-hostmanager $ vagrant plugin install vagrant-cachier $ vagrant plugin install vagrant-vbguest $ vagrant plugin install vagrant-disksize
Work-Cycle
$ vagrant init hashicorp/bionic64 $ vagrant box add hashicorp/bionic64 $ vagrant up --provider=virtualbox $ vagrant ssh $ vagrant reload
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
N = 2
IMAGE_NAME = "bento/ubuntu-16.04"
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'
ENV["LC_ALL"] = "en_US.UTF-8"
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/zesty64"
config.vm.hostname = “openstack”
config.disksize.size = '50GB'
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
master.vm.provision "ansible" do |ansible|
ansible.playbook = "/location/of/master-playbook.yml"
ansible.extra_vars = {node_ip: "192.168.50.10",}
end
# --------------------------------------------------------------------
(1..N).each do |i|
config.vm.define "node-#{i}" do |node|
node.vm.hostname = "node-#{i}"
end
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