diff options
Diffstat (limited to 'csit.infra.vagrant/Vagrantfile')
-rw-r--r-- | csit.infra.vagrant/Vagrantfile | 85 |
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 |