Versions Compared

Key

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

Background

The DCM is one of the components of ONAP4K8s. It will run as a microservice exposing Rest APIs, external components will use REST to communicate with the DCM while other microservices will use gRPC. The DCM will perform the following functions;

...

  1. Main DCM Microservice (contains the Logical Cloud Controller, User Controller and Namespace Controller)
  2. Istio DCM Controller (Create the Istio Control planes for the logical clouds)
  3. CA Key Distribution ControllerGenerate intermediate CA key for each edge which is signed by an root or intermediate key)
  4. Quota Controller (Limits resources available to each logical cloud)

Design Overview

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramDisplayName
lboxtrue
revision1
diagramNameDCM
simpleViewerfalse
width700
linksauto
tbstyletop
diagramWidth592

...

Fig 2: Showing Logical Clouds spanning multiple edge location. Istio Replicated Control planes are used and in each cluster, there  is an istio control plane per logical cloud


API

  1. Logical Cloud Creation
Code Block
languagejs
themeMidnight
titleLogical Cloud Creation API
linenumberstrue
URL: /v2/projects/<project-name>/logical-clouds
POST BODY:
{
 "name": "logical-cloud-1",   //unique name for the new logical cloud
 "description": "logical cloud for walmart finance department",  //description for the logical cloud
 "user" : {
    "name" : "user-1",  //name of user for this cloud
    "type" : "certificate",   //type of authentication credentials used by user (certificate, APIKey, UNPW)
    "certificate" : "/path/to/user1/crt" ,  //Path to user certificate
    "permissions" : {
       "apiGroups" : ["stable.example.com"]
       "resources" : ["secrets", "pods"]
       "verbs" : ["get", "watch", "list", "create"]
     }
  }
}

Return Status: 201
Return Body:
{
  "name" : "logical-cloud-1"
  "user" : "user-1"
  "Message" : "logical cloud and associated user successfully created"
}