Versions Compared

Key

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

...

SO (Service Orchestration) is built using maven and is mostly composed of java & groovy code along with camunda BPMN code flow. Please follow the instructions under the Setting your development environment page to prepare your machine for developing SO.

...

It is accessible via HTTPS : https://gerrit.onap.org/r/a/so.git

Or SSH : ssh://USERNAME@gerritUSERNAME@gerrit.onap.org:29418/so

Please make sure to review the ONAP Development Procedures and Policies to understand how to interact with the gerrit/git repositories.

...

  • Camunda BPM engine code flow for step by step order flow execution
  • Groovy script which invoked from camunda bpmn block for execution
  • Business logic written in java using Springboot framework
  • Mariadb for storing the metadata of the order flow execution

 

Unit test

The unit tests are composed of 2 different types:

  1. The standard unit tests, testing obviously the class and methods
  2. The Spring integration tests that really starts SO (using @SpringBootTest) and that can make use of everything in the code, like the database, the http connection, etc ...

Location details

Path

Content

Docs

 

/docs

The documentation in .rst files

Logs

 

/logger

The logging configuration of SO

Docker

 

/packages

The docker image preparation file

Modules

 

/mso-api-handlers

Exposed outside as rest service for entry point of incoming SO requests

/bpmn

Contains all business logic of service order execution  and interact with AAI, SDNC, requestdb, catalogdb etc, also accepts notification response from AAI via rest interface callback

/adapters/mso-requests-db-adapter

Interacts with requestdb schema to update progress status

/mso-catalog-db

Interacts with CatalogDB schema to query order details

/so-monitoring

Monitoring UI portal of SO using AngularJS

/adapters/mso-sdnc-adapter

Interacts with SDNC

 

 

Code of Each Modules

 

/src/main/java

The back-end and front-end code + resources

/src/main/test

The unit tests and Spring integration tests to validate SO code

/src/main/groovy

Groovy scripts used by maven build

/src/main/resources

The default SO configuration files + the BPMN code flow files

/src/main/frontend

The frontend code (HTML + javascript/typescript) using AngularJS framework

 

Getting the containers

ONAP SO containers are stored on here for the releases, and here for the snapshots

The following Docker images are the actual deployment images used for running SO

Name

Tag

Description

onap/so/api-handler-infra

1.4.4

MSO Api handler for SO REST service entry point

onap/so/bpmn-infra

1.4.4

BPMN-Infra contains business logic of execution flow

onap/so/catalog-db-adapter

1.4.4

CatalogDB to interact with mariaDB catalogdb schema

onap/so/openstack-adapter

1.4.4

Adapter to interact with Openstack as a VIM

onap/so/request-db-adapter

1.4.4

RequestDB to interact with mariaDB requestdb schema

onap/so/sdc-controller

1.4.4

SDC-controller to interact with SDC module

onap/so/sdnc-adapter

1.4.4

SDNC Adapter to interacts with SDNC module

onap/so/so-monitoring

1.4.4

SO Monitoring for monitoring the SO workflows

onap/so/vfc-adapter

1.4.4

Adapter to interact with VFC module

onap/so/vnfm-adapter

1.4.4

Adapter to interact with external VNFMs through SOL003 interface

library/mariadb

10.1.11

MariaDB image from Docker.io, this image hosts the database and is preloaded with SO schema and configuration at startup

 

Building SO

To build SO you need to use maven with the goal "clean install". By default it executes the standard unit tests and the Spring integration tests but does not build the docker images.

...

It is accessible via HTTPS : https://gerrit.onap.org/r/a/so/docker-config.git

Or SSH : ssh://USERNAME@gerrit.onap.org:29418/so/docker-config

To start SO, enter into the checked out docker-config folder and run command  “docker-compose up -d

...

Starting SO dependencies using mock

SO service creation flow down the line interacts with AAI, OSS/BSS, SDNC. So user need to run mocking for these services if need to test the SO.

...

AAI pointed to 8443 port, so start moco mocking stub on that port for AAI by running below command.

java -jar moco-runner-0.11.0-standalone.jar http -p 8441 -c config-onap.json

config-onap.json – this file should contains the request/response mapping as needed.

...

This is testing SO standalone and thus cannot validate interactions with other components (SDC, OOF, Multi Cloud...).


Code Walk through of SO:


 

View file
namezoom_0.mp4
height250