Ansible roles and playbooks to enable a standalone Ironic install
Go to file
Pavlo Shchelokovskyy 1a04c6abf1 Cleanup python requirements
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
2017-02-09 14:14:17 +02:00
bifrost Don't assume 'dhcp' if node_network_data set 2017-01-13 16:17:05 +00:00
doc/source Remove link to modindex 2017-02-02 17:00:39 +05:30
playbooks Merge "Correct closing brace causing install failure" 2017-02-08 16:10:54 +00:00
releasenotes Merge "Allow to create cloud.yaml with many clouds" 2017-02-02 21:32:43 +00:00
scripts scripts: test-bifrost.sh: Use 'unsafe' disk cache for test VMs 2017-02-01 14:43:51 +00:00
tools Add instructions to setup ip on provisiong on virsh 2016-11-08 17:09:26 +01: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 Allow deploy-dynamic on remote host 2017-02-07 19:07:56 +00:00
README.vagrant.rst Typo fix: enviroment => environment 2017-01-23 13:19:11 +07:00
requirements.txt Cleanup python requirements 2017-02-09 14:14:17 +02: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 Cleanup python requirements 2017-02-09 14:14:17 +02:00
tox.ini Merge "Remove support for py34" 2017-02-08 12:52:23 +00:00
troubleshooting.rst TrivialFix: Fix typo in the RST file 2016-09-30 10:41:43 +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 environment variable. All other dependencies will still continue to cloned under /opt/stack.