You can set up the SDNC IDE by following instructions from Setting Up Your Development Environment.
This is the step of installing Intellij IDEA.
0. Download
https://www.jetbrains.com/idea/download/#section=linux
1. Unpack the ideaIC.gz or ideaIU.gz file.
A new instance must not be extracted over an existing one. The target folder must be empty.
tar xfz ideaIC.tar.gz or ideaIU.tar.gz. <new_archive_folder>
The recommended install location according to the filesystem hierarchy standard (FHS) is /opt. For example, it's possible to enter the following command:
sudo tar xf -*.tar.gz -C /opt/
2. Go to the bin directory, for example:
cd opt/-*/bin
3. Run idea.sh from the bin subdirectory.
Reference Link:
https://www.jetbrains.com/help/idea/installing-and-launching.html
If you already have a Linux Foundation account, you can skip this section.
You will need linux foundation account to submit code change to ONAP projects repos. If you only want to read the code, you can skip this step.
To create your linux foundation account, go to Linux Foundation Identity page, and select I need to create a Linux Foundation ID, the following page will be shown:
Filling the information and click on Create new account to proceed account creation.
Follow steps in Get git command from ONAP gerrit to get the git clone command and clone each of the following SDNC projects:
Project Name | Project Description | has code |
---|---|---|
sdnc/adaptors | SDNC adaptors | |
sdnc/architecture | SDNC architectural artifacts (e.g. blueprints) | |
sdnc/core | SDNC core platform | |
sdnc/features | SDNC Karaf features | |
sdnc/northbound | SDNC northbound adaptors | java |
sdnc/oam | SDNC OA&M tools | bash, javascript, python, DGs |
sdnc/parent | Parent POMS to be used by SDNC components | |
sdnc/plugin | SDNC plugins |
Note: The ONAP SDNC projects are more like a demo version of ECOMP's SDN-GC.
Follow steps in Get git command from ONAP gerrit to get the git clone command and clone each of the following CCSDK projects:
Project Name | Project Description | has code |
---|---|---|
ccsdk/dashboard | Opeations Manager Dashboard | |
ccsdk/distribution | CCSDK distribution packaging (e.g. docker containers) | |
ccsdk/parent | Parent POMs to be used by CCSDK clients | |
ccsdk/platform/blueprints | Blueprints. not in Amesterdam release | |
ccsdk/platform/nbapi | Northbound API | |
ccsdk/platform/plugins | Platform plugins | |
ccsdk/sli/adaptors | Common adaptors for use by directed graphs | |
ccsdk/sli/core | Core Service Logic Interpreter classes | |
ccsdk/sli/northbound | Common northbound APIS related to service logic interpreter | |
ccsdk/sli/plugins | Common plugins used by direcged graphs | python |
ccsdk/storage/esaas | Elastic Storage as a Service. not in Amesterdam release | |
ccsdk/storage/pgaas | PGAAS (PostgreSQL as a Service) | java, python, bash |
ccsdk/utils | Utilities | bash, yaml |
Use your linux foundation account to login onto ONAP projects.
Get Project list by entering the project key name in the Filter, for example sdnc, this list of projects under sdnc will be shown as below:
Click on the wanted project from the list, the General page of the selected project will be shown. the following is the General page of sdnc/adaptors:
Now click on Clone with commit-msg hook, then click on http, then click on the notepad icon.
The git clone command for the selected project is now copied into your clipboard. You do paste to use it at where-ever you want to.
ONAP code can also be viewed from gerrit web site as below (sdnc/adaptors project is used as the example here):
To view the coce through gerrit client, first follow steps in SDNC - Development Environment Setup to get the Projects list page.
Then, choose either one of the following option to view the code of the desired project.
Note: this option will bring you to, and only to, the HEAD branch which is the master branch.
In the project list page, click on the gitweb under the Repository Browser column of your project row.
The master branch's summary page will be shown up. Click on the tree option.
Now, the repo details page will be shown and you can view the code in master branch from there.
Note: this option allows you to select a particular branch to view it code.
In the project list page, click the project under the Project Name column. (using sdnc/adaptors project as example here)
It takes you to the project General page, click on the Branches option.
The project page will be switched to Branches page. Check out the Branch Name column, click the gitweb on the same row of the desired branch.
The project Summary page of the selected branch will be shown up. Click on the tree option.
Now, the repo details page will be shown and you can view the code in master branch from there.
coming soon
coming soon
To commit code to ONAP, you must have git-review installed.
The steps in this section only need to be done one time, except the Tips
run the following command to check if git-review is installed as part of your OS image.
git-review
If not the following command to install the git-review.
sudo apt install git-review
here's an example:
ubuntu@beili-ws-01:~/Videos$ git-review The program 'git-review' is currently not installed. You can install it by typing: sudo apt install git-review ubuntu@beili-ws-01:~/Videos$ sudo apt install git-review |
If you do not have git installed, following Install Git on Windows at atlassian's tutorials for installing git to
If you do not have python installed, following Python & pip Windows installation to
Open a git bash terminal by
In the git bash terminal, run the following command to install git-review
c:/Python27/Scripts/pip2.7 install git_review --proxy <your proxy>
Check your git remote setting, use the following command
git remote -v
Here's an example of output:
C:\workspace\onap_sdnc\northbound>git remote -v |
If the gerrit does not exist, you need to set it up with the following command:
git remote add gerrit <the link of the origin>
Note: the remote origin is added automatically after git clone of the repo. The gerrit link is the same as the origin's, hence, we just directly use it.
Use the following command to check your git config:
git config -l
Ensure that you have the following configuraiton set properly:
GIT Config Key | Expected Value | Setting Command |
---|---|---|
core.eol | lf | git config --global core.eol lf |
core.autocrlf | true | git config --global core.autocrlf true |
user.name | your name | git config --global user.name <your name> |
user.email | your email address | git config --global user.email <your email address> |
Checkout the master branch, work on your changes, once you are ready for submission, do the following to create a review.
Use the following command to check all the changes in the master branch
git status
Ensure
2. Run the following commands in the listed order to create a review
Steps | Command | Notes | |
---|---|---|---|
1 | git commit -sam <comment summary> | Commit summary should not exceed 50 char. See ONAP Commit Messages for more details. | |
2 | git log --shortstat | To ensure change lines are properly done and your commit has the following:
Here's an example:
If the Change-Id does not exist, do not proceed. You need to following SDNC - Development Environment Setup to fix it before proceeding further. | |
3 | git commit --amend | Use this command to do the following:
| |
4 | git review | This command will create the review at Gerrit. Once this command is completed, your newly created review can be found from Outgoing reviews in Gerrit self dashboard . |
3. Update the Gerrit Review to get ready
From Gerrit self dashboard, click your newly created review, it will bring up the review details.
Click the Add button in the Reviewers section, to add reviewers (who is going to review your code) and committers (who is going to review your code as well as approve and commit your code).
Note:
By now, you will just wait and check your email for information of
Oops, I made a mistake in my review comments. It cannot be changed in the gerrit review.
Go back to your workspace, and do the following to change the comments of your existing review.
Steps | Command | Notes |
---|---|---|
1 | git commit --amend | update the comment as desired |
2 | git log --shortstat | validate your commit now has the updated comments, as well as the Change-Id as the one in the gerrit review |
3 | git review | push the changed comment to the review again. Once the command is completed, go to your review, you will see
|
Now, I got comments in my view, and I have made the code adjustment in my workspace and tested.
Follow the steps to push your new code changes to the your existing reiew.
Steps | command | notes |
---|---|---|
1 | git commit -sam "my updated code" | To create a new commit with your updated code |
2 | git log --shortstat | you will see the most 2 recent commits are from
|
3 | git rebase -i HEAD~2 | To run rebase interactively for the most recent 2 commits In the interactive mode, it will bring up the text which contains pick for your last 2 commits along with the following content: Do the following:
Once this command is completed, 2 commits will be merged into 1 commit. |
4 | git log --shortstat | you will see there's only 1 commit which replaces the 2 commit you have seen in step 2. validate your commit has the Change-Id as the one in the gerrit review |
5 | git review | push the changed comment to the review again. Once the command is completed, go to your review, you will see
|
The would only happen when you are creating your very first review in a repo. It mainly because your workspace might have some mis-config which lead your repo clone was not done properly with the Clone with commit-msg hook option.
Follow the steps below to do the correction.
Steps | Command | Notes |
---|---|---|
1 | git reset HEAD~1 | to undo the commit |
2 | from github helper page, download commit-msg, and place it under your <repo>/.git/hook directory | set the proper commit-msg hook this will set the Change-Id properly in your commit |
3 | Use your previous command to create the commit again | |
4 | git log --shortstat | to check the existence of Change-Id |
You can find your recent merged changes from Gerrit self dashboard, however, it only works for Recent changes.
To find all of your changes, you can type in "is:closed(owner:self)" in the Search field at Gerrit self dashboard, then click on the Search button.
This tutorial is based on ONAP-integration project[1] which utilizes Vagrant[2], a deployment tool to build an ONAP environment.
The goal of this section is to guide how to quickly build an running ONAP SDNC envrionment which is going to use the existed image in the ONAP Nexus3 server.
Actually it supports various automate deployment environment including compling code with maven, building docker images as part of the deployment procedure.
"Integration framework, automated tools, code and scripts, best practice guidance related to cross-project Continuous System Integration Testing (CSIT), and delivery of ONAP." |
Tool | version | Introduction | Download Link |
---|---|---|---|
Vagrant | 1.9.5 | https://www.vagrantup.com/ | https://releases.hashicorp.com/vagrant/?_ga=2.74767696.373821479.1506869076-1225456615.1499750393 |
Virtualbox | 5.1.20 | https://www.virtualbox.org/ | https://www.virtualbox.org/wiki/Download_Old_Builds_5_1 |
Git | 2.14.3 | https://git-scm.com/ | https://git-scm.com/downloads |
(1) After installation, make sure that your system is restarted in order to let configuration be activated.
(2) Instead of using Git bash, Cygwin could be also used and make sure "dos2unix" package is installed which will be used during setup
Download the exe and install.
Add the following line to your /etc/apt/sources.list:
deb http://download.virtualbox.org/virtualbox/debian xenial contrib
Run the command below
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
sudo apt-get install virtualbox-5.2
wget https://releases.hashicorp.com/vagrant/1.9.5/vagrant_1.9.5_x86_64.deb
sudo dpkg -i vagrant_1.9.5_x86_64.deb
sudo apt-get install git
sudo apt install dos2unix
git clone https://git.onap.org/integration'
cd integration/bootstrap/vagrant-onap/lib
find . -type f -print0 | xargs -0 dos2unix
Hint: This issue might be fixed later
cp settings.yaml.development settings.yaml
vim settings.yaml
The example shows below
build_image: "False" clone_repo: "False" compile_repo: "False" enable_oparent: "False" skip_get_images: "False" skip_install: "False" |
vim integration/bootstrap/vagrant-onap/Vagrantfile
For example,
... configuration = { ... 'docker_version' => '1.2-STAGING-latest', ... } ... |
vim integration/bootstrap/vagrant-onap/lib/sdnc
Find function get_sdnc_images{...} in the file and modify
Mainly use pull_onap_image to replace pull_openecomp_image
Pull onap/ccsdk-dgbuilder-image instead of openecomp one
For example,
... # get_sdnc_images() - Build or retrieve necessary images function get_sdnc_images { if [[ "$build_image" == "True" ]]; then _build_sdnc_images else # pull_openecomp_image sdnc-image openecomp/sdnc-image:latest # pull_openecomp_image admportal-sdnc-image openecomp/admportal-sdnc-image:latest # pull_openecomp_image dgbuilder-sdnc-image openecomp/dgbuilder-sdnc-image:latest pull_onap_image sdnc-image onap/sdnc-image:latest pull_onap_image admportal-sdnc-image onap/admportal-sdnc-image:latest pull_docker_image nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image:latest onap/ccsdk-dgbuilder-image:latest fi pull_docker_image mysql/mysql-server:5.6 } ... |
cd integration/bootstrap/vagrant-onap
./tools/run.sh sdnc
This could be replaced by adding scripts in Vagrantfile.
http://127.0.0.1:8282/apidoc/explorer/index.html
Credentials: admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
// check running vm instances
vagrant global-status
// ssh to the vm
vagrant ssh ${vm-id}
// check docker images
docker images
// check running docker instances
docker ps -a
// ssh to the docker instance
docker exec it ${docker-instance} bash
Reference:
[1] ONAP integration: https://git.onap.org/integration/
[2] Vagrant: https://www.vagrantup.com/
[3] ONAP SDC setup: Using Vagrant-Onap for local deployment of SDC project - WIP!!!
[4] Virtualbox Download link: https://www.virtualbox.org/wiki/Linux_Downloads
coming soon
coming soon