Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 1 | # -*- mode: ruby -*- |
| 2 | # vi: set ft=ruby : |
| 3 | |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 4 | require 'yaml' |
| 5 | settings = YAML.load_file('genconfig/config.yml') |
| 6 | |
| 7 | $cordpath = "../../.." |
| 8 | $ciab_dir = "/opt/ciab" |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 9 | |
| 10 | Vagrant.configure(2) do |config| |
| 11 | |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 12 | config.vm.synced_folder '.', '/vagrant', disabled: true |
| 13 | |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 14 | config.vm.define "corddev" do |d| |
| 15 | d.ssh.forward_agent = true |
| 16 | d.vm.box = "ubuntu/trusty64" |
| 17 | d.vm.hostname = "corddev" |
| 18 | d.vm.network "private_network", ip: "10.100.198.200" |
Gopinath Taget | 40d57b3 | 2017-08-16 17:05:09 -0700 | [diff] [blame] | 19 | d.vm.synced_folder settings['host_cord_profile_dir'], settings['build_cord_profile_dir'], create: true |
| 20 | d.vm.provision :hosts do |provisioner| |
| 21 | provisioner.autoconfigure = true |
| 22 | provisioner.sync_hosts = true |
| 23 | provisioner.add_host '10.100.198.201', ['docker-registry'] |
| 24 | end |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 25 | d.vm.synced_folder $cordpath, settings['build_cord_dir'] |
| 26 | d.vm.provider :virtualbox do |v| |
| 27 | v.memory = settings['dev_vm_mem'] |
| 28 | v.cpus = settings['dev_vm_cpu'] |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 29 | end |
| 30 | d.vm.provider :libvirt do |v, override| |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 31 | v.memory = settings['dev_vm_mem'] |
| 32 | v.cpus = settings['dev_vm_cpu'] |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 33 | override.vm.synced_folder $cordpath, settings['build_cord_dir'], type: "nfs" |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 34 | end |
| 35 | end |
| 36 | |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 37 | config.vm.define "head1" do |d| |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 38 | d.vm.box = "ubuntu/trusty64" |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 39 | d.vm.hostname = "head1" |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 40 | d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '*' |
| 41 | d.vm.network "private_network", ip: "10.100.198.201" |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 42 | d.vm.synced_folder $cordpath, $ciab_dir |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 43 | d.vm.network "private_network", |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 44 | ip: "0.0.0.0", # not used, ignore |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 45 | auto_config: false, |
Zack Williams | 0a7ef16 | 2017-07-18 18:15:26 -0700 | [diff] [blame] | 46 | virtualbox__intnet: settings['vm_management_network_name'], |
| 47 | libvirt__network_name: settings['vm_management_network_name'], |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 48 | libvirt__forward_mode: "none", |
| 49 | libvirt__dhcp_enabled: false |
Andy Bavier | b36b84e | 2017-08-10 14:46:32 -0700 | [diff] [blame] | 50 | d.vm.network "public_network", |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 51 | mac: "02420a060101", |
| 52 | auto_config: false, |
Andy Bavier | b36b84e | 2017-08-10 14:46:32 -0700 | [diff] [blame] | 53 | type: "bridge", |
| 54 | dev: "leaf1", |
| 55 | ovs: true |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 56 | d.vm.provider :virtualbox do |v| |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 57 | v.memory = settings['head_vm_mem'] |
| 58 | v.cpus = settings['head_vm_cpu'] |
| 59 | end |
| 60 | d.vm.provision :ansible do |ansible| |
| 61 | ansible.playbook = $cordpath + "/build/ansible/head-net.yml" |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 62 | end |
| 63 | d.vm.provider :libvirt do |v, override| |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 64 | v.memory = settings['head_vm_mem'] |
| 65 | v.cpus = settings['head_vm_cpu'] |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 66 | v.storage :file, :size => '100G', :type => 'qcow2' |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 67 | override.vm.provision :ansible do |ansible| |
| 68 | ansible.playbook = $cordpath + "/build/ansible/add-extra-drive.yml" # Needs testing |
| 69 | end |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 70 | end |
| 71 | end |
| 72 | |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 73 | config.vm.define "compute1" do |c| |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 74 | c.vm.communicator = "none" |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 75 | c.vm.hostname = "compute1" |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 76 | c.vm.network "private_network", |
| 77 | adapter: 1, |
| 78 | ip: "0.0.0.0", |
| 79 | auto_config: false, |
Zack Williams | 0a7ef16 | 2017-07-18 18:15:26 -0700 | [diff] [blame] | 80 | virtualbox__intnet: settings['vm_management_network_name'], |
| 81 | libvirt__network_name: settings['vm_management_network_name'] |
Andy Bavier | b36b84e | 2017-08-10 14:46:32 -0700 | [diff] [blame] | 82 | c.vm.network "public_network", |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 83 | adapter: 2, # The fabric interface for each node |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 84 | auto_config: false, |
Andy Bavier | b36b84e | 2017-08-10 14:46:32 -0700 | [diff] [blame] | 85 | type: "bridge", |
| 86 | dev: "leaf1", |
| 87 | ovs: true |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 88 | c.vm.provider :libvirt do |v| |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 89 | v.memory = settings['compute_vm_mem'] |
| 90 | v.cpus = settings['compute_vm_cpu'] |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 91 | v.machine_virtual_size = 100 |
| 92 | v.storage :file, :size => '100G', :type => 'qcow2' |
| 93 | v.boot 'network' |
| 94 | v.boot 'hd' |
| 95 | v.nested = true |
| 96 | end |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 97 | c.vm.provider :virtualbox do |v, override| |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 98 | override.vm.box = "clink15/pxe" |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 99 | v.memory = settings['compute_vm_mem'] |
| 100 | v.cpus = settings['compute_vm_cpu'] |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 101 | v.gui = "true" |
| 102 | end |
| 103 | end |
| 104 | |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 105 | config.vm.define "compute2" do |c| |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 106 | c.vm.communicator = "none" |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 107 | c.vm.hostname = "compute2" |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 108 | c.vm.network "private_network", |
| 109 | adapter: 1, |
| 110 | ip: "0.0.0.0", |
| 111 | auto_config: false, |
Zack Williams | 0a7ef16 | 2017-07-18 18:15:26 -0700 | [diff] [blame] | 112 | virtualbox__intnet: settings['vm_management_network_name'], |
| 113 | libvirt__network_name: settings['vm_management_network_name'] |
Andy Bavier | b36b84e | 2017-08-10 14:46:32 -0700 | [diff] [blame] | 114 | c.vm.network "public_network", |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 115 | adapter: 2, # The fabric interface for each node |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 116 | auto_config: false, |
Andy Bavier | b36b84e | 2017-08-10 14:46:32 -0700 | [diff] [blame] | 117 | type: "bridge", |
| 118 | dev: "leaf2", |
| 119 | ovs: true |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 120 | c.vm.provider :libvirt do |v| |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 121 | v.memory = settings['compute_vm_mem'] |
| 122 | v.cpus = settings['compute_vm_cpu'] |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 123 | v.machine_virtual_size = 100 |
| 124 | v.storage :file, :size => '100G', :type => 'qcow2' |
| 125 | v.boot 'network' |
| 126 | v.boot 'hd' |
| 127 | v.nested = true |
| 128 | end |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 129 | c.vm.provider :virtualbox do |v, override| |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 130 | override.vm.box = "clink15/pxe" |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 131 | v.memory = settings['compute_vm_mem'] |
| 132 | v.cpus = settings['compute_vm_cpu'] |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 133 | v.gui = "true" |
| 134 | end |
| 135 | end |
| 136 | |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 137 | config.vm.define "compute3" do |c| |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 138 | c.vm.communicator = "none" |
Andy Bavier | 35d238e | 2017-07-24 16:47:22 -0700 | [diff] [blame] | 139 | c.vm.hostname = "compute3" |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 140 | c.vm.network "private_network", |
| 141 | adapter: 1, |
| 142 | ip: "0.0.0.0", |
| 143 | auto_config: false, |
Zack Williams | 0a7ef16 | 2017-07-18 18:15:26 -0700 | [diff] [blame] | 144 | virtualbox__intnet: settings['vm_management_network_name'], |
| 145 | libvirt__network_name: settings['vm_management_network_name'] |
Andy Bavier | b36b84e | 2017-08-10 14:46:32 -0700 | [diff] [blame] | 146 | c.vm.network "public_network", |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 147 | adapter: 2, # The fabric interface for each node |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 148 | auto_config: false, |
Andy Bavier | b36b84e | 2017-08-10 14:46:32 -0700 | [diff] [blame] | 149 | type: "bridge", |
| 150 | dev: "leaf2", |
| 151 | ovs: true |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 152 | c.vm.provider :libvirt do |v| |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 153 | v.memory = settings['compute_vm_mem'] |
| 154 | v.cpus = settings['compute_vm_cpu'] |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 155 | v.machine_virtual_size = 100 |
| 156 | v.storage :file, :size => '100G', :type => 'qcow2' |
| 157 | v.boot 'network' |
| 158 | v.boot 'hd' |
| 159 | v.nested = true |
| 160 | end |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 161 | c.vm.provider :virtualbox do |v, override| |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 162 | override.vm.box = "clink15/pxe" |
Andy Bavier | b0b5a14 | 2017-07-17 17:32:55 -0700 | [diff] [blame] | 163 | v.memory = settings['compute_vm_mem'] |
| 164 | v.cpus = settings['compute_vm_cpu'] |
Zack Williams | ce63eb0 | 2017-02-28 10:46:22 -0700 | [diff] [blame] | 165 | v.gui = "true" |
| 166 | end |
| 167 | end |
| 168 | |
| 169 | end |
| 170 | |