Installation Guide

Installation

ONAP is meant to be deployed within a Kubernetes environment. Hence, the de-facto way to deploy CDS is through Kubernetes. ONAP also packages Kubernetes manifest as Charts, using Helm.

Prerequisites

https://docs.onap.org/en/latest/guides/onap-operator/settingup/index.html#installation

Get the chart

Make sure to checkout the release to use, by replacing $release-tag in bellow command

git clone https://gerrit.onap.org/r/oom git checkout tags/$release-tag

Customize blueprint-processor kafka messaging config (Optional)

Optionally, cds can use kafka native messaging to execute a blueprint use case. The blueprint-processor self-service api is the main api for interacting with CDS at runtime. The self-service-api topics carry actual request and response payloads, whereas blueprint-processor self-service-api.audit topics will carry redacted payloads (without sensitive data) for audit purposes.

By default, cds will target the strimzi kafka cluster in ONAP. The strimzi kafka config is as follows:

# strimzi kafka config

useStrimziKafka: <true|false>

If useStrimziKafka is true, the following also applies:

  1. Strimzi will create an associated kafka user and the topics defined for Request and Audit elements below.

  2. The type must be kafka-scram-plain-text-auth.

  3. The bootstrapServers will target the strimzi kafka cluster by default.

The following fields are configurable via the charts values.yaml (oom/kubernetes/cds/components/cds-blueprints-processor/values.yaml)

kafkaRequestConsumer:
  enabled: false
  type: kafka-basic-auth
  groupId: cds-consumer
  topic: cds.blueprint-processor.self-service-api.request
  clientId: request-receiver-client-id
  pollMillSec: 1000
kafkaRequestProducer:
  type: kafka-basic-auth
  clientId: request-producer-client-id
  topic: cds.blueprint-processor.self-service-api.response
  enableIdempotence: false
kafkaAuditRequest:
  enabled: false
  type: kafka-basic-auth
  clientId: audit-request-producer-client-id
  topic: cds.blueprint-processor.self-service-api.audit.request
  enableIdempotence: false
kafkaAuditResponse:
  type: kafka-basic-auth
  clientId: audit-response-producer-client-id
  topic: cds.blueprint-processor.self-service-api.audit.response
  enableIdempotence: false

Note: If more fine grained customization is required, this can be done manually in the application.properties file before making the helm chart. (oom/kubernetes/cds/components/cds-blueprints-processor/resources/config/application.properties)

Make the chart

cd oom/kubernetes make cds

Install CDS

helm install –name cds cds

Result

 1$ kubectl get all --selector=release=cds
 2NAME                                             READY     STATUS    RESTARTS   AGE
 3pod/cds-blueprints-processor-54f758d69f-p98c2    0/1       Running   1          2m
 4pod/cds-cds-6bd674dc77-4gtdf                     1/1       Running   0          2m
 5pod/cds-cds-db-0                                 1/1       Running   0          2m
 6pod/cds-controller-blueprints-545bbf98cf-zwjfc   1/1       Running   0          2m
 7
 8NAME                            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
 9service/blueprints-processor    ClusterIP   10.43.139.9     <none>        8080/TCP,9111/TCP   2m
10service/cds                     NodePort    10.43.254.69    <none>        3000:30397/TCP      2m
11service/cds-db                  ClusterIP   None            <none>        3306/TCP            2m
12service/controller-blueprints   ClusterIP   10.43.207.152   <none>        8080/TCP            2m
13
14NAME                                        DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
15deployment.apps/cds-blueprints-processor    1         1         1            0           2m
16deployment.apps/cds-cds                     1         1         1            1           2m
17deployment.apps/cds-controller-blueprints   1         1         1            1           2m
18
19NAME                                                   DESIRED   CURRENT   READY     AGE
20replicaset.apps/cds-blueprints-processor-54f758d69f    1         1         0         2m
21replicaset.apps/cds-cds-6bd674dc77                     1         1         1         2m
22replicaset.apps/cds-controller-blueprints-545bbf98cf   1         1         1         2m
23
24NAME                          DESIRED   CURRENT   AGE
25statefulset.apps/cds-cds-db   1         1         2m

Running CDS UI:

Running CDS UI Locally

Client:

Install Node.js and angularCLI. Refer https://angular.io/guide/quickstart npm install in the directory cds/cds-ui/client npm run build - to build UI module

Loopback Server:

npm install in the directory cds/cds-ui/server npm start should bring you the CDS UI page in your local machine with the link https://127.0.0.1:3000/