6356c05194
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
97 lines
2.8 KiB
ReStructuredText
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'
|