Pavlo Shchelokovskyy f888748d4e Use Ansible to create test VMs
this patch moves logic for preparing libvirt environment
and creating test VMs out of bash script to Ansible tasks
using virt_* modules available since Ansible 2.0.

The only virsh command left is volume creation as Ansible still
lacks modules for libvirt volume management.

As a consequence, many variables hidden in the bash script are now
explicitly defined in defaults of 'bifrost-create-vm-nodes' role and can
be redefined by standard Ansible means.

Although the libvirt connection string can be redefined too,
it was not tested with any other than default value (local qemu connection).

Change-Id: Idaca6b5f502e0e2391af92651f30ab9dcd2fbb3b
Related-Bug: #1659876
2017-03-06 17:06:30 +02:00
2017-03-02 18:55:41 +00:00
2017-03-06 17:06:30 +02:00
2017-02-13 13:10:54 +02:00
2017-03-06 10:50:54 +00:00
2017-03-02 23:53:04 +00: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.

Description
Ansible roles and playbooks to enable a standalone Ironic install
Readme 27 MiB
Languages
Python 55.4%
Jinja 27%
Shell 17.6%