| # -*- mode: ruby -*- |
| # -*- coding: utf-8 -*- |
| |
| host_ip = "192.168.121.1" |
| |
| rancher_port = 8080 |
| |
| vm_memory = 2 * 1024 |
| vm_cpus = 1 |
| vm_box = "generic/ubuntu1604" |
| |
| cluster = [ |
| { name: 'master', hostname: 'master', ip: '172.17.3.100' }, |
| { name: 'worker', hostname: 'worker', ip: '172.17.3.101' } |
| ] |
| |
| Vagrant.configure('2') do |config| |
| cluster.each do |node| |
| config.vm.define node[:name] do |config| |
| config.vm.box = vm_box |
| config.vm.hostname = node[:hostname] |
| |
| config.vm.provider :virtualbox do |v| |
| v.name = node[:name] |
| v.memory = vm_memory |
| v.cpus = vm_cpus |
| end |
| |
| config.vm.provider :libvirt do |v| |
| v.memory = vm_memory |
| v.cpus = vm_cpus |
| end |
| |
| config.vm.network :private_network, ip: node[:ip] |
| config.vm.provision :shell, inline: "echo nameserver #{host_ip} | resolvconf -a eth0.inet" |
| |
| if node[:name] == 'master' |
| config.vm.network "forwarded_port", guest: rancher_port, host: rancher_port |
| config.vm.provision :shell, path: "../../tools/casablanca/imported/openstack-rancher.sh" |
| config.vm.provision :shell, path: "../../tools/casablanca/get_ranchercli.sh" |
| end |
| |
| if node[:name] == 'worker' |
| config.vm.provision :shell, path: "../../tools/casablanca/imported/openstack-k8s-node.sh" |
| end |
| end |
| end |
| end |