Ansible roles and playbooks to enable a standalone Ironic install
Go to file
Markos Chandras 87a32c6311 Serialize localhost actions during final host deployment
Several tasks in the final playbooks run locally and there is a chance
to encounter race conditions when multiple tasks run in parallel and
all of them access or modify the same local files. We fix this by
splitting the final steps into multiple plays and serializing those
that run locally. Finally, the 'serial' keyword can only be used for
an entire play and not just for a subset of its tasks provided by a
role so previously that keyword did not have any effect.

Change-Id: Ib0a55dcd4b02e070a6be72207f0b99e8138e0e12
2016-10-04 09:45:10 +01:00
bifrost Fix some spelling mistakes 2016-08-04 05:18:22 +00:00
doc/source [Trivial] Remove executable privilege of doc/source/conf.py 2016-04-29 21:19:33 +08:00
playbooks Serialize localhost actions during final host deployment 2016-10-04 09:45:10 +01:00
releasenotes Update reno for Newton 2016-09-22 11:19:15 -04:00
scripts Refactor env-setup.sh 2016-09-21 17:32:52 +00:00
tools Change Vagrant VM to mirror memory/cpu in CI 2016-08-15 20:38:38 +00:00
.gitignore Ignore Ansible retry files in .gitignore 2016-09-23 10:25:40 +01:00
.gitreview Add .gitreview file 2015-05-25 13:52:46 +00:00
.mailmap Add cookiecutter-generated files for project 2015-06-10 08:40:19 -07:00
.testr.conf Add the rest of the cookiecutter-generated files for testing 2015-06-24 16:09:08 -07:00
babel.cfg Add cookiecutter-generated files for project 2015-06-10 08:40:19 -07:00
CONTRIBUTING.rst Update CONTRIBUTING.rst to cover conditionals 2015-12-22 15:33:08 -05:00
env-vars Set OS_AUTH_TOKEN to dummy string, instead of empty space 2016-08-15 12:21:53 +00:00
HACKING.rst Fix HACKING.rst and canary test for merges 2015-09-08 21:49:02 +00:00
LICENSE Adding LICENSE file 2015-04-16 15:58:23 -04:00
openstack-common.conf Add cookiecutter-generated files for project 2015-06-10 08:40:19 -07:00
README.rst Explain how to pronounce Bifrost 2016-09-16 07:22:52 -07:00
README.vagrant.rst Make ansible installation directory configurable 2016-06-06 13:24:46 -07:00
requirements.txt Updated from global requirements 2016-09-30 19:57:18 +00:00
setup.cfg Update home page link in cfg file 2016-09-20 14:25:34 +05:30
setup.py Sync from global requirements 2016-01-22 11:39:17 -05:00
test-requirements.txt Updated from global requirements 2016-09-30 19:57:18 +00:00
tox.ini Use upper-constraints for all tox targets 2016-08-19 08:49:21 -04:00
troubleshooting.rst Update IPA info in troubleshooting.rst 2016-08-30 09:41:57 -07:00

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 enviroment variable. All other dependencies will still continue to cloned under /opt/stack.