This page aims to provide a step by step guide to replicate experiment #1 shown in this page.
The guide will cover setting up an OPNFV target environment capable of executing Tempest.
OPNFV testing environment is achieved by using a handful of open source tools. They are listed in order below in hierarchical order:
The tools above work together to create the OPNFV target system, but they are not dependent on each other. For example, instead of using Foreman you could just use another baremetal provisioner or simply use raw puppet to install OPNFV. Khaleesi contains a playbook/library to interact with Foreman, but is also used to provision other OpenStack clouds (rackspace, etc.) and is capable of using other OpenStack installers. The order below is based on the deploy.sh script running on a baremetal server.
The order of operations for how these tools interact from start to end are as follows:
Vagrant → invokes VirtualBox to build a CentOS VM for Foreman node and a shared filesystem with the host →
Khaleesi → invokes playbook to rebuild Foreman nodes →
Foreman → installs CentOS and Puppet agent to nodes →
Puppet Agent on each node → checks in and applies OPNFV/Genesis →
OPNFV/Genesis → installs/configures OpenStack and ODL using QuickStack, OPM, and ODL modules.
Khaleesi → invokes playbook to install and configure the Tempest Foreman node →
Khaleesi → runs Tempest and provides results
The below diagram presents a brief summary of the various components in the installer and interactions between them.
Click here for more details on tool interactions
It is now recommended you follow the "Automatic Deployment" section below for installation. To replicate an full manual install you should follow all of the steps below. The steps are broken down by instructions per tool, in case you are only interested in using part of the OPNFV install:
Download the Foreman ISO
The ISO is too large to fit on a DVD, use isohybrid and dd to write it to a usb stick:
laptop$ isohybrid arno.2015.1.0.foreman.iso
laptop$ sudo dd if=arno.2015.1.0.foreman.iso of=/dev/sdX bs=4M
laptop$ sync
* important to replace /dev/sdX with the device of your USB stick *
Next boot off of the ISO and run the CentOS installation. The deploy.sh file referenced in the next section Automatic Deployment is installed with the ISO. Continue the OPNFV installation with the Automatic Deployment instructions.
Foreman/QuickStack can now be automatically deployed!
A simple bash script (deploy.sh) will provision out a Foreman/QuickStack VM Server and 4-5 other baremetal nodes in an OpenStack HA + OpenDaylight environment.
deploy.sh:
bootstrap.sh:
Khaleesi (Ansible):
On your JumpHost, clone or download the bgs_vagrant Arno repo:
$ sudo -s # cd /root To download the Arno release # git clone -b v1.0 https://github.com/trozet/bgs_vagrant.git # cd bgs_vagrant Or to use the latest build # git clone https://gerrit.opnfv.org/gerrit/genesis # cd genesis/foreman/ci
Edit opnvf_ksgen_settings.yml → "nodes" section:
For each node, compute, controller1..3: * mac_address - change to mac_address of that node's Admin NIC (1st NIC) * bmc_ip - change to IP of BMC (out-of-band) IP * bmc_mac - same as above, but MAC address * bmc_user - IPMI username * bmc_pass - IPMI password
For each controller node: * private_mac - change to mac_address of node's Private NIC (2nd NIC)
Note: Do not change the domain name of the nodes in opnvf_ksgen_settings.yml. They must be in the opnfv.com domain.
Execute deploy.sh via:
# ./deploy.sh -base_config $PWD/opnfv_ksgen_settings.yml