| # -*- mode: ruby -*- |
| # vi: set ft=ruby : |
| |
| require 'yaml' |
| settings = YAML.load_file('genconfig/config.yml') |
| |
| $cordpath = "../../.." |
| $ciab_dir = "/opt/ciab" |
| |
| Vagrant.configure(2) do |config| |
| |
| config.vm.synced_folder '.', '/vagrant', disabled: true |
| |
| config.vm.define "corddev" do |d| |
| d.ssh.forward_agent = true |
| d.vm.box = "ubuntu/trusty64" |
| d.vm.hostname = "corddev" |
| d.vm.network "private_network", ip: "10.100.198.200" |
| d.vm.synced_folder settings['host_cord_profile_dir'], settings['build_cord_profile_dir'], create: true |
| d.vm.provision :hosts do |provisioner| |
| provisioner.autoconfigure = true |
| provisioner.sync_hosts = true |
| provisioner.add_host '10.100.198.201', ['docker-registry'] |
| end |
| d.vm.synced_folder $cordpath, settings['build_cord_dir'] |
| d.vm.provider :virtualbox do |v| |
| v.memory = settings['dev_vm_mem'] |
| v.cpus = settings['dev_vm_cpu'] |
| end |
| d.vm.provider :libvirt do |v, override| |
| v.memory = settings['dev_vm_mem'] |
| v.cpus = settings['dev_vm_cpu'] |
| override.vm.synced_folder $cordpath, settings['build_cord_dir'], type: "nfs" |
| end |
| end |
| |
| config.vm.define "head1" do |d| |
| d.vm.box = "ubuntu/trusty64" |
| d.vm.hostname = "head1" |
| d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '*' |
| d.vm.network "private_network", ip: "10.100.198.201" |
| d.vm.synced_folder $cordpath, $ciab_dir |
| d.vm.network "private_network", |
| ip: "0.0.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 |
| d.vm.network "public_network", |
| mac: "02420a060101", |
| auto_config: false, |
| type: "bridge", |
| dev: "leaf1", |
| ovs: true |
| d.vm.provider :virtualbox do |v| |
| v.memory = settings['head_vm_mem'] |
| v.cpus = settings['head_vm_cpu'] |
| end |
| d.vm.provision :ansible do |ansible| |
| ansible.playbook = $cordpath + "/build/ansible/head-net.yml" |
| end |
| d.vm.provider :libvirt do |v, override| |
| v.memory = settings['head_vm_mem'] |
| v.cpus = settings['head_vm_cpu'] |
| v.storage :file, :size => '100G', :type => 'qcow2' |
| override.vm.provision :ansible do |ansible| |
| ansible.playbook = $cordpath + "/build/ansible/add-extra-drive.yml" # Needs testing |
| end |
| end |
| end |
| |
| config.vm.define "compute1" do |c| |
| c.vm.communicator = "none" |
| c.vm.hostname = "compute1" |
| c.vm.network "private_network", |
| adapter: 1, |
| ip: "0.0.0.0", |
| auto_config: false, |
| virtualbox__intnet: settings['vm_management_network_name'], |
| libvirt__network_name: settings['vm_management_network_name'] |
| c.vm.network "public_network", |
| adapter: 2, # The fabric interface for each node |
| auto_config: false, |
| type: "bridge", |
| dev: "leaf1", |
| ovs: true |
| c.vm.provider :libvirt do |v| |
| v.memory = settings['compute_vm_mem'] |
| v.cpus = settings['compute_vm_cpu'] |
| v.machine_virtual_size = 100 |
| v.storage :file, :size => '100G', :type => 'qcow2' |
| v.boot 'network' |
| v.boot 'hd' |
| v.nested = true |
| end |
| c.vm.provider :virtualbox do |v, override| |
| override.vm.box = "clink15/pxe" |
| v.memory = settings['compute_vm_mem'] |
| v.cpus = settings['compute_vm_cpu'] |
| v.gui = "true" |
| end |
| end |
| |
| config.vm.define "compute2" do |c| |
| c.vm.communicator = "none" |
| c.vm.hostname = "compute2" |
| c.vm.network "private_network", |
| adapter: 1, |
| ip: "0.0.0.0", |
| auto_config: false, |
| virtualbox__intnet: settings['vm_management_network_name'], |
| libvirt__network_name: settings['vm_management_network_name'] |
| c.vm.network "public_network", |
| adapter: 2, # The fabric interface for each node |
| auto_config: false, |
| type: "bridge", |
| dev: "leaf2", |
| ovs: true |
| c.vm.provider :libvirt do |v| |
| v.memory = settings['compute_vm_mem'] |
| v.cpus = settings['compute_vm_cpu'] |
| v.machine_virtual_size = 100 |
| v.storage :file, :size => '100G', :type => 'qcow2' |
| v.boot 'network' |
| v.boot 'hd' |
| v.nested = true |
| end |
| c.vm.provider :virtualbox do |v, override| |
| override.vm.box = "clink15/pxe" |
| v.memory = settings['compute_vm_mem'] |
| v.cpus = settings['compute_vm_cpu'] |
| v.gui = "true" |
| end |
| end |
| |
| config.vm.define "compute3" do |c| |
| c.vm.communicator = "none" |
| c.vm.hostname = "compute3" |
| c.vm.network "private_network", |
| adapter: 1, |
| ip: "0.0.0.0", |
| auto_config: false, |
| virtualbox__intnet: settings['vm_management_network_name'], |
| libvirt__network_name: settings['vm_management_network_name'] |
| c.vm.network "public_network", |
| adapter: 2, # The fabric interface for each node |
| auto_config: false, |
| type: "bridge", |
| dev: "leaf2", |
| ovs: true |
| c.vm.provider :libvirt do |v| |
| v.memory = settings['compute_vm_mem'] |
| v.cpus = settings['compute_vm_cpu'] |
| v.machine_virtual_size = 100 |
| v.storage :file, :size => '100G', :type => 'qcow2' |
| v.boot 'network' |
| v.boot 'hd' |
| v.nested = true |
| end |
| c.vm.provider :virtualbox do |v, override| |
| override.vm.box = "clink15/pxe" |
| v.memory = settings['compute_vm_mem'] |
| v.cpus = settings['compute_vm_cpu'] |
| v.gui = "true" |
| end |
| end |
| |
| end |
| |