diff options
Diffstat (limited to 'spec/bgp4/Vagrantfile')
-rw-r--r-- | spec/bgp4/Vagrantfile | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/bgp4/Vagrantfile b/spec/bgp4/Vagrantfile new file mode 100644 index 0000000..a218807 --- /dev/null +++ b/spec/bgp4/Vagrantfile @@ -0,0 +1,36 @@ +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 + if !configs[host].nil? && configs[host].key?(:networks) + configs[host][:networks].keys.each do |net| + c.vm.network :private_network, + ip: configs[host][:networks][net], + libvirt__network_name: net, + libvirt__dhcp_enabled: false + end + end + c.vm.provision 'shell', path: "#{host}_script.sh" + end + end +end |