summaryrefslogtreecommitdiff
path: root/Vagrantfile
diff options
context:
space:
mode:
authorYuya Kusakabe <yuya.kusakabe@gmail.com>2017-01-25 11:44:03 +0900
committerYuya Kusakabe <yuya.kusakabe@gmail.com>2017-01-25 11:44:03 +0900
commitf96533ad763bfc35b4bf900bf77b382dd5a110ef (patch)
tree80dffd46a2e179089faf31629f64c2f871e86fa2 /Vagrantfile
parentc4d05c44e50a7ce29a721231073105791e5924b9 (diff)
downloadvyos-integration-test-f96533ad763bfc35b4bf900bf77b382dd5a110ef.tar.gz
vyos-integration-test-f96533ad763bfc35b4bf900bf77b382dd5a110ef.zip
Use synbolic link for Vagrantfile
Diffstat (limited to 'Vagrantfile')
-rw-r--r--Vagrantfile44
1 files changed, 44 insertions, 0 deletions
diff --git a/Vagrantfile b/Vagrantfile
new file mode 100644
index 0000000..f119ff4
--- /dev/null
+++ b/Vagrantfile
@@ -0,0 +1,44 @@
+require 'erb'
+require 'yaml'
+
+configs = YAML.load_file('config.yaml')
+
+Vagrant.configure('2') do |config|
+ config.vm.provider :libvirt do |libvirt|
+ cpuinfo = File.read('/proc/cpuinfo')
+ if cpuinfo =~ /vmx|svm/
+ libvirt.cpu_mode = 'host-passthrough'
+ else
+ libvirt.driver = 'qemu'
+ libvirt.cpu_mode = 'custom'
+ libvirt.cpu_model = 'Nehalem'
+ libvirt.cpu_feature name: 'vmx', policy: 'force'
+ end
+ end
+ configs.keys.each do |host|
+ config.vm.define host.to_sym do |c|
+ c.vm.box = 'higebu/vyos'
+ c.vm.synced_folder './', '/vagrant',
+ owner: 'vagrant',
+ group: 'vyattacfg',
+ mount_options: ['dmode=775,fmode=775']
+ c.vm.hostname = host
+
+ $script = ''
+ if !configs[host].nil? && configs[host].key?(:networks)
+ configs[host][:networks].keys.each do |net|
+ c.vm.network :private_network,
+ auto_config: false,
+ libvirt__network_name: net,
+ libvirt__dhcp_enabled: false,
+ libvirt__forward_mode: 'veryisolated'
+ end
+ $script = ERB.new(File.read('../interface_script.erb')).result(binding)
+ end
+ if !$script.empty?
+ c.vm.provision 'shell', inline: $script
+ end
+ c.vm.provision 'shell', path: "#{host}_script.sh"
+ end
+ end
+end