blob: bf76dd9d676e7fb7af6c55e0d0d4f8aef4a8e8eb [file] [log] [blame]
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2019 IBM.
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)
.. code-block:: bash
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
------
.. code-block:: bash
:linenos:
$ kubectl get all --selector=release=cds
NAME READY STATUS RESTARTS AGE
pod/cds-blueprints-processor-54f758d69f-p98c2 0/1 Running 1 2m
pod/cds-cds-6bd674dc77-4gtdf 1/1 Running 0 2m
pod/cds-cds-db-0 1/1 Running 0 2m
pod/cds-controller-blueprints-545bbf98cf-zwjfc 1/1 Running 0 2m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/blueprints-processor ClusterIP 10.43.139.9 <none> 8080/TCP,9111/TCP 2m
service/cds NodePort 10.43.254.69 <none> 3000:30397/TCP 2m
service/cds-db ClusterIP None <none> 3306/TCP 2m
service/controller-blueprints ClusterIP 10.43.207.152 <none> 8080/TCP 2m
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deployment.apps/cds-blueprints-processor 1 1 1 0 2m
deployment.apps/cds-cds 1 1 1 1 2m
deployment.apps/cds-controller-blueprints 1 1 1 1 2m
NAME DESIRED CURRENT READY AGE
replicaset.apps/cds-blueprints-processor-54f758d69f 1 1 0 2m
replicaset.apps/cds-cds-6bd674dc77 1 1 1 2m
replicaset.apps/cds-controller-blueprints-545bbf98cf 1 1 1 2m
NAME DESIRED CURRENT AGE
statefulset.apps/cds-cds-db 1 1 2m
Running CDS UI:
---------------
:ref:`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/