Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

This vagrant project collects information about to setup tools for developing on ONAP project.  That includes cloning source code, installing dependencies and building and deploying artifactsStarted as an attempt to deploy ONAP services without relying on a OpenStack deployment, this project has been re-architectured to provide an automated tool for provisioning ONAP development environment. Covering some common development tasks such as the cloning source code repositories of specific component, compile java artifacts per component and building Docker images of specific component. This has been vehicle to standardize process and dependencies through an automated provisioning mechanism, as consequence its possible to setup a development environment using only a single instruction. Adding this tool into a CI/CD pipeline can prevent any compilation failure in the future and guarantee building image process works any time.

Problem Being Solved

  • Reduce the barrier of entry to allow new ONAP developers to ramp up on to active development quickly
  • Reduce the cost to the community in responding to simple environment setup questions faced by new developers

...

Minimal Requirements

Date
Component
Description
2017-08-06

Created unit tests for A&AI component

2017-08-02:Migrated into Integration project under /integration/bootstrap/vagrant-onap

Setup

Only two components are required for using this project, an automation building tool (Vagrant) and a provider platform (supported options: VirtualBox, Libvirt and OpenStack). This section explains how to install Vagrant and VirtualBox which are the most common configuration:

Ubuntu 14.04 ("Trusty")

$ wget -q https://releases.hashicorp.com/vagrant/1.9.7/vagrant_1.9.7_x86_64.deb
$ sudo dpkg -i vagrant_1.9.7_x86_64.deb
$ echo "deb http://download.virtualbox.org/virtualbox/debian trusty contrib" >> /etc/apt/sources.list
$ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
$
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
$ sudo apt-get update -y
$ sudo apt-get install -y virtualbox-5.1 dkms

CentOS

$ wget -q https://releases.hashicorp.com/vagrant/1.9.7/vagrant_1.9.7_x86_64.rpm
$ sudo yum install vagrant_1.9.7_x86_64.rpm
$
wget -q http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo -P /etc/yum.repos.d
$
sudo yum --enablerepo=epel install dkms
$
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | rpm --import -
$ sudo yum install VirtualBox-5.1

Mac OS

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew cask install vagrant
$ brew cask install virtualbox

Windows 7+ (PowerShell v2+)

PS C:\> Set-ExecutionPolicy AllSigned
PS C:\> iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
PS C:\> choco install vagrant
PS C:\> choco install virtualbox

Execution

This project provides an Ubuntu Virtual Image with all the dependencies and files required to develop in ONAP. Even when it's possible to use vagrant commands(up, destroy, suspend, provision, etc), it's highly recommend to use the scripts provided into the tools folder. Their usage is

*NIX

$ git clone https://git.onap.org/integration
$ cd bootstrap/vagrant-onap
Requirement
Vagrant>= 1.8.6
ProviderVirtualBox, Libvirt or OpenStack
Operating SystemLinux, Mac OS or Windows
Hard Disk> 8 GB of free disk
Memory> 12 GB

Usage

  • Windows

    PS C:> cd integration\bootstrap\vagrant-onap
    PS C:\integration\bootstrap\vagrant-onap> Set-ExecutionPolicy Bypass -Scope CurrentUser
    PS C:\integration\bootstrap\vagrant-onap> .\tools\Run.ps1 <app_name>
  • Linux or Mac OS

    $ cd integration/bootstrap/vagrant-onap $ ./tools/run.sh 

...

Windows 7+ (PowerShell v2+, run with Administrator privileges)

...

  • <app_name>

supported options:

Description single Testing purposes
app_name
description
aaiActive and Available Inventory
appcApplication Controller
dcaeData Collection Analytics & Events
mrMessage Router
msoMaster Service Orchestrator
msbMicroservices Bus Project
policyPolicy
portalPortal
robotRobot
sdcService Design & Creation
sdncSoftware Defined Network Controller
vidVirtual Infrastructure Development
vfcVirtual Function Controller
vnfsdk

VNF SDK

vvpVNF Validation Program
multicloudMulti Cloud
ccsdkCommon Controller SDK
all_in_oneAll ONAP services in a VM
testingUnit Test VM

...

HTML documentation

For more information, see http://onap.readthedocs.io/en/latest/submodules/integration.git/bootstrap/vagrant-onap/doc/source/

View file
nameONAP-How to setup a Development Environment for ONAP.pdf
height250