..
+.. ========================
+.. * * * GUILIN * * *
+.. ========================
+
+
+Version: 7.0.0
+==============
+
+
+Abstract
+--------
+
+This document provides the release notes for Guilin release.
+
+Summary
+-------
+
+Following DCAE components are available with default ONAP/DCAE installation.
+
+ - Platform components
+
+ - Cloudify Manager (helm chart)
+ - Bootstrap container (helm chart)
+ - Configuration Binding Service (helm chart)
+ - Deployment Handler (helm chart)
+ - Policy Handler (helm chart
+ - Service Change Handler (helm chart)
+ - Inventory API (helm chart)
+ - Dashboard (helm chart)
+
+ - Service components
+
+ - VES Collector
+ - HV-VES Collector
+ - PNF-Registration Handler
+ - Docker based Threshold Crossing Analytics (TCA-Gen2)
+ - Holmes Rule Management *
+ - Holmes Engine Management *
+
+ - Additional resources that DCAE utilizes deployed using ONAP common charts:
+
+ - Postgres Database
+ - Mongo Database
+ - Redis Cluster Database
+ - Consul Cluster
+
+Below service components (mS) are available to be deployed on-demand.
+
+ - SNMPTrap Collector
+ - RESTConf Collector
+ - DataFile Collector
+ - PM-Mapper
+ - BBS-EventProcessor
+ - VES Mapper
+ - Heartbeat mS
+ - SON-Handler
+ - PM-Subscription Handler
+ - DataLake Handler (Admin and Feeder)
+ - Slice Analysis
+ - DataExposure Service
+
+ Notes:
+
+ \* These components are delivered by the Holmes project.
+
+
+
+Under OOM (Kubernetes) all DCAE component containers are deployed as Kubernetes Pods/Deployments/Services into Kubernetes cluster. DCAE platform components are deployed using Helm charts. DCAE service components are deployed using Cloudify blueprints. DCAE provides a Cloudify Manager plugin (k8splugin) that is capable of expanding a Cloudify blueprint node specification for a service component to a full Kubernetes specification, with additional enhancements such as replica scaling, sidecar for logging to ONAP ELK stack, registering services to MSB, etc.
+
+
+Release Data
+------------
+
++--------------------------------------+--------------------------------------------------------+
+| **DCAE Project** | |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Docker images** |Refer :any:`Deliverable <guilin_deliverable>` |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Release designation** | 7.0.0 Guilin |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Release date** | 2020-11-19 |
+| | |
++--------------------------------------+--------------------------------------------------------+
+
+
+New features
+------------
+
+- DCAE Enhancement
+
+ - Cloudify Container upgraded with new base image; plugins load optimized (DCAEGEN2-2236, DCAEGEN2-2207
+DCAEGEN2-2262)
+ - Bootstrap container optimization (DCAEGEN2-1791)
+ - MOD/Runtime – Enable configuration for dynamic topic support (DCAEGEN2-1996)
+ - MOD/OnboardingAPI - Support for offline install (DCAEGEN2-2221)
+ - DCAE Dashboard UI Optimization and bugfixes (DCAEGEN2-2223, DCAEGEN2-2364,DCAEGEN2-1638,DCAEGEN2-2298, DCAEGEN2-1857)
+ - Blueprint generator tool and K8Splugin enhancement to support External Certificate (DCAEGEN2-2250)
+ - K8S v1.17 support through DCAE Cloudify K8S plugins (DCAEGEN2-2309)
+ - Python 3.8 support enabled for several DCAE components - Heartbeat mS, PMSH mS, MOD/DistriubtorAPI mS, MOD/OnboardingAPI mS, Policy Library (DCAEGEN2-2292)
+ - Java 11 upgrade complete for following modules - RESTConf, PM-Mapper, DFC, VES-Mapper, SON-handler, TCA-gen2, DL-Feeder, InventoryAPI, ServiceChangeHandler, MOD/RuntimeAPI, MOD/Bp-gen (DCAEGEN2-2223)
+ - Hardcoded password removed from OOM charts - Cloudify, Bootstrap, DeploymentHandler, Dashboard; now managed dynamically through K8S secret (DCAEGEN2-1972, DCAEGEN2-1975)
+ - Best practice compliance
+ - STDOUT log compliance for DCAE Containers (DCAEGEN2-2324)
+ - No more than one main process (DCAEGEN2-2327/REQ-365)
+ - Container must crash when failure is noted (DCAEGEN2-2326/REQ-366)
+ - All containers must run as non-root (REQ-362)
+ - Code coverage >55% (DCAEGEN2-2333)
+ - All Vulnerability identified by SECCOM has been resolved (DCAEGEN2-2242)
+
+
+- Following new services are delivered this release
+
+ - Event Processors
+ - DataExposure Service
+
+ - Analytics/RCA
+ - Slice Analysis MS
+
+.. _guilin_deliverable:
+
+Deliverables
+------------
+
+Software Deliverables
+
+.. csv-table::
+ :header: "Repository", "SubModules", "Version & Docker Image (if applicable)"
+ :widths: auto
+
+ "dcaegen2/analytics/tca-gen2", "", "onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1"
+ "dcaegen2/collectors/datafile", "", "onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.4.3"
+ "dcaegen2/collectors/hv-ves", "", "onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.5.0"
+ "dcaegen2/collectors/restconf", "", "onap/org.onap.dcaegen2.collectors.restconfcollector:1.2.2"
+ "dcaegen2/collectors/snmptrap", "", "onap/org.onap.dcaegen2.collectors.snmptrap:2.0.3"
+ "dcaegen2/collectors/ves", "", "onap/org.onap.dcaegen2.collectors.ves.vescollector:1.7.8"
+ "dcaegen2/deployments", "cm-container", "onap/org.onap.dcaegen2.deployments.cm-container:3.3.4"
+ "dcaegen2/deployments", "consul-loader-container", "onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0"
+ "dcaegen2/deployments", "dcae-k8s-cleanup-container", "onap/org.onap.dcaegen2.deployments.dcae-k8s-cleanup-container:1.0.0"
+ "dcaegen2/deployments", "healthcheck-container", "onap/org.onap.dcaegen2.deployments.healthcheck-container:2.1.0"
+ "dcaegen2/deployments", "multisite-init-container", "onap/org.onap.dcaegen2.deployments.multisite-init-container:1.0.0"
+ "dcaegen2/deployments", "tls-init-container", "onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0"
+ "dcaegen2/platform", "mod/onboardingapi", "onap/org.onap.dcaegen2.platform.mod.onboardingapi:2.12.3"
+ "dcaegen2/platform", "mod/distributorapi", "onap/org.onap.dcaegen2.platform.mod.distributorapi:1.1.0"
+ "dcaegen2/platform", "mod/designtool", "onap/org.onap.dcaegen2.platform.mod.designtool-web:1.0.2"
+ "dcaegen2/platform", "mod/genprocessor", "onap/org.onap.dcaegen2.platform.mod.genprocessor-http:1.0.2"
+ "dcaegen2/platform", "mod/genprocessor", "onap/org.onap.dcaegen2.platform.mod.genprocessor-job:1.0.2"
+ "dcaegen2/platform", "mod/designtool/mod-registry", "onap/org.onap.dcaegen2.platform.mod.mod-registry:1.0.0"
+ "dcaegen2/platform", "mod/runtimeapi", "onap/org.onap.dcaegen2.platform.mod.runtime-web:1.1.1"
+ "dcaegen2/platform", "adapter/acumos", "onap/org.onap.dcaegen2.platform.adapter.acumos:1.0.3"
+ "dcaegen2/platform/blueprints", "", "onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:2.1.8"
+ "dcaegen2/platform/configbinding", "", "onap/org.onap.dcaegen2.platform.configbinding:2.5.3"
+ "dcaegen2/platform/deployment-handler", "", "onap/org.onap.dcaegen2.platform.deployment-handler:4.4.1"
+ "dcaegen2/platform/inventory-api", "", "onap/org.onap.dcaegen2.platform.inventory-api:3.5.1"
+ "dcaegen2/platform/policy-handler", "", "onap/org.onap.dcaegen2.platform.policy-handler:5.1.0"
+ "dcaegen2/platform/servicechange-handler", "", "onap/org.onap.dcaegen2.platform.servicechange-handler:1.4.0"
+ "dcaegen2/services", "components/datalake-handler", "onap/org.onap.dcaegen2.services.datalakefeeder:1.1.0"
+ "dcaegen2/services", "components/datalake-handler", "onap/org.onap.dcaegen2.services.datalakeadminui:1.1.0"
+ "dcaegen2/services", "components/datalake-handler", "onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.0"
+ "dcaegen2/services", "components/pm-subscription-handler", "onap/org.onap.dcaegen2.services.pmsh:1.1.2"
+ "dcaegen2/services", "components/slice-analysis-ms", "onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.1"
+ "dcaegen2/services", "components/bbs-event-processor", "onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.0.1"
+ "dcaegen2/services/heartbeat", "", "onap/org.onap.dcaegen2.services.heartbeat:2.1.1"
+ "dcaegen2/services/mapper", "", "onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.1.0"
+ "dcaegen2/services/pm-mapper", "", "onap/org.onap.dcaegen2.services.pm-mapper:1.4.1"
+ "dcaegen2/services/prh", "", "onap/org.onap.dcaegen2.services.prh.prh-app-server:1.5.4"
+ "dcaegen2/services/son-handler", "", "onap/org.onap.dcaegen2.services.son-handler:2.1.2"
+ "dcaegen2/platform", "mod/bpgenerator", "Blueprint Generator 1.5.2 (jar)"
+ "dcaegen2/services/sdk", "", "DCAE SDK 1.4.3 (jar)"
+ "ccsdk/dashboard", "", "onap/org.onap.ccsdk.dashboard.ccsdk-app-os:1.4.0"
+
+
+Known Limitations, Issues and Workarounds
+-----------------------------------------
+
+ * BPGenerator yaml Fixes are different for yaml file and string (DCAEGEN2-2489)
+ * Ves Collector is down because of java heap space (DCAEGEN2-2495)
+
+
+
+*System Limitations*
+
+None
+
+*Known Vulnerabilities*
+
+None
+
+*Workarounds*
+
+Documented under corresponding jira if applicable.
+
+Security Notes
+--------------
+
+*Fixed Security Issues*
+ Listed above
+
+*Known Security Issues*
+
+ None
+
+
+*Known Vulnerabilities in Used Modules*
+
+ None
+
+DCAE code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The DCAE open Critical security vulnerabilities and their risk assessment have been documented as part of the `project <https://wiki.onap.org/pages/viewpage.action?pageId=51282478>`_.
+
+Test Results
+------------
+
+ - `DCAE Pairwise Test <https://wiki.onap.org/display/DW/DCAE+Pair+Wise+Testing+for+Guilin+Release>`_
+ - `DCAE MOD Test <https://wiki.onap.org/display/DW/DCAE+R7+Testplan>`_
+
+
+References
+----------
+
+For more information on the ONAP Guilin release, please see:
+
+#. `ONAP Home Page`_
+#. `ONAP Documentation`_
+#. `ONAP Release Downloads`_
+#. `ONAP Wiki Page`_
+
+
+.. _`ONAP Home Page`: https://www.onap.org
+.. _`ONAP Wiki Page`: https://wiki.onap.org
+.. _`ONAP Documentation`: https://docs.onap.org
+.. _`ONAP Release Downloads`: https://git.onap.org
+
+Quick Links:
+
+ - `DCAE project page <https://wiki.onap.org/display/DW/Data+Collection+Analytics+and+Events+Project>`_
+ - `Passing Badge information for DCAE <https://bestpractices.coreinfrastructure.org/en/projects/1718>`_
+
+
+
+
.. ======================================
.. * * * EL-ALTO MAINTENANCE * * *
.. ======================================
+++ /dev/null
-Compiling TCA
-=============
-
-TCA code is maintained under https://gerrit.onap.org/r/#/admin/projects/dcaegen2/analytics/tca
-To build just the TCA component, run the following maven command
-`mvn clean install`
-
-
-Maven GroupId
--------------
-
-org.onap.dcaegen2.analytics.tca
-
-Maven Parent ArtifactId
------------------------
-dcae-analytics
-
-Maven Children Artifacts
-------------------------
-1. dcae-analytics-test: Common test code for all DCAE Analytics Modules
-2. dcae-analytics-model: Contains models (e.g. Common Event Format) which are common to DCAE Analytics
-3. dcae-analytics-common: Contains Components common to all DCAE Analytics Modules - contains high level abstractions
-4. dcae-analytics-dmaap: DMaaP(Data Movement as a Platform) MR (Message Router)API using AAF(Authentication and Authorization Framework)
-5. dcae-analytics-tca: DCAE Analytics TCA (THRESHOLD CROSSING ALERT) Core
-6. dcae-analytics-cdap-common: Common code for all cdap modules
-7. dcae-analytics-cdap-tca: CDAP Flowlet implementation for TCA
-8. dcae-analytics-cdap-plugins: CDAP Plugins
-9. dcae-analytics-cdap-it: Cucumber and CDAP Pipeline integration tests
-
-
-API Endpoints
--------------
-
-For deployment into CDAP, following API's can be used to deploy TCA application.
-
-# create namespace
-curl -X PUT http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo
-
-# load artifact
-curl -X POST --data-binary @/c/usr/tmp/dcae-analytics-cdap-tca-2.0.0-SNAPSHOT.jar http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo/artifacts/dcae-analytics-cdap-tca
-
-# create app
-curl -X PUT -d @/c/usr/docs/ONAP/tca_app_config.json http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca
-
-# load preferences
-curl -X PUT -d @/c/usr/docs/ONAP/tca_app_preferences.json http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/preferences
-
-# start program
-curl -X POST http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRPublisherWorker/start
-curl -X POST http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRSubscriberWorker/start
-curl -X POST http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/flows/TCAVESCollectorFlow/start
-
-# check status
-curl http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRPublisherWorker/status
-curl http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRSubscriberWorker/status
-curl http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/flows/TCAVESCollectorFlow/status
-
-# Delete namespace (and all its content)
-# curl -X DELETE http://<k8s-clusterIP>:11015/v3/unrecoverable/namespaces/cdap_tca_hi_lo
-
-# Delete artifact
-# curl -X DELETE http://<k8s-clusterIP>:11015/v3/namespaces/cdap_tca_hi_lo/artifacts/dcae-analytics-cdap-tca/versions/2.0.0.SNAPSHOT
-
-
-TCA CDAP Container
-------------------
-If new jar is generated, corresponding version should be updated into https://git.onap.org/dcaegen2/deployments/tree/tca-cdap-container.
-
-Following files should be revised
-- tca_app_config.json
-- tca_app_preferences.json
-- restart.sh
-
+++ /dev/null
-Functionality
-=============
-
-TCA is CDAP application driven by the VES collector events published into Message Router. This Message Router topic is the source for the CDAP application which will read each incoming message. If a message meets the Common Event Format (CEF, v28.3) as specified by the VES 5.3 standard, it will be parsed and if it contains a message which matches the policy configuration for a given metric (denoted primarily by the "eventName" and the "fieldPath"), the value of the metric will be compared to the "thresholdValue". If that comparison indicates that a Control Loop Event Message should be generated, the application will output the alarm to the Message Router topic in a format that matches the interface spec defined for Control-Loop by ONAP-Policy
-
-Assumptions:
-
-TCA output will be similar to R0 implementation, where CL event will be triggered each time threshold rules are met.
-In the context of the vCPE use case, the CLEAR event (aka ABATED event) is driven by a measured metric (i.e. packet loss equal to 0) rather than by the lapse of a threshold crossing event over some minimum number of measured intervals. Thus, this requirement can be accommodated by use of the low threshold with a policy of "direction = 0". Hence, for this release, the cdap-tca-hi-lo implementation will keep only the minimal state needed to correlate an ABATED event with the corresponding ONSET event. This correlation will be indicated by the requestID in the Control Loop Event Message.
-
-CDAP Programming Paradigm
-
-Since Amsterdam/ONAP R1, the code has been refactored to allow for delivery as either a flowlet or a batch pipeline. Current implementation will stay with the flowlet version.
-
-
-TCA is used multiple ONAP usecases since ONAP Amsterdam release. Single TCA instance can be deployed to support all 3 usecases.
-- vFirewall
-- vDNS
-- vCPE
-
-
-Following is default configuration set for TCA during deployment.
-
-.. code-block:: json
-
- {
- "domain": "measurementsForVfScaling",
- "metricsPerEventName": [{
- "eventName": "measurement_vFirewall-Att-Linkdownerr",
- "controlLoopSchemaType": "VM",
- "policyScope": "DCAE",
- "policyName": "DCAE.Config_tca-hi-lo",
- "policyVersion": "v0.0.1",
- "thresholds": [{
- "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
- "version": "1.0.2",
- "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
- "thresholdValue": 300,
- "direction": "LESS_OR_EQUAL",
- "severity": "MAJOR",
- "closedLoopEventStatus": "ONSET"
- }, {
- "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
- "version": "1.0.2",
- "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
- "thresholdValue": 700,
- "direction": "GREATER_OR_EQUAL",
- "severity": "CRITICAL",
- "closedLoopEventStatus": "ONSET"
- }]
- }, {
- "eventName": "vLoadBalancer",
- "controlLoopSchemaType": "VM",
- "policyScope": "DCAE",
- "policyName": "DCAE.Config_tca-hi-lo",
- "policyVersion": "v0.0.1",
- "thresholds": [{
- "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
- "version": "1.0.2",
- "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
- "thresholdValue": 300,
- "direction": "GREATER_OR_EQUAL",
- "severity": "CRITICAL",
- "closedLoopEventStatus": "ONSET"
- }]
- }, {
- "eventName": "Measurement_vGMUX",
- "controlLoopSchemaType": "VNF",
- "policyScope": "DCAE",
- "policyName": "DCAE.Config_tca-hi-lo",
- "policyVersion": "v0.0.1",
- "thresholds": [{
- "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
- "version": "1.0.2",
- "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
- "thresholdValue": 0,
- "direction": "EQUAL",
- "severity": "MAJOR",
- "closedLoopEventStatus": "ABATED"
- }, {
- "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
- "version": "1.0.2",
- "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
- "thresholdValue": 0,
- "direction": "GREATER",
- "severity": "CRITICAL",
- "closedLoopEventStatus": "ONSET"
- }]
- }]
- }
-
-For more details about the exact flows - please refer to usecases wiki