# -*- mode: ruby -*-
# vi: set ft=ruby :
#
# preppedkube Vagrantfile

require 'yaml'
settings = YAML.load_file('genconfig/config.yml')

Vagrant.configure(2) do |config|

  config.vm.box = settings["vagrant_box"]

  config.vm.define "head1" do |h|
    h.vm.hostname = "head1"
    h.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '0.0.0.0'
    h.vm.provider :libvirt do |v|
      v.memory = settings['head_vm_mem']
      v.cpus = settings['head_vm_cpu']
      v.machine_virtual_size = 100
    end
    h.vm.network "private_network", # management network, eth1
      adapter: 1,
      ip: "0.1.0.0", # not used, ignore
      auto_config: false,
      virtualbox__intnet: settings['vm_management_network_name'],
      libvirt__network_name: settings['vm_management_network_name'],
      libvirt__forward_mode: "none",
      libvirt__dhcp_enabled: false
    h.vm.network "private_network", # public network, eth2
      adapter: 2,
      ip: "0.2.0.0", # not used, ignore
      auto_config: false,
      virtualbox__intnet: settings['vm_public_network_name'],
      libvirt__network_name: settings['vm_public_network_name'],
      libvirt__forward_mode: "none",
      libvirt__dhcp_enabled: false
  end

  config.vm.define "compute1" do |c|
    c.vm.hostname = "compute1"
    c.vm.provider :libvirt do |v|
      v.memory = settings['compute_vm_mem']
      v.cpus = settings['compute_vm_cpu']
      v.machine_virtual_size = 50
      v.nested = true
    end
    c.vm.network "private_network", # management network, eth1
      adapter: 1,
      ip: "0.1.0.0",
      auto_config: false,
      virtualbox__intnet: settings['vm_management_network_name'],
      libvirt__network_name: settings['vm_management_network_name'],
      libvirt__forward_mode: "none",
      libvirt__dhcp_enabled: false
    c.vm.network "private_network", # public network, eth2
      adapter: 2,
      ip: "0.2.0.0", # not used, ignore
      auto_config: false,
      virtualbox__intnet: settings['vm_public_network_name'],
      libvirt__network_name: settings['vm_public_network_name'],
      libvirt__forward_mode: "none",
      libvirt__dhcp_enabled: false
  end

  config.vm.define "compute2" do |c|
    c.vm.hostname = "compute2"
    c.vm.provider :libvirt do |v|
      v.memory = settings['compute_vm_mem']
      v.cpus = settings['compute_vm_cpu']
      v.machine_virtual_size = 50
      v.nested = true
    end
    c.vm.network "private_network", # management network, eth1
      adapter: 1,
      ip: "0.1.0.0",
      auto_config: false,
      virtualbox__intnet: settings['vm_management_network_name'],
      libvirt__network_name: settings['vm_management_network_name'],
      libvirt__forward_mode: "none",
      libvirt__dhcp_enabled: false
    c.vm.network "private_network", # public network, eth2
      adapter: 2,
      ip: "0.2.0.0", # not used, ignore
      auto_config: false,
      virtualbox__intnet: settings['vm_public_network_name'],
      libvirt__network_name: settings['vm_public_network_name'],
      libvirt__forward_mode: "none",
      libvirt__dhcp_enabled: false
  end

end

