collectd-openstack-plugins/doc/source/vagrant.rst
Federico Ressi 6356c05194 Provide Vagrant configuration file.
The Vagrantfile creates a basic up-to-date VirtualBox image
with Ubuntu Server 16.04 LTS and all dependencies required
to run Tox and DevStack.

Provided Vagrantfile requires Vagrant, Virtual Box. A fast
internet connection it is recommended.

If environment variables like http_proxy, https_proxy and no_proxy
it will assume a proxy connection is required to download
archives from upload repositories. In such cases
Vagrant plugin vagrant-proxyconf is required to provide proxy
enviroment to provided virtual machine.

Closes-Bug: #1606338
Change-Id: I5fc5060d78276ec5b801118d8d6873f0071ecad9
2016-10-13 18:42:27 +00:00

2.8 KiB

Vagrant

This project is distributed with a Vagrantfile intended to be used by developers to run functional tests on a Linux virtual machine.

The software provided by the appliance are: - Ubuntu Server 16.04 LTS appliance running inside Virtual Box - The collectd provided by Ubuntu - Python 2.7 and 3.4 provided by Ubuntu - This plugin - Project dependencies provided by PIP as specified by project requirements

To use Vagrant to test this plugin you have to install following software up to date software on your host machine: - Vagrant - VirtualBox 5

Vagrant

Documentation to install Vagrant can be found on there website at

https://www.vagrantup.com/docs/installation/

A recent version of Vagrant is required to utilize the vagrant file provided by this repo. If you have an older version already installed please upgrade by following the documentation at

https://www.vagrantup.com/docs/installation/upgrading.html

Virtual Box

Virtual Box version greater than 5 should works fine.

Many Linux distributions should provide a valid version of VirtualBox.

The Virtual Box web site hosts some documentation and links to help you downloading and installing Virtual Box on your machine. Please see it there:

https://www.virtualbox.org/wiki/Downloads

Proxy configuration

If you are working beside a proxy server then you have to install vagrant-proxyconf plugin:

vagrant plugin install vagrant-proxyconf

You can have more details about the plugin on below site:

https://github.com/tmatilai/vagrant-proxyconf

To use it, before creating target appliance, you have to configure standard enviroment variable on your host machine like below:

export http_proxy=http://<some_proxy_server>:<some_port>/
export https_proxy=$https_proxy
export no_proxy=localhost,$(hostname)

Create and use the appliance

Once all required software is installed and configured you can create and launch the appliance as follows (it can take several minutes) from the project folder:

vagrant up

Once the appliance is running connect to the running VM you can type following:

vagrant ssh

During the provisioning process collectd and ceilometer are going to be installed and launched using devstack. To force updating the project and restacking it again please use one of the following commands:

# when the machine is down and I want to take it up, update the software
# and start all services (including collectd and ceilometer)
vagrant up --provision

# when the machine is running and I want to take reboot it, update the
# software and re-start all services (including collectd and ceilometer)
vagrant reload --provision

To launch unit tests inside the appliance you can type following:

vagrant ssh -c 'cd /vagrant && tox'