OpenECOMP SDC is delivered with 5 Docker containers:
- sdc-FE - frontend SDC application running on jetty server
- sdc-BE - backend SDC application running on jetty server
- sdc-kbn - hosting kibana application
- sdc-cs - hosting cassandra
- sdc-es - hosting elastic search
All containers runs on the same machine and can be started by runnin the command: /data/scripts/docker_run.sh -e -r -p Example: /data/scripts/docker_run.sh -e OS-ETE-DFW -p 51220
SDC is built from several projects, while "sdc-main" contains the main pom.xml for all project:
- catalog-be - backend code
- catalog-fe - frontend java code (servlet, proxy)
- catalog-dao - database layer
- catalog-model - data model of the application
- catalog-ui - front end code (javascript, html, css)
- common-app-api - common code for frontend and backend
- common-be - utilities, datatypes and enums
- security-utils - handle encryption/decryption of passwords
SDC projects can be compiled easily using maven command: mvn clean install.
In order to build all projects, enter to sdc-main project and run the command: mvn clean install.
By default unit test will run when compiling
** igor **
Docker containers are build with the following profile
-P docker -Ddocker.buildArg.chef_repo_branch_name=bugfix/external_adress -Ddocker.buildArg.chef_repo_git_username=git -Ddocker.buildArg.chef_repo_address=23.253.149.175/SDC -Ddocker.buildArg.chef_repo_git_name=chef-repo
to be changed for rrelease OpenECOMP SDC containers are stored on the Rackspace Nexus Docker Registry
The following Docker images are the actual deployment images used for running SDC
| Name | Tag | Description |
|---|---|---|
| sdc-FE | 1610.2.16 | Contains Jetty + OpenJDK + SDC frontend code + 3rd party jars |
| sdc-BE | 1610.2.16 | Contains Jetty + OpenJDK + SDC backend code + 3rd party jars |
| sdc-kbn | 1610.2.16 | Contains nodeJs + Kibana application |
| sdc-cs | 1610.2.16 | OpenJDK + Contains cassandra application |
| sdc-es | 1610.2.16 | Elastic search application |
*********************** Israel ************************
There are several ways to start OpenECOMP SDC: TBD - Israel
SDC UI can be accessed from:
Login to ecomp portal URL with user that has permission for SDC application. Define in your hosts file the following: sdc.api.simpledemo.openecomp.org portal.api.simpledemo.openecomp.org Open browser and navigate to: http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/login.htm
This options is for developers to run locally SDC
This options is for developers to run locally SDC SDC Simulator is a project that enables emulation of web server that provides security policy and sign-on to the SDC component in dev environments.
- Provides sign on to the basic user roles/functionalities
- Creation of basic user accounts
If you are using onap vagrant you can deploy the simulator by:
Set up the DOCKER_HOST environmental variable
To set environmental variable in Windows (the docker engine environment):
-
Run
cmd-- Issue commandset NAME=VAL Example: set DOCKER_HOST=tcp://127.0.0.1:2375 --To check if the variable set succeeded issueecho %DOCKER_HOST%` -
To compile sdc-simulator docker:
- Run
mvn clean install -Ddocker.buildArg.http_proxy=<http_proxy> -Ddocker.buildArg.https_proxy=<https_proxy> -P docker-- The proxy arguments are passed and used as environmental variables in Dockerfiles - Copy the script /webseal-simulator/scripts/simulator_docker_run.sh to the docker engine environment and run:
simulator_docker_run.sh -r 1.1-STAGING-latest - Run
docker psto verify that sdc-simulator docker is up and running. - Enter to UI:
http://<ip address>:8285/login
- Build web simulator WAR file: run
mvn clean installon project “webseal simulator�. This will generate war file (WSSimulator.war) in the target folder. - Ftp war file: webseal-simulator/sdc-simulator folder to your localhost vagrant machine which runs docker engine daemon. -- Check that WSSimulator.war exists after first step No.1 in webseal-simulator/sdc-simulator folder.
- Run
docker build -t openecomp/sdc-simulator:1.1-STAGING-latest <PATH/sdc-simulator>Example: docker build -t openecomp/sdc-simulator:1.1-STAGING-latest /tmp/docker/sdc-simulator/ -- If running behind a proxy:docker build --build-arg http_proxy=http://URL:PORT --build-arg https_proxy=http://URL:PORT -t openecomp/sdc-simulator:1.1-STAGING-latest /tmp/docker/sdc-simulator/ - Validate that images pushed to the local repo by executing
docker images - Copy the script /webseal-simulator/scripts/simulator_docker_run.sh to the docker engine environment and run:
simulator_docker_run.sh -r 1.1-STAGING-latest - Run
docker psto verify that sdc-simulator docker is up and running. - Enter to UI:
http://<ip address>:8285/login
- To compile WSSimulator.war:
- Build web simulator WAR file: run
mvn clean installon project "webseal simulator". This will generate war file (WSSimulator.war) in the target folder. - Ftp war file: webseal-simulator\target\WSSimulator.war to your localhost vagrant machine: /home/vagrant/webseal-simulator/webapps folder
- Ftp configuration file: webseal-simulator\src\main\resources\webseal.conf to your localhost vagrant machine: /home/vagrant/webseal-simulator/config
- Add users to simulator: open configuration file - webseal.conf and add new user to the user list. Note: You need to define the user in the SDC as well.
- To run the simulator, enter to your local vagrant and run: startWebsealSimulator.sh -- Restart the simulator: Stop the simulator: stopWebsealSimulator.sh Start the simulator: startWebsealSimulator.sh
- Enter to UI: http://:8285/login
SDC needs to work with predefined basic normatives, in order to update the database with the normatives need to:
- From catalog-be project copy: src\main\resources\import\tosca -> to :catalog-be/import/tosca src\main\resources\scripts\import\tosca ->to :catalog-be/scripts/import/tosca
- cd catalog-be/scripts/import/tosca
- Run: python importNormativeAll.py
- Wait until all normatives are loaded to the database
TBD
- to be completed APIHandler health checks TBD
TBD
Here are the main parameters you could change: TBD
The credentials are defined in 2 places: TBD
TBD
TBD
TBD
TBD
Install nodejs & gulp
- download nodejs from here: https://nodejs.org/en/ (take the "current" version with latest features) & install it.
- install gulp by running the following command: npm install --global gulp-cli
- pull for latest changes
- go to folder dox-sequence-diagram-ui
- run npm install
- wait for it...
- go to folder dox-ui
- run npm install
- create a copy of devConfig.defaults.json file and name it devConfig.json (we already configured git to ignore it so it will not be pushed)
- in that file, populate the fields of the IP addresses of your BE machine you'd like to connect (pay attention, it is a JSON file): For example http://:
- after everything was successful, run gulp
- after server was up, your favorite UI will wait for you at: http://localhost:9000/sdc1/proxy-designer1#/onboardVendor
| npm cannot reach destination | onboarding proxy | When within onboarding network, you should set onboarding proxy to NPM as the following: | | | | npm config set proxy http://genproxy:8080 | | | | npm config set https-proxy http://genproxy:8080 | | | | | | git protocol is blocked | onboarding network | When within onboarding network, you should set globally that when git | | and cannot connect | rules for protocols | protocol is used, then it will be replaced with "https" | | | | git config --global url."https://".insteadOf git:// |
*** to be completed on rrelease ***
SDC Javadoc and Maven site
*** to be completed on rrelease ***