User Tools

Site Tools


apex:integration_guide

This is an old revision of the document!


Apex Developer Build & Integration Guide

Apex is a set of scripts that execute deployment configuration according to OPNFV standards using RDO Manager. This document will describe the process to integrate with Apex. Integration involves.

To get a good overview of Apex, the terms that describe a deployment and the architecture of what is deployed please review the Installation Instructions.

Apex Installation Instructions

Building Apex

There are a collection of files executed during build that are helpful to understand their purpose. Not all files used in build are listed here.

ci/build.sh A boiler plate entry point for build. This file may become common across all builders and is most likely not necessary to be edited during integration
ci/clean.sh an environment clean up script that deletes libvirt resources and ovs bridges
build/Makefile The entry point into Apex specific processing. It's responsible for orchestrating the build process, RPM build and ISO build
build/instack.sh The main build script. This is where configuration files and disk images are prepared for inclusion in the RPM
build/cache.mk Handles buildign the cache,main take away: what is cached is defined in the top of this file

Apex is built in a few stages:

  • build virtual machine deinitions
  • attach to RDO Project repoisitory
  • download disk images
  • modify downloaded disk images
  • build RPM with configuration, scripts and disk images
  • build centos iso for offline deployment

Building Apex is as simple as cloning the git repo and executing the build. The build scripts are designed to ensure that all the software dependencies are made available to the build. There are a few requirements to consider before building.

  • password-less tty-less sudo or root access is required
  • a new user will be created named stack
  • properly working libvirt installation is required
  • disk images, a centos iso, the Apex RPMs and iso and a build cache will all be written to disk which average around 80G of space at the time of this doc being written.

Steps to build:

$ git clone https://gerrit.opnfv.org/gerrit/p/apex.git
$ cd apex/ci
$ ./build -v {build-version} -c file:///{cache-storage-location}

What happens during build

To build Apex, artifacts and packages are collected from the RDO Project build system. This includes:

  • RPM Packages from the RDO Release Repository
  • A pre-built Undercloud qcow2 image
  • Pre-built introspection images
  • Pre-built Overcloud qcow2 image

The disk images are cached after build so that they don't have to be downloaded again if they haven't been refresh. Though, RDO Project can rebuild them as frequently as every 8 hours. Once these disk images are downloaded the build will process to modify them in preparation to use for Apex deployment.

Apex will also collect the artifacts needed to include support for the SDN controller options that are supported for deployment.

Next, the Apex build constructs a collection of virtual machines that include:

  • the Instack Undercloud VM
  • a collection of "Baremetal VMs" that the overcloud is deployed to in a virtual deployment.

work in progress, publishing work so far

apex/integration_guide.1450449379.txt.gz · Last modified: 2015/12/18 14:36 by Dan Radez