1a04c6abf1
there are a number of requirements listed in requirements.txt that can be dropped or moved around, especially since bifrost begins to support installing/operating ironic on a remote host: - six - not used directly. Is listed as dependency for os_ironic_facts module, but so is shade which requires it anyway. - Jinja2 - not used directly, is a dependency for Ansible - Babel - not used directly as no strings use i18n in bifrost inventory, and even when they begin to, this should be done through oslo.i18n instead. It is also pulled in as oslo.log->oslo.i18n->Babel dependency anyway. - PyMySQL - not used by bifrost inventory itself, is installed as part of bifrost-ironic-install role. - pycrypto - not used by bifrost itself, but will be installed as Ansible dependency - PyYAML - although used by bifrost inventory, in real usage we should better rely on Ansible's dependency on PyYAML for that and use whatever version Ansible developers declare as required. Moved to test-requirements for running tests without installing Ansible. Change-Id: I8021ec10f82b17590dd86780da6e27589fdea1ba |
||
---|---|---|
bifrost | ||
doc/source | ||
playbooks | ||
releasenotes | ||
scripts | ||
tools | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
babel.cfg | ||
CONTRIBUTING.rst | ||
env-vars | ||
HACKING.rst | ||
LICENSE | ||
openstack-common.conf | ||
README.rst | ||
README.vagrant.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini | ||
troubleshooting.rst |
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.network
public_network
value to a valid network interface to allow Bare Metal connectivity - Change
public_key
to correct key name - Change
network_interface
to 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
.