From 39f59dfaa57ce246ab47f85046bf43b0a1a02dfa Mon Sep 17 00:00:00 2001 From: ajay_dp001 Date: Wed, 14 Jul 2021 16:57:46 +0530 Subject: [PATCH] [DCAEGEN2] Document update DataFile Collector and PM-Mapper Issue-ID: DCAEGEN2-2630 Signed-off-by: ajay_dp001 Change-Id: If37dc232021a09304fb0c11e09b4ec7932f7c506 --- docs/sections/dcaeservice_helm_template.rst | 161 ++++++++++++++++++++- docs/sections/images/dmaap_provisioning.png | Bin 0 -> 74415 bytes .../dmaap_provisioning_architecture_diagram.drawio | 1 + docs/sections/installation_oom.rst | 2 + 4 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 docs/sections/images/dmaap_provisioning.png create mode 100644 docs/sections/images/dmaap_provisioning_architecture_diagram.drawio diff --git a/docs/sections/dcaeservice_helm_template.rst b/docs/sections/dcaeservice_helm_template.rst index 1379d557..a59d7359 100644 --- a/docs/sections/dcaeservice_helm_template.rst +++ b/docs/sections/dcaeservice_helm_template.rst @@ -463,4 +463,163 @@ If a component is using an external certificate (CMPv2), the override file would correct common name/SAN. Also note that if the chart for ``dcae-ves-collector`` has been pushed into a Helm repository, the ``helm install`` command can refer to the -repository (for instance, ``local/dcae-ves-collector``) instead of using the chart on the local filesystem. \ No newline at end of file +repository (for instance, ``local/dcae-ves-collector``) instead of using the chart on the local filesystem. + + +Dynamic Topic and Feed Provisioning +----------------------------------- +This section introduces details on creation of dynamic Dmaap Topics in Message Router and Feeds in Data Router via DCAE helm charts. + +Provisioning support through DCAE common-service template +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When using DCAE common-service template in microservice chart ``deployment.yaml`` file it is required to include ``dcaegen2-services-common.microserviceDeployment`` template. +The dcaegen2-services-common include necessary ``common.dmaap.provisioning.initContainer`` template which provisions topics and feeds on Dmaap Message Router and Data Router. + +Example : Including ``dcaegen2-services-common.microserviceDeployment`` template in ``deployment.yaml``. + +:: + + {{ include "dcaegen2-services-common.microserviceDeployment" . }} + +The ``common.dmaap.provisioning.initContainer`` template included in DCAE ``dcaegen2-services-common.microserviceDeployment`` makes use of +dmaap-bc client image to create Topics on Message Router and Feeds on Data Router microservice, with the help of ``dbc-client.sh`` script, +it uses Bus Controller REST API to create resources. + +If the resource creation is successful via script, the response is logged in file with appropriate naming convention. + +.. note:: + The configuration provided via ``values.yaml`` file, is consumed by ``common.dmaap.provisioning.initContainer`` template which runs two + init-container, First named init-dmaap-provisioning for creating resources on Dmaap, Second named init-merge-config which updates application config + with response generated as an outcome of operation by init-dmaap-provisioning container. + +The figure below shows Dmaap Topics, Feeds Provisioning architecture via dcae-service-common helm charts. + +.. + The following diagram has been created on https://app.diagrams.net/. There is an editable version of the diagram + in repository under path docs/sections/images/dmaap_provisioning_architecture_diagram.drawio, import file to update diagram. + +.. image:: images/dmaap_provisioning.png + +Configuration to be added in ``values.yaml`` file. + +.. note:: + For more information on attributes that are set in ``values.yaml`` for Data Router Feed, Publisher and Subscriber, Message Router Topic creation, + you can refer DMaaP Bus Controller API documentation at: https://docs.onap.org/projects/onap-dmaap-buscontroller/en/latest/apis/api.html + +Dmaap Data Router Feeds creation input can be provided in below format. It consumes list of Feeds. + +.. note:: + For DR Feed creation except ``feedName``, ``feedDescription``, ``feedVersion`` avoid update on other attributes. + All other attributes are mandatory, contains required default values. + +:: + + drFeedConfig: + - feedName: bulk_pm_feed + owner: dcaecm + feedVersion: 0.0 + asprClassification: unclassified + feedDescription: DFC Feed Creation + +Once the Feeds creation is successful we can attach Publisher and Subscriber to Feeds. + +Dmaap Data Router Publisher config: + +.. note:: + For DR Publisher creation except ``feedName`` avoid update on other attribute. + All other attributes are mandatory, contains required default values. + +:: + + drPubConfig: + - feedName: bulk_pm_feed + dcaeLocationName: loc00 + +Dmaap Data Router Subscriber config: + +.. note:: + For DR Subscriber creation except ``feedName`` avoid update on other attributes. + Attribute username, userpwd will be updated via init-merge-config init-container of ``common.dmaap.provisioning.initContainer`` template. + In case dcae-pm-mapper microservice is not the Subscriber, attribute deliveryURL need to be updated and privilegedSubscriber can be updated to False. + All other attributes are mandatory, contains required default values. + +:: + + drSubConfig: + - feedName: bulk_pm_feed + decompress: True + username: ${DR_USERNAME} + userpwd: ${DR_PASSWORD} + dcaeLocationName: loc00 + privilegedSubscriber: True + deliveryURL: https://dcae-pm-mapper:8443/delivery + +Dmaap Message Router Topics creation input can be provided in below format. It consumes list of Topics. +Also we can attach Message Router Publisher and Subscriber at same time while creation of Topic. + +.. note:: + For Message Router Topic creation except ``topicName`` and ``topicDescription`` avoid update on other attributes. + All other attributes are mandatory, contains required default values. + +:: + + mrTopicsConfig: + - topicName: PERFORMANCE_MEASUREMENTS + topicDescription: Description about Topic + owner: dcaecm + tnxEnabled: false + clients: + - dcaeLocationName: san-francisco + clientRole: org.onap.dcae.pmPublisher + action: + - pub + - view + +Volume configuration for configMap to be provided in ``values.yaml`` file. + +:: + + volumes: + - name: feeds-config + path: /opt/app/config/feeds + - name: drpub-config + path: /opt/app/config/dr_pubs + - name: drsub-config + path: /opt/app/config/dr_subs + - name: topics-config + path: /opt/app/config/topics + + +For example directory containing ``dcae-datafile-collector``, ``dcae-pm-mapper`` chart under +dcaegen2-services in OOM repository we can find examples for Feed and Topic creation. + +Provisioning support through DCAE When using custom deployment.yaml +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When using custom ``deployment.yaml`` it is required explicitly to include ``common.dmaap.provisioning.initContainer`` template in +initContainer specs of ``deployment.yaml`` file. + +Example : Including ``common.dmaap.provisioning.initContainer`` template in ``deployment.yaml`` file. + +:: + + {{- include "common.dmaap.provisioning.initContainer" . | nindent XX }} + +Note also need to take care of the ``Volumes`` that are required to be mounted on Application Pod in ``deployment.yaml``. + +:: + + {{- include "common.dmaap.provisioning._volumes" . | nindent XX -}} + +Configuration to be added in ``values.yaml`` file is similar to described in ``Provisioning support through DCAE common-service template``. + +Removal of Data Router Feed, Publisher and Subscriber Or Message Router Topic +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +DCAE does not support automatic removal of Feed, Publisher and Subscriber from Data Router or Topic from Message Router at present. +So it is the responsibility of operator to manually remove Feeds and associated Publisher or Subscriber from Data Router and Topics +from Message Router after uninstalling microservice charts which created resources on installation. + +Reference to DMAAP Bus Controller API documentation to figure out steps for manual removal of resources. +https://docs.onap.org/projects/onap-dmaap-buscontroller/en/latest/apis/api.html diff --git a/docs/sections/images/dmaap_provisioning.png b/docs/sections/images/dmaap_provisioning.png new file mode 100644 index 0000000000000000000000000000000000000000..44523d61e333faee630327d932acd000925641d4 GIT binary patch literal 74415 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 LGSEDs=U)E@gKP)o literal 0 HcmV?d00001 diff --git a/docs/sections/images/dmaap_provisioning_architecture_diagram.drawio b/docs/sections/images/dmaap_provisioning_architecture_diagram.drawio new file mode 100644 index 00000000..84811e83 --- /dev/null +++ b/docs/sections/images/dmaap_provisioning_architecture_diagram.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/sections/installation_oom.rst b/docs/sections/installation_oom.rst index 2c567b7f..a39b7b9f 100644 --- a/docs/sections/installation_oom.rst +++ b/docs/sections/installation_oom.rst @@ -56,8 +56,10 @@ The dcaegen2 chart has the following sub-charts: The dcaegen2-services chart has the following sub-charts: +* ``dcae-datafile-collector``: deploys the DCAE DataFile Collector service. * ``dcae-hv-ves-collector``: deploys the DCAE High-Volume VES collector service. * ``dcae-ms-healthcheck``: deploys a health check component that tests the health of the 4 DCAE services deployed via Helm. +* ``dcae-pm-mapper``: deploys the DCAE PM-Mapper service. * ``dcae-prh``: deploys the DCAE PNF Registration Handler service. * ``dcae-tcagen2``: deploys the DCAE TCA analytics service. * ``dcae-ves-collector``: deploys the DCAE VES collector service. -- 2.16.6