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 NameURLDescription
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 SDKhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlRequired for Java builds
Mavenhttp://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

PuTTYhttp://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

Dockerhttps://docs.docker.com/engine/installation/linux/centos/#install-using-the-repositoryRequired to build dcae-inventory (create the images)
Kuberneteshttps://kubernetes.io/docs/tasks/tools/install-kubectl/
https://kubernetes.io/docs/tasks/tools/install-minikube/
Future only
Postmanhttps://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=enExercise 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 NameURLDescription
Confluencehttps://wiki.onap.orgONAP Development Wiki, which you are looking at now. Used to provide project documentation, guidelines, and other information.
InsightsLFX InsightsA metrics dashboard reporting on multiple aspects of community development and engagement. 
Gerrit serverhttps://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 portalhttps://identity.linuxfoundation.org/registering portal : controls user account and group management.
Jenkins Masterhttps://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).

JIRAhttps://jira.onap.org/ONAP JIRA instance, used to track issues, releases, stories...
Nexus 2https://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 3https://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
Sonarhttps://sonar.onap.org/ONAP Sonar server, will hold Sonar metrics computed by component builds
Read the Docshttps://docs.onap.org/Formal ONAP documentation.
  • No labels

3 Comments

  1. May I suggest adding Eclipse as a client tool, alternate for IntelliJ?  Download the latest version (Oxygen) from http://www.eclipse.org/downloads/

  2. I suggest to add the MiniZinc IDE that can be downloaded from http://www.minizinc.org/ide/

  3. for front-end web application related code I suggest editor like Visual studio code or Sublime should be used and can be added in tools list