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

$script = <<SCRIPT
echo "run provisioning..."
echo 'root:password' | sudo chpasswd
sudo sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
sudo systemctl disable NetworkManager firewalld
sudo systemctl enable network

HOST=$(cat << HOST
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.10  controller.example.com  controller
10.0.0.11  compute.example.com compute
HOST
)

sudo echo "$HOST" > /etc/hosts
sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf

yum install -y epel-release
yum install -y centos-release-openstack-mitaka
yum update -y
#yum install -y openstack-packstack

SCRIPT

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.define :controller do |node|
            node.vm.network :private_network, :ip => "10.0.0.10"
            node.vm.network :private_network, :ip => "20.0.0.10"
            node.vm.hostname = "controller.example.com"
            node.vm.provider :libvirt do |domain|
              domain.uri = 'qemu+unix:///system'
              domain.driver = 'kvm'
              domain.memory = 8192
              domain.cpus = 4
              domain.nested = true
              domain.volume_cache = 'none'
              domain.storage :file, :size => '20G'
            end
            node.vm.provision "shell", inline: $script
  end
  config.vm.define :compute do |node|
            node.vm.network :private_network, :ip => "10.0.0.11"
            node.vm.network :private_network, :ip => "20.0.0.11"
            node.vm.hostname = "compute.example.com"
            node.vm.provider :libvirt do |domain|
              domain.uri = 'qemu+unix:///system'
              domain.driver = 'kvm'
              domain.memory = 4096
              domain.cpus = 2
              domain.nested = true
              domain.volume_cache = 'none'
            end
            node.vm.provision "shell", inline: $script
  end
end
