Task #4378
closedCreate Vagrant box for integration tests
100%
Description
Currently, the NFD integration testing code for Vagrant-based environments builds a VM template from scratch every time the testing script is run. A good amount of time is spent installing dependencies on the template via apt-get, such as the Boost libraries. It would be helpful to package a Vagrant box with the dependency libraries already installed and use this in the tests. When the template VM is being set up, a check (apt-get update && apt-get upgrade
) would need to be done for updates to the libraries and any other packages on the system.
Additionally, it would be good to give the template VM, which builds ndn-cxx, NFD, etc., more RAM (up from 2GB) and multiple cores (up from 1) so that integration testing takes less time. The compilation flags would also need to be adjusted (currently they are set to "-j1", which limits the build to one thread).
Updated by Eric Newberry about 7 years ago
- Assignee changed from Eric Newberry to Andrew Marrufo
Updated by Eric Newberry about 7 years ago
Some helpful resources:
https://www.vagrantup.com/docs/virtualbox/boxes.html
https://www.vagrantup.com/docs/boxes/base.html
Updated by Eric Newberry about 7 years ago
- Status changed from New to In Progress
- Assignee set to Eric Newberry
Updated by Eric Newberry over 6 years ago
Once we switch the integration tests over to Ubuntu 16.04 (#4559), we could just utilize the ndn-jenkins/ubuntu1604-amd64 box used for Jenkins. This image could be modified to provide most of the necessary packages, especially the large ones (like boost), upgrading them if they're out of date.
Updated by Eric Newberry over 6 years ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
The latest merged commit (Change 4637) switched Vagrant integration tests over to the ndn-jenkins/ubuntu1604-amd64 Vagrant box. I recently updated this image to include most of the packages installed by the integration test framework (box version 0.2.0). The exceptions are socat and bind9, although I believe the major time bottleneck was installing Boost. The memory and CPU core increase was completed back in November. Therefore, I'm going to go ahead and consider this issue complete.