Assuming that 'vm_name' is 'foobar' then 'vm_name in vbmc_list.stdout' will also match when there is a foobar[a-zA-Z0-9]* host registered so there is a chance for the task to try and delete non-existing hosts as obsereved below: fatal: [127.0.0.1]: FAILED! => {"changed": true, "cmd": ["vbmc", "delete", "jumphost"], "delta": "0:00:00.343033", "end": "2017-03-20 02:10:19.759738", "failed": true, "invocation": {"module_args": {"_raw_params": "vbmc delete jumphost", "_uses_shell": false, "chdir": null, "creates": null, "executable": null, "removes": null, "warn": true}, "module_name": "command"}, "rc": 1, "start": "2017-03-20 02:10:19.416705", "stderr": "No domain with matching name jumphost was found", "stdout": "", "stdout_lines": [], "warnings": []} That happens because a 'jumphost.opnfvlocal' is registered in vbmc but the 'vm_name' for this run is just 'jumphost'. We fix this by using the 'find' method and looking for '{{vm_name}} ' instead. Change-Id: I1675a978489bfd0633eabb30e2227ed7cb70c7ef
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
.