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

97 lines
2.8 KiB
ReStructuredText

=======
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'