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;
- User creation
- Logical Cloud creation
- Create the Istio control planes for the logical clouds.
- Generate intermediate CA key for each edge which is signed by an root or intermediate key
Different components (microservice) work together with the DCM to make the above possible, the components are;
- Main DCM Microservice (contains the Logical Cloud Controller, User Controller and Namespace Controller)
- Istio DCM Controller (Create the Istio Control planes for the logical clouds)
- CA Key Distribution Controller ( Generate intermediate CA key for each edge which is signed by an root or intermediate key)
- Quota Controller (Limits resources available to each logical cloud)
Design Overview
Fig 1: DCM Components
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
- Logical Cloud Creation
Logical Cloud Creation API
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 }