summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/sections/dcaeservice_helm_template.rst161
-rw-r--r--docs/sections/images/dmaap_provisioning.pngbin0 -> 74415 bytes
-rw-r--r--docs/sections/images/dmaap_provisioning_architecture_diagram.drawio1
-rw-r--r--docs/sections/installation_oom.rst109
-rw-r--r--docs/sections/services/kpi-computation-ms/index.rst1
-rw-r--r--docs/sections/services/kpi-computation-ms/installation-helm.rst115
-rw-r--r--docs/sections/services/pm-subscription-handler/configuration.rst141
-rw-r--r--docs/sections/services/pm-subscription-handler/resources/monitoring-policy.json18
-rw-r--r--docs/sections/services/tcagen2-docker/index.rst1
-rw-r--r--docs/sections/services/tcagen2-docker/installation-helm.rst95
10 files changed, 555 insertions, 87 deletions
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 00000000..44523d61
--- /dev/null
+++ b/docs/sections/images/dmaap_provisioning.png
Binary files differ
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 @@
+<mxfile host="wiki.onap.org" modified="2021-07-21T12:29:36.174Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36" etag="DluRCvCppGvkMgnA6wmF" version="13.2.3" type="atlas"><mxAtlasLibraries/><diagram id="F1Bre9ZVPEtWtABPQS02" name="Page-1">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</diagram></mxfile> \ No newline at end of file
diff --git a/docs/sections/installation_oom.rst b/docs/sections/installation_oom.rst
index 2c567b7f..cc5538af 100644
--- a/docs/sections/installation_oom.rst
+++ b/docs/sections/installation_oom.rst
@@ -22,10 +22,11 @@ and invokes Kubernetes deployment operations for all the resources.
All ONAP Helm charts are organized under the **kubernetes** directory of the **OOM** project, where roughly each ONAP component occupies a subdirectory.
DCAE platform components are deployed using Helm charts under the **dcaegen2** directory.
-Four DCAE services (the HV VES collector, the VES collector, the PNF Registration Handler, and the TCA (Gen 2) analytics service) are deployed using Helm charts under the **dcaegen2-services** directory.
-Other DCAE Services are deployed on-demand, after ONAP/DCAE installation, through Cloudify Blueprints. Operators can deploy on-demand other MS required for their usecases as described in :doc:`On-demand MS Installation
-<./installation_MS_ondemand>`.
+With DCAE Transformation to Helm in Istabul, all DCAE components are supported for both helm and Cloudify/Blueprint deployments. Charts for individual MS are available under **dcaegen2-services** directory under OOM project (https://git.onap.org/oom/tree/kubernetes/dcaegen2-services/components). With ONAP deployment, four DCAE services (HV VES collector, VES collector, PNF Registration Handler, and TCA (Gen2) analytics service) are bootstrapped via Helm charts.
+
+Other DCAE Services are deployed on-demand, after ONAP/DCAE installation, through Cloudify Blueprints or helm-charts. For on-demand helm chart, refer to steps described in :ref:`Helm install/upgrade section <dcae-service-deployment>`.
+Operators can deploy on-demand other MS required for their usecases also via Cloudify as described in :doc:`On-demand MS Installation <./installation_MS_ondemand>`.
DCAE Chart Organization
@@ -56,11 +57,29 @@ 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.
+* ``dcae-bbs-eventprocessor-ms``: deploys the DCAE BBS Eventprocessor service.
+* ``dcae-datafile-collector``: deploys the DCAE Datafile collector service.
+* ``dcae-datalake-admin-ui``: deploys the Datalake Admin UI service.
+* ``dcae-datalake-des``: deploys the Datalake Data Extraction service.
+* ``dcae-datalake-feeder``: deploys the Datalake Feeder service.
+* ``dcae-heartbeat``: deploys the DCAE Heartbeat microservice.
+* ``dcae-kpi-ms``: deploys the DCAE KPI computation microservice.
+* ``dcae-ms-healthcheck``: deploys the DCAE healthcheck service that provides API to check health of bootstrapped DCAE service deployed via helm
+* ``dcae-pm-mapper``: deploys the DCAE PM-Mapper service.
+* ``dcae-pmsh``: deploys the DCAE PM Subscription Handler service.
+* ``dcae-restconf-collector``: deploys the DCAE RESTConf collector service.
+* ``dcae-slice-analysis-ms``: deploys the DCAE Slice Analysis service.
+* ``dcae-snmptrap-collector``: deploys the DCAE SNMPTRAP collector service.
+* ``dcae-son-handler``: deploys the DCAE SON-Handler microservice.
+* ``dcae-ves-mapper``: deploys the DCAE VES Mapper microservice.
+
The dcaegen2-services sub-charts depend on a set of common templates, found under the ``common`` subdirectory under ``dcaegen2-services``.
@@ -70,13 +89,16 @@ found in :doc:`Using Helm to deploy DCAE Microservices <./dcaeservice_helm_templ
DCAE Deployment
---------------
-At deployment time, when the **helm deploy** command is executed,
-all DCAE resources defined within the subcharts above are deployed.
+At deployment time for ONAP, when the **helm deploy** command is executed,
+DCAE resources defined within the subcharts - "dcaegen2" above are deployed
+along with subset of DCAE Microservices (based on override file configuration
+defined in `values.yaml <https://git.onap.org/oom/tree/kubernetes/dcaegen2-services/values.yaml>`_
+
These include:
-* the DCAE bootstrap service
-* the DCAE healthcheck service
-* the DCAE platform components:
+* DCAE bootstrap service
+* DCAE healthcheck service
+* DCAE platform components:
* Cloudify Manager
* Config binding service
@@ -86,9 +108,14 @@ These include:
* Inventory API service
* Inventory postgres database service (launched as a dependency of the inventory API service)
* DCAE postgres database service (launched as a dependency of the bootstrap service)
- * DCAE Redis cluster
* DCAE Mongo database service (launched as a dependency of the bootstrap service)
* VES OpenAPI Manager
+
+* DCAE Service components:
+ * VES Collector
+ * HV-VES Collector
+ * PNF-Registration Handler Service
+ * Threshold Crossing Analysis (TCA-gen2)
Some of the DCAE subcharts include an initContainer that checks to see if
other services that they need in order to run have become ready. The installation
@@ -99,6 +126,10 @@ For ONAP OOM deployment, the Consul cluster is provided as a shared
resource. Its charts are defined under the ``oom/kubernetes/consul``
directory, not as part of the DCAE chart hierarchy.
+With Istanbul release, DCAE bootstrapped Microservice deployment are managed completely under Helm. The Cloudify
+Bootstrap container preloads the microservice blueprints into DCAE Inventory, thereby making them available
+for On-Demand deployment support (trigger from CLAMP or external projects).
+
The dcae-bootstrap service has a number of prerequisites because the subsequently deployed DCAE components depends on a number of resources having entered their normal operation state. DCAE bootstrap job will not start before these resources are ready. They are:
* dcae-cloudify-manager
@@ -140,7 +171,7 @@ In addition, for DCAE components deployed through Cloudify Manager blueprints, t
Now we walk through an example, how to configure the Docker image for the DCAE VESCollector, which is deployed by Cloudify Manager.
-(*Note: Beginning with the Honolulu release, VESCollector is no longer deployed using Cloudify Manager. However, the example is still
+(*Note: Beginning with the Istanbul release, VESCollector is no longer deployed using Cloudify Manager during bootstrap. However, the example is still
useful for understanding how to deploy other components using a Cloudify blueprint.*)
In the `k8s-ves.yaml <https://git.onap.org/dcaegen2/platform/blueprints/tree/blueprints/k8s-ves.yaml>`_ blueprint, the Docker image to use is defined as an input parameter with a default value:
@@ -174,6 +205,64 @@ The ``componentImages.ves`` value is provided in the ``oom/kubernetes/dcaegen2/c
The final result is that when DCAE bootstrap calls Cloudify Manager to deploy the DCAE VES collector, the 1.5.4 image will be deployed.
+
+.. _dcae-service-deployment:
+On-demand deployment/upgrade through Helm
+-----------------------------------------
+
+Under DCAE Transformation to Helm, all DCAE components has been delivered as helm charts under
+OOM repository (https://git.onap.org/oom/tree/kubernetes/dcaegen2-services).
+
+
+Blueprint deployment is also available to support regression usecases; ``Istanbul will be final release where
+Cloudify blueprint for components/microservices will be supported.``
+
+All DCAE component charts follows standard Helm structure. Each Microservice charts has predefined configuration defined under
+``applicationConfig`` which can be modified or overridden at deployment time.
+
+Using helm, any of DCAE microservice can be deployed/upgraded/uninstalled on-demand.
+
+
+``Installation``
+
+Review and update local copy of dcaegen2-service ``values.yaml`` oom/kubernetes/dcaegen2-services/values.yaml
+to ensure component is enabled for deployment (or provide as command line override)
+
+ .. code-block:: bash
+ helm -n <namespace> install <DEPLOYMENT_PREFIX>-dcaegen2-services -dcaegen2-services oom/kubernetes/dcaegen2-services
+
+
+Service component can also be installed individually from oom/kubernetes/dcaegen2-services/components/<dcae-ms-chart>
+
+ .. code-block:: bash
+ helm -n onap install dev-dcaegen2-services-ves-mapper oom/kubernetes/dcaegen2-services/components/dcae-ves-mapper -f values.yaml
+
+Using -f flag override file can be specified which will take precedence over default configuration.
+When commandline override is not provided, default (values.yaml) provided in chart-directory will be used.
+
+``Upgrade``
+
+Helm support upgrade of charts already deployed; using ``upgrade`` component deployment can be modified
+
+ .. code-block:: bash
+
+ helm -n <namespace> upgrade <DEPLOYMENT_PREFIX>-dcaegen2-services --reuse-values --values <updated values.yaml path> <dcaegen2-services helm charts path>
+
+
+For minor configuration updates, helm also supports new values to be provided inline to the upgrade command. Example below -
+
+ .. code-block:: bash
+
+ helm -n onap upgrade dev-dcaegen2-services oom/kubernetes/dcaegen2-services --reuse-values --set dcae-ves-collector.applicationConfig.auth.method="noAuth"
+
+``Uninstall``
+
+Components can be uninstalled using delete command.
+
+ .. code-block:: bash
+
+ helm -n <namespace> delete <DEPLOYMENT_PREFIX>-dcaegen2-services
+
DCAE Service Endpoints
----------------------
diff --git a/docs/sections/services/kpi-computation-ms/index.rst b/docs/sections/services/kpi-computation-ms/index.rst
index fb93564b..5bbefa1f 100644
--- a/docs/sections/services/kpi-computation-ms/index.rst
+++ b/docs/sections/services/kpi-computation-ms/index.rst
@@ -24,6 +24,7 @@ Kpi Computation MS Installation Steps
:maxdepth: 1
./installation.rst
+ ./installation-helm.rst
Kpi Computation MS Configurations
---------------------------------
diff --git a/docs/sections/services/kpi-computation-ms/installation-helm.rst b/docs/sections/services/kpi-computation-ms/installation-helm.rst
new file mode 100644
index 00000000..57128dab
--- /dev/null
+++ b/docs/sections/services/kpi-computation-ms/installation-helm.rst
@@ -0,0 +1,115 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. _kpi-installation-helm:
+
+
+Helm Installation
+=================
+
+Kpi Computation microservice can be deployed using helm charts in oom repository.
+
+
+Deployment Pre-requisites
+~~~~~~~~~~~~~~~~~~~~~~~~~
+- DMaaP pods should be up and running.
+
+- PM mapper service should be running.
+
+- Policy pods should be running.
+
+- Required policies should be created and pushed to the policy component. Steps for creating and pushing policy models:
+
+ 1. Log in to policy-drools-pdp-0 container
+
+ .. code-block:: bash
+
+ kubectl exec -ti --namespace <namespace> policy-pdp-0 bash
+
+
+ 2. Create policy type:
+
+ .. code-block:: bash
+
+ curl -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes" -H "Accept: application/json" -H "Content-Type: application/json" --data '{"policy_types":{"onap.policies.monitoring.docker.kpims.app":{"derived_from":"onap.policies.Monitoring:1.0.0","description":"KPI ms policy type","properties":{"domain":{"required":true,"type":"string"},"methodForKpi":{"type":"list","required":true,"entry_schema":{"type":"policy.data.methodForKpi_properties"}}},"version":"1.0.0"}},"data_types":{"policy.data.methodForKpi_properties":{"derived_from":"tosca.nodes.Root","properties":{"eventName":{"type":"string","required":true},"controlLoopSchemaType":{"type":"string","required":true},"policyScope":{"type":"string","required":true},"policyName":{"type":"string","required":true},"policyVersion":{"type":"string","required":true},"kpis":{"type":"list","required":true,"entry_schema":{"type":"policy.data.kpis_properties"}}}},"policy.data.kpis_properties":{"derived_from":"tosca.nodes.Root","properties":{"measType":{"type":"string","required":true},"operation":{"type":"string","required":true},"operands":{"type":"string","required":true}}}},"tosca_definitions_version":"tosca_simple_yaml_1_1_0"}'
+
+ 3. Create monitoring policy:
+
+ .. code-block:: bash
+
+ curl -k --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.monitoring.docker.kpims.app/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" --data '{"name":"ToscaServiceTemplateSimple","topology_template":{"policies":[{"com.Config_KPIMS_CONFIG_POLICY":{"type":"onap.policies.monitoring.docker.kpims.app","type_version":"1.0.0","version":"1.0.0","metadata":{"policy-id":"com.Config_KPIMS_CONFIG_POLICY","policy-version":"1"},"name":"com.Config_KPIMS_CONFIG_POLICY","properties":{"domain":"measurementsForKpi","methodForKpi":[{"eventName":"perf3gpp_CORE-AMF_pmMeasResult","controlLoopSchemaType":"SLICE","policyScope":"resource=networkSlice;type=configuration","policyName":"configuration.dcae.microservice.kpi-computation","policyVersion":"v0.0.1","kpis":[{"measType":"AMFRegNbr","operation":"SUM","operands":"RM.RegisteredSubNbrMean"}]},{"eventName":"perf3gpp_CORE-UPF_pmMeasResult","controlLoopSchemaType":"SLICE","policyScope":"resource=networkSlice;type=configuration","policyName":"configuration.dcae.microservice.kpi-computation","policyVersion":"v0.0.1","kpis":[{"measType":"UpstreamThr","operation":"SUM","operands":"GTP.InDataOctN3UPF"},{"measType":"DownstreamThr","operation":"SUM","operands":"GTP.OutDataOctN3UPF"}]}]}}}]},"tosca_definitions_version":"tosca_simple_yaml_1_1_0","version":"1.0.0"}'
+
+
+ 4. Push monitoring policy:
+
+ .. code-block:: bash
+
+ curl --silent -k --user 'healthcheck:zb!XztG34' -X POST "https://policy-pap:6969/policy/pap/v1/pdps/policies" -H "Accept: application/json" -H "Content-Type: application/json" --data '{"policies":[{"policy-id":"com.Config_KPIMS_CONFIG_POLICY","policy-version":1}]}'
+
+Deployment steps
+~~~~~~~~~~~~~~~~
+
+- Default app config values can be updated in oom/kubernetes/dcaegen2-services/components/dcae-kpi-ms/values.yaml.
+
+- Update monitoring policy ID in below configuration which is used to enable Policy-Sync Side car container to be deployed and retrieves active policy configuration.
+
+ .. code-block :: bash
+
+ dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.1
+ policies:
+ policyID: |
+ '["com.Config_KPIMS_CONFIG_POLICY"]'
+
+- Enable KPI MS component in oom/kubernetes/dcaegen2-services/values.yaml
+
+ .. code-block:: bash
+
+ dcae-kpi-ms:
+ enabled: true
+
+- Make the chart and deploy using the following command:
+
+ .. code-block:: bash
+
+ cd oom/kubernetes/
+ make dcaegen2-services
+ helm install dev-dcaegen2-services dcaegen2-services --namespace <namespace> --set global.masterPassword=<password>
+
+- To deploy only KPI MS:
+
+ .. code-block:: bash
+
+ helm install dev-dcae-kpi-ms dcaegen2-services/components/dcae-kpi-ms --namespace <namespace> --set global.masterPassword=<password>
+
+- To Uninstall
+
+ .. code-block:: bash
+
+ helm uninstall dev-dcae-kpi-ms
+
+
+Application Configurations
+--------------------------
++-------------------------------+------------------------------------------------+
+|Configuration | Description |
++===============================+================================================+
+|Streams_subscribes | Dmaap topics that the MS will consume messages |
++-------------------------------+------------------------------------------------+
+|Streams_publishes | Dmaap topics that the MS will publish messages |
++-------------------------------+------------------------------------------------+
+|cbsPollingInterval | Polling Interval for consuming config data from|
+| | CBS |
++-------------------------------+------------------------------------------------+
+|pollingInterval | Polling Interval for consuming dmaap messages |
++-------------------------------+------------------------------------------------+
+|pollingTimeout | Polling timeout for consuming dmaap messages |
++-------------------------------+------------------------------------------------+
+|dmaap.server | Location of message routers |
++-------------------------------+------------------------------------------------+
+|cg | DMAAP Consumer group for subscription |
++-------------------------------+------------------------------------------------+
+|cid | DMAAP Consumer id for subscription |
++-------------------------------+------------------------------------------------+
+|trust_store_path | Location of trust.jks file |
++-------------------------------+------------------------------------------------+
+|trust_store_pass_path | Location of trust.pass file |
++-------------------------------+------------------------------------------------+
diff --git a/docs/sections/services/pm-subscription-handler/configuration.rst b/docs/sections/services/pm-subscription-handler/configuration.rst
index 7b8b7211..0be8b61f 100644
--- a/docs/sections/services/pm-subscription-handler/configuration.rst
+++ b/docs/sections/services/pm-subscription-handler/configuration.rst
@@ -21,10 +21,6 @@ specified in the dashboard deployment GUI.
+-----------------------------+----------------------------------------------------------------------------------------+---------+----------+-------------------------------------------------------------------------------------+
| replicas | Number of instances. | integer | True | 1 |
+-----------------------------+----------------------------------------------------------------------------------------+---------+----------+-------------------------------------------------------------------------------------+
-| operational_policy_name | Name of the operational policy to be executed. | string | True | pmsh-operational-policy |
-+-----------------------------+----------------------------------------------------------------------------------------+---------+----------+-------------------------------------------------------------------------------------+
-| control_loop_name | Name of the control loop. | string | True | pmsh-control-loop |
-+-----------------------------+----------------------------------------------------------------------------------------+---------+----------+-------------------------------------------------------------------------------------+
| pm_publish_topic_name | The topic that PMSH will publish to, and which policy will subscribe to. | string | True | unauthenticated.DCAE_CL_OUTPUT |
+-----------------------------+----------------------------------------------------------------------------------------+---------+----------+-------------------------------------------------------------------------------------+
| policy_feedback_topic_name | The topic that PMSH will subscribe to, and which policy will publish to. | string | True | unauthenticated.PMSH_CL_INPUT |
@@ -66,9 +62,8 @@ The subscription is configured within the monitoring policy. The subscription mo
{
"subscription":{
"subscriptionName":"someExtraPM-All-gNB-R2B",
- "administrativeState":"UNLOCKED",
- "fileBasedGP":15,
- "fileLocation":"/pm/pm.xml",
+ "operationalPolicyName":"operational-policy-name",
+ "controlLoopName":"controlLoop-name",
"nfFilter":{
"nfNames":[
"^pnf1.*"
@@ -87,6 +82,10 @@ The subscription is configured within the monitoring policy. The subscription mo
"measurementGroups":[
{
"measurementGroup":{
+ "measurementGroupName":"msgroupname",
+ "administrativeState":"UNLOCKED",
+ "fileBasedGP":15,
+ "fileLocation":"/pm/pm.xml",
"measurementTypes":[
{
"measurementType":"EutranCell.*"
@@ -116,21 +115,24 @@ The subscription is configured within the monitoring policy. The subscription mo
}
-+---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
-| Field | Description | Type | Required | Values |
-+---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
-| subscriptionName | Name of the subscription. | | | |
-+---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
-| administrativeState | Setting a subscription to UNLOCKED will apply the subscription to the NF instances immediately. If it is set to LOCKED, it will not be applied until it is later unlocked. | | | |
-+---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
-| fileBasedGP | The frequency at which measurements are produced. | | | |
-+---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
-| fileLocation | Location of Report Output Period file. | | | |
-+---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
-| nfFilter | The network function filter will be used to filter the list of nf's stored in A&AI to produce a subset. | | | |
-+---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
-| measurementGroups | List containing measurementGroup. | | | |
-+---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
++-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
+| Field | Description | Type | Required | Values |
++-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
+| subscriptionName | Name of the subscription. | string | True | subscriptionName |
++-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
+| operationalPolicyName | Name of the operational policy to be executed. | string | True | operationalPolicyName |
++-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
+| controlLoopName | Name of the control loop. | string | True | controlLoopName |
++-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
+| nfFilter | The network function filter will be used to filter the list of nf's stored in A&AI to produce a subset. | list | False | |
++-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
+| measurementGroups | List containing measurementGroup. | list | True | List of measurementGroup |
++-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
+
+.. note::
+ Since release Istanbul of ONAP, PMSH Subscriptions model schema is updated.
+ Subscription model is centric to ``measurementGroup``, for instance any update on attributes administrativeState, fileBasedGP,
+ fileLocation, nfFilter will be applicable to only individual measurementGroup object.
**nfFilter**
@@ -176,6 +178,10 @@ least 1 must be present for the filter to work.
.. code-block:: json
"measurementGroup": {
+ "measurementGroupName":"msgroupname",
+ "administrativeState":"UNLOCKED",
+ "fileBasedGP":15,
+ "fileLocation":"/pm/pm.xml",
"measurementTypes": [
{
"measurementType": "EutranCell.*"
@@ -200,13 +206,21 @@ least 1 must be present for the filter to work.
]
}
-+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+
-| Field | Description | Type | Required |
-+=======================+===================================================================================================================================================+======+==========+
-| measurementTypes | List of measurement types. These are regexes, and it is expected that either the CDS blueprint, or NF can parse them. As the PMSH will not do so. | list | True |
-+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+
-| managedObjectDNsBasic | List of managed object distinguished names. | list | True |
-+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+
++-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
+| Field | Description | Type | Required | Values |
++=======================+========================================================================================================================================================================================+======+==========+========+
+| measurementGroupName | Unique identifier for measurementGroup. | | | |
++-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
+| administrativeState | Setting a measurementGroup to UNLOCKED will apply the subscription changes to the NF instances immediately. If it is set to LOCKED, it will not be applied until it is later unlocked. | | | |
++-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
+| fileBasedGP | The frequency at which measurements are produced. | | | |
++-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
+| fileLocation | Location of Report Output Period file. | | | |
++-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
+| measurementTypes | List of measurement types. These are regexes, and it is expected that either the CDS blueprint, or NF can parse them. As the PMSH will not do so. | list | True | |
++-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
+| managedObjectDNsBasic | List of managed object distinguished names. | list | True | |
++-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
.. _Topics:
@@ -242,6 +256,7 @@ Example of successful CREATE event sent from policy:
"version": "0.0.1",
"status": {
"subscriptionName": "subscriptiona",
+ "measurementGroupName":"msgroupname",
"nfName": "PNF104",
"changeType": "CREATE",
"message": "success"
@@ -261,6 +276,11 @@ Publisher:
PMSH publishes subscriptions to this topic. They will be consumed by an operational policy which will make a request to CDS to
change the state of the subscription.
+.. note::
+ Since release Istanbul of ONAP, PMSH Publish Subscriptions event format is updated.
+ A new attribute ``measurementGroupName`` is added as a unique identifier for ``measurementGroup`` and a single ``measurementGroup`` is associated with
+ PMSH Subscription event.
+
Example event sent from PMSH:
.. code-block:: json
@@ -268,8 +288,8 @@ Example event sent from PMSH:
{
"nfName":"PNF104",
"ipv4Address": "10.12.13.12",
- "policyName":"pmsh-operational-policy",
- "closedLoopControlName":"pmsh-control-loop",
+ "policyName":"operational-policy-name",
+ "closedLoopControlName":"controlLoop-name",
"blueprintName":"pm_control",
"blueprintVersion":"1.2.4",
"changeType":"CREATE",
@@ -278,47 +298,24 @@ Example event sent from PMSH:
"subscriptionName":"subscriptiona",
"fileBasedGP":15,
"fileLocation":"/pm/pm.xml",
- "measurementGroups":[
- {
- "measurementGroup":{
- "measurementTypes":[
- {
- "measurementType":"countera"
- },
- {
- "measurementType":"counterb"
- }
- ],
- "managedObjectDNsBasic":[
- {
- "DN":"dna"
- },
- {
- "DN":"dnb"
- }
- ]
+ "measurementGroup":{
+ "measurementGroupName":"msgroupname",
+ "measurementTypes":[
+ {
+ "measurementType":"countera"
+ },
+ {
+ "measurementType":"counterb"
}
- },
- {
- "measurementGroup":{
- "measurementTypes":[
- {
- "measurementType":"counterc"
- },
- {
- "measurementType":"counterd"
- }
- ],
- "managedObjectDNsBasic":[
- {
- "DN":"dnc"
- },
- {
- "DN":"dnd"
- }
- ]
+ ],
+ "managedObjectDNsBasic":[
+ {
+ "DN":"dna"
+ },
+ {
+ "DN":"dnb"
}
- }
- ]
+ ]
+ }
}
- }
+ } \ No newline at end of file
diff --git a/docs/sections/services/pm-subscription-handler/resources/monitoring-policy.json b/docs/sections/services/pm-subscription-handler/resources/monitoring-policy.json
index 6b8570e3..f142f8b4 100644
--- a/docs/sections/services/pm-subscription-handler/resources/monitoring-policy.json
+++ b/docs/sections/services/pm-subscription-handler/resources/monitoring-policy.json
@@ -1,9 +1,8 @@
{
"subscription":{
- "subscriptionName":"subscriptiona",
- "administrativeState":"UNLOCKED",
- "fileBasedGP":15,
- "fileLocation":"/pm/pm.xml",
+ "subscriptionName":"subscription-name",
+ "operationalPolicyName":"operational-policy-name",
+ "controlLoopName":"controlLoop-name",
"nfFilter":{
"nfNames":[
"^pnf1.*"
@@ -14,11 +13,18 @@
],
"modelVersionIDs":[
"e80a6ae3-cafd-4d24-850d-e14c084a5ca9"
+ ],
+ "modelNames":[
+ "pnf102"
]
},
"measurementGroups":[
{
"measurementGroup":{
+ "measurementGroupName":"msgroupnamea",
+ "administrativeState":"UNLOCKED",
+ "fileBasedGP":15,
+ "fileLocation":"/pm/pma.xml",
"measurementTypes":[
{
"measurementType":"countera"
@@ -39,6 +45,10 @@
},
{
"measurementGroup":{
+ "measurementGroupName":"msgroupnameb",
+ "administrativeState":"UNLOCKED",
+ "fileBasedGP":15,
+ "fileLocation":"/pm/pmb.xml",
"measurementTypes":[
{
"measurementType":"counterc"
diff --git a/docs/sections/services/tcagen2-docker/index.rst b/docs/sections/services/tcagen2-docker/index.rst
index 21da243e..c5fc85da 100644
--- a/docs/sections/services/tcagen2-docker/index.rst
+++ b/docs/sections/services/tcagen2-docker/index.rst
@@ -16,6 +16,7 @@ The TCA-gen2 is docker based mS intended to replace TCA/cdap version, which was
:maxdepth: 1
./installation
+ ./installation-helm.rst
./configuration
./functionality
./delivery \ No newline at end of file
diff --git a/docs/sections/services/tcagen2-docker/installation-helm.rst b/docs/sections/services/tcagen2-docker/installation-helm.rst
new file mode 100644
index 00000000..e4a25d9b
--- /dev/null
+++ b/docs/sections/services/tcagen2-docker/installation-helm.rst
@@ -0,0 +1,95 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. _tcagen2-installation-helm:
+
+
+Helm Installation
+=================
+
+The TCA-gen2 microservice can be deployed using helm charts in the oom repository.
+
+Deployment Pre-requisites
+~~~~~~~~~~~~~~~~~~~~~~~~~
+- DCAE and DMaaP pods should be up and running.
+- MongoDB should be up and running.
+
+Deployment steps
+~~~~~~~~~~~~~~~~
+
+- Default app config values can be updated in oom/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml.
+
+- Make the chart and deploy using the following command:
+
+ .. code-block:: bash
+
+ cd oom/kubernetes/
+ make dcaegen2-services
+ helm install dev-dcaegen2-services dcaegen2-services --namespace <namespace> --set global.masterPassword=<password>
+
+- To deploy only tcagen2:
+
+ .. code-block:: bash
+
+ helm install dev-dcae-tcagen2 dcaegen2-services/components/dcae-tcagen2 --namespace <namespace> --set global.masterPassword=<password>
+
+- To Uninstall
+
+ .. code-block:: bash
+
+ helm uninstall dev-dcae-tcagen2
+
+Application Configurations
+--------------------------
++-------------------------------+------------------------------------------------+
+|Configuration | Description |
++===============================+================================================+
+|streams_subscribes | Dmaap topics that the MS will consume messages |
++-------------------------------+------------------------------------------------+
+|streams_publishes | Dmaap topics that the MS will publish messages |
++-------------------------------+------------------------------------------------+
+|streams_subscribes. | Max polling Interval for consuming config data |
+|tca_handle_in. | from dmaap |
+|polling.auto_adjusting.max | |
+| | |
++-------------------------------+------------------------------------------------+
+|streams_subscribes. | Min polling Interval for consuming config data |
+|tca_handle_in. | from dmaap |
+|polling.auto_adjusting.min | |
+| | |
++-------------------------------+------------------------------------------------+
+|streams_subscribes. | Step down in polling Interval for consuming |
+|tca_handle_in. | config data from dmaap |
+|polling.auto_adjusting. | |
+|step_down | |
++-------------------------------+------------------------------------------------+
+|streams_subscribes. | Step up polling Interval for consuming config |
+|tca_handle_in. | data from dmaap |
+|polling.auto_adjusting.step_up | |
++-------------------------------+------------------------------------------------+
+|spring.data.mongodb.uri | MongoDB URI |
++-------------------------------+------------------------------------------------+
+|tca.aai.generic_vnf_path | AAI generic VNF path |
++-------------------------------+------------------------------------------------+
+|tca.aai.node_query_path | AAI node query path |
++-------------------------------+------------------------------------------------+
+|tca.aai.password | AAI password |
++-------------------------------+------------------------------------------------+
+|tca.aai.url | AAI base URL |
++-------------------------------+------------------------------------------------+
+|tca.aai.username | AAI username |
++-------------------------------+------------------------------------------------+
+|streams_subscribes. | DMAAP Consumer group for subscription |
+|tca_handle_in.consumer_group | |
++-------------------------------+------------------------------------------------+
+|streams_subscribes. | DMAAP Consumer id for subscription |
+|tca_handle_in.consumer_ids[0] | |
++-------------------------------+------------------------------------------------+
+|tca.policy | Policy details |
++-------------------------------+------------------------------------------------+
+|tca.processing_batch_size | Processing batch size |
++-------------------------------+------------------------------------------------+
+|tca.enable_abatement | Enable abatement |
++-------------------------------+------------------------------------------------+
+|tca.enable_ecomp_logging | Enable ecomp logging |
++-------------------------------+------------------------------------------------+
+