Vagrant OEL 8 DevOps · VirtualBox · Parallels · Reference

VagrantComplete Cheat Sheet (All 38 Pages)

The ultimate Vagrant quick reference for OEL 8 — all commands, Vagrantfile snippets, Parallels box packaging, database lab IPs and complete page index.

The ultimate quick reference for Vagrant with OEL 8 on VirtualBox and Parallels. Every important command, config snippet, and pattern from the full series in one page.

BASH — VM Lifecycle
vagrant up                             # Start / create VM
vagrant up --provider=virtualbox       # Explicit VirtualBox
vagrant up --provider=parallels        # Explicit Parallels
vagrant up --no-parallel               # Sequential start
vagrant halt                           # Stop gracefully
vagrant halt --force                   # Force stop
vagrant reload                         # Restart
vagrant reload --provision             # Restart + re-provision
vagrant destroy --force                # Delete completely
vagrant status                         # Current project VMs
vagrant global-status --prune          # ALL VMs on machine
vagrant ssh                            # SSH in
vagrant ssh machinename                # SSH into named VM
vagrant ssh -c "sudo systemctl status mysqld"  # Run command
vagrant provision                      # Re-run provisioners
vagrant port                           # Show forwarded ports
BASH — Box Commands
vagrant box list                       # List downloaded boxes
vagrant box add generic/oracle8        # Add from Vagrant Cloud
vagrant box add mybox file.box         # Add local box (VirtualBox)
vagrant box add metadata.json          # Add via metadata (Parallels!)
vagrant box remove mybox               # Remove box
vagrant box update                     # Update all boxes
vagrant box prune                      # Remove old versions
BASH — Snapshots
vagrant snapshot save NAME             # Save named snapshot
vagrant snapshot save VM NAME          # Specific machine snapshot
vagrant snapshot restore NAME          # Restore snapshot
vagrant snapshot list                  # List snapshots
vagrant snapshot delete NAME           # Delete snapshot
vagrant snapshot push                  # Push to stack (unnamed)
vagrant snapshot pop                   # Restore + delete last
BASH — Plugins
vagrant plugin install vagrant-parallels    # Parallels provider
vagrant plugin install vagrant-disksize    # Disk resize
vagrant plugin install vagrant-vbguest     # VirtualBox Guest Additions
vagrant plugin install vagrant-hostmanager # Auto /etc/hosts
vagrant plugin install vagrant-reload      # Reboot mid-provision
vagrant plugin install vagrant-env         # Load .env file
vagrant plugin install vagrant-proxyconf   # Corporate proxy support
vagrant plugin list                        # List installed
vagrant plugin update                      # Update all
Ruby — Full Vagrantfile Reference
Vagrant.configure("2") do |config|

  # Box
  config.vm.box      = "generic/oracle8"
  config.vm.hostname = "oel8-lab"

  # Networks
  config.vm.network "private_network",  ip: "192.168.56.10"
  config.vm.network "forwarded_port",   guest: 3306, host: 13306
  config.vm.network "forwarded_port",   guest: 1521, host: 11521
  config.vm.network "forwarded_port",   guest: 6033, host: 16033

  # Synced folder
  config.vm.synced_folder "./sql",     "/home/vagrant/sql"
  config.vm.synced_folder "./scripts", "/home/vagrant/scripts"

  # Disk resize (vagrant-disksize plugin)
  config.disksize.size = "50GB"

  # VirtualBox provider
  config.vm.provider "virtualbox" do |vb|
    vb.name   = "OEL8-Lab"
    vb.memory = 4096
    vb.cpus   = 2
    vb.customize ["modifyvm", :id, "--ioapic", "on"]
    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  end

  # Parallels provider
  config.vm.provider "parallels" do |prl|
    prl.name   = "OEL8-Lab"
    prl.memory = 4096
    prl.cpus   = 2
    prl.update_guest_tools         = false
    prl.optimize_power_consumption = false
    prl.linked_clone               = true
  end

  # Shell provisioner
  config.vm.provision "shell", inline: "dnf install -y vim wget"
  config.vm.provision "shell", path: "scripts/setup.sh"
  config.vm.provision "shell", run: "always", inline: "echo VM ready"

  # With env vars
  config.vm.provision "shell",
    path: "scripts/install_mysql.sh",
    env: { "ROOT_PASS" => ENV["DB_ROOT_PASS"] || "Root@123!" }

end
BASH — Parallels Box Packaging
# NEVER do this for Parallels:
vagrant box add myname file.box    # FAILS for Parallels!

# CORRECT method:

# 1. Create metadata.json inside box
echo '{"provider":"parallels"}' > metadata.json

# 2. Create Vagrantfile inside box
echo 'Vagrant.configure("2") do |c|; end' > Vagrantfile

# 3. Package: metadata.json + Vagrantfile + .pvm folder
tar -czf myoel8.box metadata.json Vagrantfile MyVM.pvm/

# 4. Create box-metadata.json (for vagrant box add)
cat > box-meta.json << EOF
{
  "name": "oraclelinux8-parallels",
  "versions": [{
    "version": "1.0.0",
    "providers": [{
      "name": "parallels",
      "url": "file:///absolute/path/to/myoel8.box"
    }]
  }]
}
EOF

# 5. Add box
vagrant box add box-meta.json
vagrant box list  # Shows: oraclelinux8-parallels (parallels, 1.0.0)
LabIPsKey PortPage
MySQL 8 Single192.168.56.201330621
MySQL Replication.11 master, .12-.13 replicas13306-1330822
ProxySQL Full Stack.10 proxy, .11-.13 mysql16033, 13306+23
Oracle 19c192.168.56.301152126
Oracle RAC.41-.42 nodes, .70 SCAN1152127
PostgreSQL 15192.168.56.401543228
MySQL Group Replication.51-.53 nodes13311-1331329
Galera/PXC.61-.63 nodes13361-1336330
InnoDB Cluster.71-.73 nodes13371-1337331
MongoDB 7192.168.56.8012701732
#Page TitleSection
1Introduction & ArchitectureBasics
2Installation — VirtualBoxBasics
3Installation — ParallelsBasics
4CLI Commands ReferenceBasics
5Vagrantfile Deep DiveBasics
6OEL 8 Box SetupBasics
7First VM — VirtualBoxVirtualBox
8NetworkingVirtualBox
9Synced FoldersVirtualBox
10Multi-Machine SetupVirtualBox
11Shell ProvisioningVirtualBox
12Ansible ProvisioningVirtualBox
13Snapshots & RollbackVirtualBox
14Resource TuningVirtualBox
15First VM — ParallelsParallels
16Correct Parallels Box Packaging ⭐Parallels
17Parallels NetworkingParallels
18Parallels Multi-MachineParallels
19Parallels Synced FoldersParallels
20Parallels SnapshotsParallels
21MySQL 8 on OEL 8Database Labs
22MySQL Replication LabDatabase Labs
23ProxySQL Full Stack LabDatabase Labs
24TroubleshootingDatabase Labs
25Cheat Sheet (Basic)Database Labs
26Oracle 19c on OEL 8Advanced Labs
27Oracle RAC LabAdvanced Labs
28PostgreSQL 15 on OEL 8Advanced Labs
29MySQL Group Replication LabAdvanced Labs
30Galera Cluster (PXC) LabAdvanced Labs
31MySQL InnoDB Cluster LabAdvanced Labs
32MongoDB 7 on OEL 8Advanced Labs
33Essential PluginsAdvanced
34Custom Box CreationAdvanced
35Vagrant Cloud PublishingAdvanced
36Environment Variables & SecretsAdvanced
37Behind Proxy & FirewallAdvanced
38Complete Cheat SheetAdvanced