- on Ubuntu Xenial, `python-virtualenv` package no longer installs
`virtualenv` shell script.
Change all `virtualenv` invocations to 'python -m virtualenv',
which is more portable.
- in `pip_install.yml`, add `virtualenv_command` argument using
the same portable invocation.
- in `install-deps.sh`, the condition to install `python-virtualenv`
was missing the `not` part
- the venv is created with `sudo` elevation in `install-deps.sh`,
thus in `env-setup.sh` Ansible must be installed into venv
using `sudo` elevation as well.
- in `install.yml`, fix passing `bifrost_venv_dir` var to `pip_install.yml`
Change-Id: Ifaa54a0dc97ed59ca8360e62878b603a04105e46
Vagrant support for developers
Bifrost vagrant file for developers can be found in the
tools/vagrant_dev_env directory. Running
vagrant up from within this folder will bring up an Ubuntu
Trusty box with Bifrost installed.
By default, the VM will have three interfaces:
- eth0 - connected to a NAT network
- eth1 - connected to Host-only network named: vboxnet1
- eth2 - bridged - adapter must be set in Vagrantfile
Walkthrough done on OS X
Setup vagrant by:
- Installing git
- Installing virtualbox
- Installing vagrant
- Installing ansible
Configure Vagrant with the correct box:
vagrant box add ubuntu/trusty64
Clone bifrost repo:
git clone https://github.com/openstack/bifrost.git
Change into the bifrost directory:
cd bifrost/tools/vagrant_dev_env
Edit the Vagrantfile:
- Change the
bifrost.vm.networkpublic_networkvalue to a valid network interface to allow Bare Metal connectivity - Change
public_keyto correct key name - Change
network_interfaceto match your needs
Boot the VM with:
vagrant up
Installation Options
Ansible is installed within the VM directly from source or from the
path set by ANSIBLE_GIT_URL. You can modify the path of
installation by setting ANSIBLE_INSTALL_ROOT environment
variable. The default value is /opt/stack. When set in the
host, this variable will also be set as an environment variable inside
the VM for use by test scripts.
Note:
Only the ansible installation path is configurable at this point using the environment variable. All other dependencies will still continue to cloned under
/opt/stack.