This is probably nothing new.
Wanted to build my own Vagrant box with prerequisite to install GI/DB.
Instead of creating new network, use existing to assign IP.
Shared Folder uses existing location versus having to copy binaries into Vagrant location.
Same Vagrantfile can be used with a little search and replace.
You might ask, why not automate GI/DB install. I like to practice installating and cloning.
Next, install GG and DG.
After, create 2 RAC clusters using the same Vagrant Box?
dinh@CMWPHV1 MINGW64 /f/Vagrant
$ vboxmanage list hostonlyifs
Name: VirtualBox Host-Only Ethernet Adapter
GUID: 8898fc55-9a80-4d5e-9a82-d2dc776ef00e
DHCP: Disabled
IPAddress: 192.168.146.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:22
MediumType: Ethernet
Status: Up
VBoxNetworkName: HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter
dinh@CMWPHV1 MINGW64 /f/Vagrant
$ vagrant box list
There are no installed boxes! Use `vagrant box add` to add some.
dinh@CMWPHV1 MINGW64 /f/Vagrant
$ vagrant global-status
id name provider state directory
--------------------------------------------------------------------
There are no active Vagrant environments on this computer! Or,
you haven't destroyed and recreated Vagrant environments that were
started with an older version of Vagrant.
dinh@CMWPHV1 MINGW64 /f/Vagrant
$ cd arrow1/
dinh@CMWPHV1 MINGW64 /f/Vagrant/arrow1
$ vagrant status
Current machine states:
arrow1 not created (virtualbox)
The environment has not yet been created. Run `vagrant up` to
create the environment. If a machine is not created, only the
default provider will be shown. So if a provider is not listed,
then the machine is not created for that environment.
dinh@CMWPHV1 MINGW64 /f/Vagrant/arrow1
$ vagrant up
Bringing machine 'arrow1' up with 'virtualbox' provider...
==> arrow1: Box 'ol73-min' could not be found. Attempting to find and install...
arrow1: Box Provider: virtualbox
arrow1: Box Version: >= 0
==> arrow1: Box file was not detected as metadata. Adding it directly...
==> arrow1: Adding box 'ol73-min' (v0) for provider: virtualbox
arrow1: Unpacking necessary files from: file:///F:/Vagrant/ol73-min.box
arrow1:
==> arrow1: Successfully added box 'ol73-min' (v0) for 'virtualbox'!
==> arrow1: Importing base box 'ol73-min'...
==> arrow1: Matching MAC address for NAT networking...
==> arrow1: Setting the name of the VM: arrow1
==> arrow1: Clearing any previously set network interfaces...
==> arrow1: Preparing network interfaces based on configuration...
arrow1: Adapter 1: nat
arrow1: Adapter 2: hostonly
==> arrow1: Forwarding ports...
arrow1: 22 (guest) => 2011 (host) (adapter 1)
==> arrow1: Running 'pre-boot' VM customizations...
==> arrow1: Booting VM...
==> arrow1: Waiting for machine to boot. This may take a few minutes...
arrow1: SSH address: 127.0.0.1:2011
arrow1: SSH username: vagrant
arrow1: SSH auth method: private key
arrow1: Warning: Remote connection disconnect. Retrying...
==> arrow1: Machine booted and ready!
[arrow1] GuestAdditions 5.1.18 running --- OK.
==> arrow1: Checking for guest additions in VM...
==> arrow1: Setting hostname...
==> arrow1: Configuring and enabling network interfaces...
==> arrow1: Mounting shared folders...
arrow1: /vagrant => F:/Vagrant/arrow1
arrow1: /sf_working => C:/dinh/Dropbox/working
arrow1: /sf_OracleSoftware => F:/OracleSoftware
dinh@CMWPHV1 MINGW64 /f/Vagrant/arrow1
$ cd ../arrow2/
dinh@CMWPHV1 MINGW64 /f/Vagrant/arrow2
$ vagrant up
Bringing machine 'arrow2' up with 'virtualbox' provider...
==> arrow2: Importing base box 'ol73-min'...
==> arrow2: Matching MAC address for NAT networking...
==> arrow2: Setting the name of the VM: arrow2
==> arrow2: Clearing any previously set network interfaces...
==> arrow2: Preparing network interfaces based on configuration...
arrow2: Adapter 1: nat
arrow2: Adapter 2: hostonly
==> arrow2: Forwarding ports...
arrow2: 22 (guest) => 2012 (host) (adapter 1)
==> arrow2: Running 'pre-boot' VM customizations...
==> arrow2: Booting VM...
==> arrow2: Waiting for machine to boot. This may take a few minutes...
arrow2: SSH address: 127.0.0.1:2012
arrow2: SSH username: vagrant
arrow2: SSH auth method: private key
arrow2: Warning: Remote connection disconnect. Retrying...
==> arrow2: Machine booted and ready!
[arrow2] GuestAdditions 5.1.18 running --- OK.
==> arrow2: Checking for guest additions in VM...
==> arrow2: Setting hostname...
==> arrow2: Configuring and enabling network interfaces...
==> arrow2: Mounting shared folders...
arrow2: /vagrant => F:/Vagrant/arrow2
arrow2: /sf_working => C:/dinh/Dropbox/working
arrow2: /sf_OracleSoftware => F:/OracleSoftware
dinh@CMWPHV1 MINGW64 /f/Vagrant/arrow2
$ vagrant global-status
id name provider state directory
-----------------------------------------------------------------------
e779ae1 arrow1 virtualbox running F:/Vagrant/arrow1
7642809 arrow2 virtualbox running F:/Vagrant/arrow2
The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date. To interact with any of the machines, you can go to
that directory and run Vagrant, or you can use the ID directly
with Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"
dinh@CMWPHV1 MINGW64 /f/Vagrant/arrow2
$ vagrant box list
ol73-min (virtualbox, 0)
dinh@CMWPHV1 MINGW64 /f/Vagrant/arrow2
$ vboxmanage list runningvms
"arrow1" {d8e472d1-92c1-4211-ac86-99a8461f7cf5}
"arrow2" {66ad90a6-15ad-4096-a04e-e30c40ad2d70}
dinh@CMWPHV1 MINGW64 /f/Vagrant/arrow2
$ cat Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
# vboxmanage list vms
# vagrant package --output ol73-min.box --base ol73-min
# vagrant box add --name arrow1 file:///F:/Vagrant/ol73-min.box
# vboxmanage sharedfolder add "arrow1" --name "OracleSoftware" --hostpath "F:\OracleSoftware" --automount
# vboxmanage modifyvm "ol73-min" --natpf1 "ssh,tcp,,2222,,22"
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "arrow2" , primary: true do |config|
config.vm.box = "ol73-min"
config.vm.box_url = "file:///F:/Vagrant/ol73-min.box"
config.vm.network "private_network", ip: "192.168.146.12"
config.vm.network "forwarded_port", guest: 22, host: 2012, host_ip: "127.0.0.1", id: "ssh"
config.vm.box_check_update = false
config.ssh.insert_key = false
config.vm.host_name = "arrow2"
config.vm.synced_folder "F:\\OracleSoftware", "/sf_OracleSoftware", type: "nfs"
config.vm.synced_folder "C:\\dinh\\Dropbox\\working", "/sf_working", type: "nfs"
config.vm.provider "virtualbox" do |vb|
#vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
#vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
vb.memory = "1536"
vb.name = "arrow2"
end
end
end
dinh@CMWPHV1 MINGW64 /f/Vagrant/arrow2
$