Ansible roles and playbooks to enable a standalone Ironic install
Go to file
Markos Chandras adc20dc59d bindep.txt: Add explicit and missing dependencies
bindep does not understand rpm capabilities yet so the package names
in bindep.txt must match the exact package names. As such, we make them
a bit more explicit to avoid problems like this:

2017-06-23 08:33:01.971410 | ++ /usr/bindep-env/bin/bindep -b -f bindep.txt test
2017-06-23 08:33:02.417209 | + sudo PATH=/usr/sbin:/sbin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/bin:/usr/games zypper --non-interactive install libffi-devel mariadb-server
2017-06-23 08:33:02.520362 | Loading repository data...
2017-06-23 08:33:02.646234 | Reading installed packages...
2017-06-23 08:33:02.942119 | 'libffi-devel' not found in package names. Trying capabilities.
2017-06-23 08:33:02.942198 | 'libffi-devel-gcc5' providing 'libffi-devel' is already installed.
2017-06-23 08:33:02.942221 | 'mariadb-server' not found in package names. Trying capabilities.
2017-06-23 08:33:02.942241 | 'mariadb' providing 'mariadb-server' is already installed.
2017-06-23 08:33:02.942256 | Resolving package dependencies...
[...]
2017-06-23 08:33:03.027481 | + /usr/bindep-env/bin/bindep -b -f bindep.txt test
2017-06-23 08:33:03.482616 | libffi-devel
2017-06-23 08:33:03.482673 | mariadb-server
2017-06-23 08:33:03.504533 | + '[' 3 -gt 2 ']'
2017-06-23 08:33:03.504580 | + set +x
2017-06-23 08:33:03.985539 |
2017-06-23 08:33:03.985622 | ERROR: These requested packages were not installed:
2017-06-23 08:33:03.985633 |
2017-06-23 08:33:03.985644 | libffi-devel
2017-06-23 08:33:03.985655 | mariadb-server

libffi-devel and mariadb-server are capabilities in openSUSE Leap 42.2
but bindep does not realize that the respective packages are already
installed.

Furthermore, when running in OpenStack CI, the scripts/test-bifrost.sh script
performs a DB setup. However, that fails since the mariadb packages
are not installed in time resulting to the following failures:

2017-06-23 08:14:50.227095 | + sudo service mysql start
2017-06-23 08:14:50.247996 | Redirecting to /bin/systemctl start  mysql.service
2017-06-23 08:14:50.258852 | Failed to start mysql.service: Unit not found.
2017-06-23 08:14:50.260464 | + sudo service mysqld start
2017-06-23 08:14:50.276637 | Redirecting to /bin/systemctl start  mysqld.service
2017-06-23 08:14:50.281428 | Failed to start mysqld.service: Unit not found.
2017-06-23 08:14:50.282917 | + sudo service mariadb start
2017-06-23 08:14:50.298320 | Redirecting to /bin/systemctl start  mariadb.service
2017-06-23 08:14:50.301860 | Failed to start mariadb.service: Unit not found.
2017-06-23 08:14:50.303234 | [Zuul] Task exit code: 5

Change-Id: I6e171cf057ccd68bfdcd672df61fa3e55094db19
2017-06-23 11:50:23 +01:00
bifrost inventory: Add support for defining custom host groups 2017-05-02 23:14:52 +01:00
doc/source Allow looking constraints file from env var 2017-04-03 10:14:37 +02:00
playbooks Provide default for test-bifrost.yaml for clouds.yaml 2017-06-06 12:33:35 +00:00
releasenotes Add bindep.txt file 2017-06-19 22:12:37 +01:00
scripts Merge "scripts: test-bifrost: Start MySQL service before configuring the DB" 2017-06-22 15:40:12 +00:00
tools Add instructions to setup ip on provisiong on virsh 2016-11-08 17:09:26 +01:00
.gitignore Always install Ansible with pip 2017-02-13 13:10:54 +02: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
CONTRIBUTING.rst Update CONTRIBUTING.rst to cover conditionals 2015-12-22 15:33:08 -05: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
MISSION.rst Add a basic mission statement 2017-05-03 18:20:18 +00:00
README.rst Fix README.rst 2017-03-06 10:50:54 +00:00
README.vagrant.rst Typo fix: enviroment => environment 2017-01-23 13:19:11 +07:00
babel.cfg Add cookiecutter-generated files for project 2015-06-10 08:40:19 -07:00
bindep.txt bindep.txt: Add explicit and missing dependencies 2017-06-23 11:50:23 +01:00
env-vars Set OS_AUTH_TOKEN to dummy string, instead of empty space 2016-08-15 12:21:53 +00:00
requirements.txt Updated from global requirements 2017-06-15 16:21:14 +00:00
setup.cfg Update home page link in cfg file 2016-09-20 14:25:34 +05:30
setup.py Updated from global requirements 2017-03-02 23:53:04 +00:00
test-requirements.txt Updated from global requirements 2017-06-02 21:53:36 +00:00
tox.ini Pass located tests directory in oslo debug 2017-03-13 11:01:49 +00:00
troubleshooting.rst TrivialFix: Fix typo in the RST file 2016-09-30 10:41:43 +07:00

README.vagrant.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.