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

...

Drawio
bordertrue
viewerToolbartrue
fitWindowfalse
lboxtrue
diagramDisplayName
revision18
diagramNamesdnrkubernets-deploy-frankfurtstructure
simpleViewerfalse
width
linksauto
pageIdtbstyle64000196top
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:

1050

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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    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 Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keySDNC-742
    )
  • introduce deployment.yaml for