aboutsummaryrefslogtreecommitdiffstats
path: root/csit.infra.vagrant/Vagrantfile
diff options
context:
space:
mode:
Diffstat (limited to 'csit.infra.vagrant/Vagrantfile')
-rw-r--r--csit.infra.vagrant/Vagrantfile85
1 files changed, 85 insertions, 0 deletions
diff --git a/csit.infra.vagrant/Vagrantfile b/csit.infra.vagrant/Vagrantfile
new file mode 100644
index 0000000000..4088ece555
--- /dev/null
+++ b/csit.infra.vagrant/Vagrantfile
@@ -0,0 +1,85 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+Vagrant.configure("2") do |config|
+
+ # Configure cached packages to be shared between instances of the
+ # same base box.
+ if Vagrant.has_plugin?("vagrant-cachier")
+ config.cache.scope = :box
+ end
+
+ # Configure proxy if needed.
+ if Vagrant.has_plugin?("vagrant-proxyconf")
+ config.proxy.http = "http://192.168.0.2:3128/"
+ config.proxy.https = "http://192.168.0.2:3128/"
+ config.proxy.ftp = "http://192.168.0.2:3128/"
+ config.proxy.no_proxy = "localhost,127.0.0.1"
+ end
+
+ # Configure testing network interfaces (tg).
+ config.vm.network :private_network, type: "dhcp", auto_config: false, virtualbox__intnet: "link1", nic_type: "82545em", mac: "0800270fe04d"
+ config.vm.network :private_network, type: "dhcp", auto_config: false, virtualbox__intnet: "link2", nic_type: "82545em", mac: "08002761f7ad"
+ config.vm.network :private_network, type: "dhcp", auto_config: false, virtualbox__intnet: "link3", nic_type: "82545em", mac: "080027dc5da4"
+
+ # Configure testing network interfaces (sut).
+ config.vm.network :private_network, type: "dhcp", auto_config: false, virtualbox__intnet: "link1", nic_type: "82545em", mac: "080027385e58"
+ config.vm.network :private_network, type: "dhcp", auto_config: false, virtualbox__intnet: "link2", nic_type: "82545em", mac: "080027e3f542"
+ config.vm.network :private_network, type: "dhcp", auto_config: false, virtualbox__intnet: "link3", nic_type: "82545em", mac: "0800274f7c63"
+
+ # Provision the box using ansible local (no Ansible installation needed
+ # on host).
+ config.vm.provision "ansible_local" do |ansible|
+ ansible.version = "latest"
+ ansible.compatibility_mode = "2.0"
+ ansible.become = true
+ ansible.verbose = false
+ ansible.limit = "vagrant"
+ ansible.inventory_path = "../fdio.infra.ansible/inventories/vagrant/hosts"
+ ansible.playbook = "../fdio.infra.ansible/site.yml"
+ end
+
+ config.vm.post_up_message = <<-MESSAGE
+ Your virtual machine is configured!
+
+ Login to the box using command:
+ vagrant ssh
+
+ To run some tests use the VPP Device bootstrap script, eg:
+ cd /home/vagrant/csit/resources/libraries/bash/entry
+ ./bootstrap_vpp_device.sh csit-vpp-device-master-ubuntu2004-1n-vbox
+
+ To run only selected tests based on TAGS, export environment variables
+ before running the test suite:
+ export GERRIT_EVENT_TYPE="comment-added"
+ export GERRIT_EVENT_COMMENT_TEXT="devicetest memif"
+ ./bootstrap_vpp_device.sh csit-vpp-device-master-ubuntu2004-1n-vbox
+
+ For more information please visit:
+ https://docs.fd.io/csit/master/report/
+ https://docs.fd.io/csit/master/trending/
+
+ MESSAGE
+
+ config.vm.define "focal", primary: true do |bionic|
+ # Base box definition, currently using
+ # Official Ubuntu 20.04 LTS (Focal) Daily Build
+ bionic.vm.box = "ubuntu/focal64"
+ bionic.vm.box_version = "v20210407.0.0"
+ bionic.vm.box_check_update = false
+
+ # Virtualbox machine configuration
+ bionic.vm.provider "virtualbox" do |vb|
+ vb.name = "vppdevice-focal"
+ vb.gui = false
+ vb.memory = "8192"
+ vb.cpus = "4"
+ vb.customize ["modifyvm", :id, "--nicpromisc2", "allow-all"]
+ vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"]
+ vb.customize ["modifyvm", :id, "--nicpromisc4", "allow-all"]
+ vb.customize ["modifyvm", :id, "--nicpromisc5", "allow-all"]
+ vb.customize ["modifyvm", :id, "--nicpromisc6", "allow-all"]
+ vb.customize ["modifyvm", :id, "--nicpromisc7", "allow-all"]
+ end
+ end
+end