Required Tools

The following tables list the tools used in ONAP development. This is intended for reference. For instructions on installing client tools and preparing to access the server-based tools, see Setting Up Your Development Environment.

Client-Based Tools

These tools are installed on your client development system.

Tool Name

URL

Description

Git client

 https://www.atlassian.com/git/tutorials/install-git

Client for distributed source control system. The download referenced here includes the command-line tool Git Bash.

IntelliJ

https://www.jetbrains.com/idea/

One of several possible Java development environments. (The IntelliJ Community Edition is open source.) Uses the Java SDK.

Java SDK

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Required for Java builds

Maven

http://maven.apache.org/download.cgi

command-line tool for building Java (and other) programs

Install maven 3.3.3+ as 3.2.x may have issues with an ODL certificate name mismatch

PuTTY

http://www.putty.org/

Remote SSH terminal; also, a public/private key generator.

Python (optional)

https://www.python.org/

Script engine needed by some components (select add python to your path in the installer)

other tools

Development Guides

https://confluence.atlassian.com/get-started-with-sourcetree/install-sourcetree-847359094.html

See the Development Guides for specific additional tools required by different subsystems. Example tools include: nodejs, node-gyp (which in turn requires Python v.2.7.x and GCC), grunt-cli, and bower.

SourceTree from Atlassian is a git shell for windows/mac

Docker

https://docs.docker.com/engine/installation/linux/centos/#install-using-the-repository

Required to build dcae-inventory (create the images)

Kubernetes

https://kubernetes.io/docs/tasks/tools/install-kubectl/
https://kubernetes.io/docs/tasks/tools/install-minikube/

Future only

Postman

https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en

Exercise REST endpoints like the following examples in Verifying your ONAP Deployment#Postman/CurlRESTcalls

Server-Based Tools and Repositories

These tools and repositories are server-based. Some are accessed via a browser with no setup, other than obtaining a login and password. Others may require you to set environment variables, create private encryption keys, or make settings within client tools.

Tool Name

URL

Description

Confluence

https://lf-onap.atlassian.net

ONAP Development Wiki, which you are looking at now. Used to provide project documentation, guidelines, and other information.

Insights

LFX Insights

A metrics dashboard reporting on multiple aspects of community development and engagement. 

Gerrit server

https://gerrit.onap.org/

Gerrit code review server, hosting the Git repositories as well as controlling access, push, and review of new code. It also hosts the Jenkins job configuration in a Git repository that follows the same workflow.

Identity portal

https://identity.linuxfoundation.org/

registering portal : controls user account and group management.

Jenkins Master

https://jenkins.onap.org/

ONAP Jenkins Master host, this host will only serve as a 'Display' as most of the jobs will be executed by 'minions' (slave hosts which are defined by using the Jenkins configuration repository in Gerrit).

JIRA

https://jira.onap.org/

ONAP JIRA instance, used to track issues, releases, stories...

Nexus 2

https://nexus.onap.org/

ONAP Nexus 2 repository, this repo will hold Maven2 artifacts produced by builds (both Release and Snapshot, also Javadoc-mavensite), Access is automatically provided to builds by the maven settings on the Jenkins Master, see Jenkins job for more details. User should be able to access and browse artifacts through this URL.

Nexus 3

https://nexus3.onap.org/

ONAP Nexus 3 repository, this repo will hold Docker containers produced by ONAP builds. Access is automatically provided to builds by the maven settings on the Jenkins Master, see Jenkins job for more details. User should be able to access and browse artifacts through this URL.

There are three hosted repositories:

  • release repository: nexus3.onap.org:10002

  • snapshot repository: nexus3.onap.org:10003

  • staging repository: nexus3.onap.org:10004

The release repository contains the docker images at specific release cuts. The snapshot repository contains daily docker image builds. The staging repository contains docker images before a release cut. When approved, docker images in the staging repository are moved to the release repository.

There is an additional repository, nexus3.onap.org:10001, which is a proxy to the hosted repositories. By logging into the proxy repository, it is possible to access all the docker images contained in release, snapshot and staging repository. Also, from the proxy repository it is possible to access public docker images that are used in ONAP, such as MariaDB, HBASE, Cassandra, etc.

Access to hosted and proxy repositories is regulated by username and password:

  • username: docker

  • password: docker

These credentials provide read-only access to repositories. This is the only account that will work for community members to be able to access docker images.

How to download a docker image

  • log into the docker hub (we suggest to use the proxy repository): docker login -u docker -p docker nexus3.onap.org:10001

  • pull the docker image that you like (in this example we pull MSO): docker pull nexus3.onap.org:10001/openecomp/mso:1.0-STAGING-latest

Sonar

https://sonar.onap.org/

ONAP Sonar server, will hold Sonar metrics computed by component builds

Read the Docs

https://docs.onap.org/

Formal ONAP documentation.