diff options
author | Yuya Kusakabe <yuya.kusakabe@gmail.com> | 2017-01-25 11:44:03 +0900 |
---|---|---|
committer | Yuya Kusakabe <yuya.kusakabe@gmail.com> | 2017-01-25 11:44:03 +0900 |
commit | f96533ad763bfc35b4bf900bf77b382dd5a110ef (patch) | |
tree | 80dffd46a2e179089faf31629f64c2f871e86fa2 /Vagrantfile | |
parent | c4d05c44e50a7ce29a721231073105791e5924b9 (diff) | |
download | vyos-integration-test-f96533ad763bfc35b4bf900bf77b382dd5a110ef.tar.gz vyos-integration-test-f96533ad763bfc35b4bf900bf77b382dd5a110ef.zip |
Use synbolic link for Vagrantfile
Diffstat (limited to 'Vagrantfile')
-rw-r--r-- | Vagrantfile | 44 |
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 |