Running CSIT locally in Vagrant

Install prerequisites

Run all commands from command line.

  1. Download and install latest virtualbox from official page. To verify the installation, run VBoxManage:

    • on windows:

      "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" --version
    • on nix:

      VBoxManage --version

    You should see virtualbox manager version printed, eg: 6.1.12r139181

  2. Download and install latest vagrant from official page. To verify the installtion, run:

    vagrant -v

    You should see vagrant version printed, eg: Vagrant 2.2.9

  3. Install vagrant plugins:

    vagrant plugin install vagrant-vbguest
    vagrant plugin install vagrant-cachier

    If you are behind a proxy, install proxyconf plugin and update proxy settings in Vagrantfile:

    vagrant plugin install vagrant-proxyconf

Set up and run Vagrant virtualbox

Before running following commands change working directory to Vagrant specific directory (from within root CSIT directory)

cd resources/libraries/tools/vagrant

This allows Vagrant to automatically find Vagrantfile and corresponding Vagrant environment.

Start the provisioning:

vagrant up --provider virtualbox

Your new VPP Device virtualbox machine will be created and configured. Master branch of csit project will be cloned inside virtual machine into

/home/vagrant/csit folder.

Once the process is finished, you can login to the box using:

vagrant ssh

In case you need to completely rebuild the box and start from scratch, run these commands:

vagrant destroy -f
vagrant up --provider virtualbox

Run tests

From within the box run the tests using:

cd /home/vagrant/csit/resources/libraries/bash/entry
./bootstrap_vpp_device.sh csit-vpp-device-master-ubuntu1804-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"

# now it will run tests, selected based on tags
./bootstrap_vpp_device.sh csit-vpp-device-master-ubuntu1804-1n-vbox