Versions Compared

Key

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

Table of Contents

Overview

Main components are

  • sdnc-dm = sdnc image in sdnrwt=true configuration
  • sdnc-web = sdnc-web image
  • sdnc-db = elasticsearch and nginx images

Details: Disaggregated Architecture

Pod and service structure

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramDisplayName
lboxtrue
revision18
diagramNamesdnrkubernets-deploy-frankfurtstructure
simpleViewerfalse
pageId64000196
diagramWidth551

  • sdnc-web = SDNR Web
  • sdnc-dm = SDNR DevMgr 
  • sdnc-es = DB

Pod and service structure

...

Deployment Options

Default:  sdnrwt=false

  • sdnc-web: scale=0
  • sdnc-dm: scale=0
  • sdnc-es:scale=0

SDNR with external/central ES:

  • sdnc-web: scale=3
  • sdnc-dm: scale=3
  • sdnc-es:scale=0

SDNR with internal ES:

  • sdnc-web: scale=3
  • sdnc-dm: scale=3
  • sdnc-es:scale=3

Changes in OOM:

width
linksauto
tbstyletop
diagramWidth1050

Deployment Options

Deployment options are configured within values.yaml via booleans.

  • SDNRWT: devicemanager + internal WEB Server
  • SDNRDM: devicemanager relateded bundles, but not web related
  • SDNRINIT: Only database initialization than terminating. See: SDN-R Data Migration Tool
  • SDNRONLY: Do only start SDN-R related bundles, remove all other bundles from featureboot list.

Database configuration by SDNRDBURL, SDNRDBUSERNAME, SDNRDBPASSWORD.

SDNRWTSDNRDMSDNRINITMeaning
falsexx(Default setting of flags). SDNR deactivated, but normal SDNC startup for other features, like oofpci.
truefalsefalsedevicemanager + internal WEB Server. SDNRDBURL, SDNRDBUSERNAME, SDNRDBPASSWORD
truetruefalsedevicemanager. SDNRDBURL, SDNRDBUSERNAME, SDNRDBPASSWORD
falsextrueinit container function. SDNRDBURL, SDNRDBUSERNAME, SDNRDBPASSWORD. Exit after configuration is done.
truetrue|falsetrueexecute init function and start ODL according to description 

x: do not care

Initialization scripts

SDNC/OAM Container entrypoint: /opt/sdnc/bin/startODL.sh

The duplicated script should be removed from OOM. Issue for this is: 

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySDNC-1078

Environment Variables and configuration files

The startup env parameters are used by properties of configuration files

env varconfig file $ODL_HOME/etc/ description
SDNRDBURLdataprovider.properties(mandatory) elasticsearch URL
SDNRDBUSERNAMEdataprovider.properties(optional) elasticsearch basicAuth Username
SDNRDBPASSWORDdataprovider.properties(optional) elasticsearch basicAuth Password

Database Initialization


ElasticSearch database needs to be initialized by a script.

bin/es-init.sh

OOM enhancement: define kubernetes Job to execute e-init.sh

Development steps

Enhancement/integration of oom/sdnc follows from left (low complexity) to right (highest complexity)

Step 1:  SDNRDM enabled

  • introduce config switch (see
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keySDNC-742
    )
  • define elastic service for dataprovider:
    resources/config/conf/dataprovider.properties
  • mount dataprovider.properties to sdnc container

Step 2:  Disaggregated sdnc-web cluster

  • add new service 'sdnc-web' into sdnc/templates/statefulset.yaml
    add new sdnc-web image?
    no persistent volumes are required

Step 3: provide local elastic DB cluster


Changes in OOM:

/kubernetes/sdnc/


  • introduce config switch (see
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keySDNC-742
    introduce config switch (see SDNC-742)
  • introduce deployment.yaml for