dcae r6 doc updates 83/105183/3
authorVENKATESH KUMAR <vv770d@att.com>
Mon, 6 Apr 2020 22:55:10 +0000 (18:55 -0400)
committerVENKATESH KUMAR <vv770d@att.com>
Fri, 10 Apr 2020 20:02:56 +0000 (16:02 -0400)
Change-Id: I348d9bcf9eb69286fc4a12d8866d102186d26722
Signed-off-by: VENKATESH KUMAR <vv770d@att.com>
Issue-ID: DCAEGEN2-1892
Signed-off-by: VENKATESH KUMAR <vv770d@att.com>
15 files changed:
docs/sections/apis/deployment-handler-API.json
docs/sections/apis/deployment-handler-API.yaml
docs/sections/architecture.rst
docs/sections/components/blueprint_generator.rst [new file with mode: 0644]
docs/sections/components/component-development.rst
docs/sections/images/R6_architecture_diagram.png [new file with mode: 0644]
docs/sections/release-notes.rst
docs/sections/services/snmptrap/delivery.rst
docs/sections/services/snmptrap/installation.rst
docs/sections/services/snmptrap/release-notes.rst
docs/sections/services/tcagen2-docker/configuration.rst [new file with mode: 0644]
docs/sections/services/tcagen2-docker/delivery.rst [new file with mode: 0644]
docs/sections/services/tcagen2-docker/functionality.rst [new file with mode: 0644]
docs/sections/services/tcagen2-docker/index.rst [new file with mode: 0644]
docs/sections/services/tcagen2-docker/installation.rst [new file with mode: 0644]

index 91a7827..f72cc18 100644 (file)
@@ -1,7 +1,7 @@
 {
   "swagger": "2.0",
   "info": {
-    "version": "3.0.3",
+    "version": "4.3.0",
     "title": "deployment-handler API",
     "license": {
       "name": "Apache 2.0",
index 7d3cf6e..edf5582 100644 (file)
@@ -19,7 +19,7 @@
 swagger: '2.0'
 
 info:
-  version: "3.0.3"
+  version: "4.3.0"
   title: "deployment-handler API"
   license:
     name: "Apache 2.0"
index f4084ee..7041083 100644 (file)
@@ -25,10 +25,10 @@ transported among different DCAE service components.
 DCAE use Consul's distributed K-V store service to manage component configurations where each key is based on the unique identity of a DCAE component (identified by ServiceComponentName), and the value is the configuration for the corresponding component. The K-V store for each service components is created during deployment. DCAE platform creates and updates the K-V pairs based on information provided as part of the control loop blueprint deployment, or through a notification/trigger received from other ONAP components such as Policy Framework and CLAMP.  Either through periodically polling or proactive pushing, the DCAE  components get the configuration updates in realtime and apply the configuration updates.  DCAE Platform also offers dynamic template resolution for configuration parameters that are dynamic and only known by the DCAE platform, such as dynamically provisioned DMaaP topics. This approach standardizes component deployment and configuration management for DCAE service components in multi-site deployment.
 
 
-DCAE R4 Components
-------------------
+DCAE Components
+---------------
 
-The following list displays the details of what are included in ONAP DCAE R4.  All DCAE components are offered as Docker containers.  Following ONAP level deployment methods, these components can be deployed as Kubernetes Deployments and Services.  
+The following lists the components included in ONAP DCAE .  All DCAE components are offered as Docker containers.  Following ONAP level deployment methods, these components can be deployed as Kubernetes Deployments and Services.  
 
 - DCAE Platform
     - Core Platform
@@ -56,6 +56,7 @@ The following list displays the details of what are included in ONAP DCAE R4.  A
     - Analytics
         - Holmes correlation analytics
         - CDAP based Threshold Crosssing Analytics application (tca)
+        - Docker based Threshold Crosssing Analytics
         - Heartbeat Services
         - SON-Handler Service
     - Microservices
@@ -63,11 +64,12 @@ The following list displays the details of what are included in ONAP DCAE R4.  A
         - VES Mapper Service
         - PM-Mapper Service
         - BBS-EventProcessor Service
+        - PM Subcription Handler
         
 
-The figure below shows the DCAE R4 architecture and how the components work with each other.  The components on the right constitute the Platform/controller components which are statically deployed. The components on the right represent the services which can be both deployed statically or dynamically (via CLAMP)
+The figure below shows the DCAE architecture and how the components work with each other.  The components on the right constitute the Platform/controller components which are statically deployed. The components on the right represent the services which can be both deployed statically or dynamically (via CLAMP)
 
-.. image:: images/R4_architecture_diagram.png
+.. image:: images/R6_architecture_diagram.png
  
 
 Deployment Scenarios
@@ -75,7 +77,7 @@ Deployment Scenarios
 
 Because DCAE service components are deployed on-demand following the control loop needs for managing ONAP deployed services, DCAE must support dynamic and on-demand deployment of service components based on ONAP control loop demands.  This is why all other ONAP components are launched from the ONAP level method, DCAE only deploys a subset of its components during this ONAP deployment process and rest of DCAE components will be deployed on-demand based on usecase needs triggered by control loop request originated from CLAMP, or even by operator manually invoking DCAE's deployment API call.
 
-For R4, ONAP supports deployment via OOM Helm Chart method and Heat deployment support is discontinued. DCAE Platform components are deployed via Helm charts - this includes Cloudify Manager, ConfigBinding service, ServiceChange Handler, Policy Handler and Inventory.   Once DCAE platform components are up and running, rest of DCAE service components required for ONAP  flow are deployed via bootstrap POD, which invokes Cloudify Manager API with Blueprints for various DCAE components that are needed for the built-in collections and control loops flow support.  
+ONAP supports deployment through OOM Helm Chart currently (Heat deployment support is discontinued since R3). Hence all DCAE Platform components are deployed via Helm charts - this includes Cloudify Manager, ConfigBinding service, ServiceChange Handler, Policy Handler, Dashboard and Inventory, each with corresponding Helm charts under OOM (https://git.onap.org/oom/tree/kubernetes/dcaegen2/components).   Once DCAE platform components are up and running, rest of DCAE service components required for ONAP  flow are deployed via bootstrap POD, which invokes Cloudify Manager API with Blueprints for various DCAE components that are needed for the built-in collections and control loops flow support.  
 
 To keep the ONAP footprint minimal, only minimal set of MS (required for ONAP Integration usecases) are deployed via bootstrap pod. Rest of service blueprints are available for operator to deploy on-demand as required. 
 
@@ -87,7 +89,7 @@ More details of the DCAE deployment can be found under Installation section.
 Usage Scenarios
 ---------------
 
-For ONAP R4 DCAE participates in the following use cases.
+For ONAP  DCAE participates in the following use cases.
 
 - vDNS:  VES collector, TCA analytics
 
@@ -101,7 +103,7 @@ For ONAP R4 DCAE participates in the following use cases.
 
 - BBS : VES Collector, PRH, BBS-Event Processor, VES-Mapper, RESTConf Collector
 
-- 5g : DataFile Collector, PM-Mapper, HV-VES 
+- 5g Bulk PM : DataFile Collector, PM-Mapper, HV-VES 
  
 
 In addition, DCAE supports on-demand deployment and configuration of service components via CLAMP.  In such case CLAMP invokes the deployment and configuration of additional TCA instances.
diff --git a/docs/sections/components/blueprint_generator.rst b/docs/sections/components/blueprint_generator.rst
new file mode 100644 (file)
index 0000000..8813cef
--- /dev/null
@@ -0,0 +1,77 @@
+
+Blueprint Generator (DCAE)
+=============================================
+
+What is the Blueprint Generator?
+++++++++++++++++++++++++++++++++
+The blueprint generator is a java rewrite of the tosca lab python tool. The point of this tool is to be able to take a component spec for a given micro-service and translate that component spec into a blueprint yaml file that can be used during deployment.
+
+
+Steps to run the blueprint generator:
++++++++++++++++++++++++++++++++++++++
+
+1. Download the jar file from Nexus by clicking `here <https://nexus.onap.org/service/local/repositories/releases/content/org/onap/dcaegen2/platform/mod/blueprint-generator/1.3.1/blueprint-generator-1.3.1-executable.jar>`_ or running
+    ``https://nexus.onap.org/service/local/repositories/releases/content/org/onap/dcaegen2/platform/mod/blueprint-generator/1.3.1/blueprint-generator-1.3.1-executable.jar``
+
+2. To execute the application, run the following command: 
+    ``java -jar blueprint-generator-1.3.1-executable.jar blueprint``
+
+3. This execution will provide the help, as you have not provided the required flags.
+
+4. When ready you can run the program again except with the required flags.
+
+5. OPTIONS:
+    -p: The path to where the final blueprint yaml file will be created (required)
+
+    -i: The path to the JSON spec file (required)
+
+    -n: Name of the blueprint (optional)
+
+    -t: the path to the import yaml file (optional)
+    
+    -d: If this flag is present the bp generator will be created with dmaap plugin (optional)
+
+    -o: This flag will create a service component override for your deployment equal to the value you put (optional)
+
+6. An example running this program would look like this:
+    ``java -jar blueprint-generator-1.2.1-executable.jar -p blueprint_output -i ComponentSpecs/TestComponentSpec.json -n TestAppBlueprint``
+
+
+Extra information
+-----------------
+
+1. The component spec must be of the same format as stated in the onap `readthedocs <https://onap.readthedocs.io/en/latest/submodules/dcaegen2.git/docs/sections/components/component-specification/common-specification.html#working-with-component-specs>`_ page
+
+2. If the tag says required then the program will not run without those tags being there
+
+3. If the tag says optional then it is not necessary to run the program with those tags
+
+4. If you do not add a -n tag the blueprint name will default to what it is in the component spec
+
+5. If the directory you specified in the -p tag does not already exist the directory will be created for you
+
+6. The -t flag will override the default imports set for the blueprints. To see an example of how the import yaml file should be structured see the testImports.yaml file under the folder TestCases
+
+
+How to create policy models:
++++++++++++++++++++++++++++++++++++++
+
+1. Policy model creation can be done with the same jar as downloaded for the blueprint generation.
+
+2. Run the same command as the blueprint generator except replace the ``blueprint`` positional with ``policy``
+
+3. Example command:
+    ``java -jar blueprint-generator-1.3.1-executable.jar policy``
+
+4. Options:
+
+   -i: The path to the JSON spec file (required)
+
+   -p: The Output path for all of the models (required)
+
+Extra information
+-----------------
+
+1. Not all component specs will be able to create policy models
+
+2. Multiple policy model files may be create from a single component spec
\ No newline at end of file
index 2446390..d4b34a7 100644 (file)
@@ -10,6 +10,7 @@ Onboarding Pre-requisite (Service Component)
    ./intro.rst
    ./architecture/pieces.rst
    ./architecture/service-discovery.rst
+   ./architecture/blueprint_generator.rst
    ./requirements-guidelines.rst
    ./component-specification/component-specification.rst
    ./component-json-schema.rst
diff --git a/docs/sections/images/R6_architecture_diagram.png b/docs/sections/images/R6_architecture_diagram.png
new file mode 100644 (file)
index 0000000..f12d86d
Binary files /dev/null and b/docs/sections/images/R6_architecture_diagram.png differ
index 4c3b674..bcfee8f 100644 (file)
@@ -123,7 +123,7 @@ Artifacts released:
    "dcaegen2/deployments", "cm-container", "onap/org.onap.dcaegen2.deployments.cm-container:2.1.0"
    "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:1.3.0"
+   "dcaegen2/deployments", "healthcheck-container", "onap/org.onap.dcaegen2.deployments.healthcheck-container:1.3.1"
    "dcaegen2/deployments", "multisite-init-container", "onap/org.onap.dcaegen2.deployments.multisite-init-container:1.0.0"
    "dcaegen2/deployments", "redis-cluster-container", "onap/org.onap.dcaegen2.deployments.redis-cluster-container:1.0.0"
    "dcaegen2/deployments", "tca-cdap-container", "onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.2.2"
@@ -134,15 +134,15 @@ Artifacts released:
    "dcaegen2/platform", "mod/genprocessor", "onap/org.onap.dcaegen2.platform.mod.genprocessor-http:1.0.1"
    "dcaegen2/platform", "mod/genprocessor", "onap/org.onap.dcaegen2.platform.mod.genprocessor-job:1.0.1"
    "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.0.1"
-   "dcaegen2/platform/blueprints", "", "onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.12.4"   
+   "dcaegen2/platform", "mod/runtimeapi", "onap/org.onap.dcaegen2.platform.mod.runtime-web:1.0.3"
+   "dcaegen2/platform/blueprints", "", "onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.12.5" 
    "dcaegen2/platform/configbinding", "", "onap/org.onap.dcaegen2.platform.configbinding:2.5.2"
    "dcaegen2/platform/deployment-handler", "", "onap/org.onap.dcaegen2.platform.deployment-handler:4.3.0"
    "dcaegen2/platform/inventory-api", "", "onap/org.onap.dcaegen2.platform.inventory-api:3.4.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.3.2"
-   "dcaegen2/services", "components/datalake-handler", "onap/org.onap.dcaegen2.services.datalakefeeder:1.0.0"
-   "dcaegen2/services", "components/datalake-handler", "onap/org.onap.dcaegen2.services.datalakeadminui:1.0.1"
+   "dcaegen2/services", "components/datalake-handler", "onap/org.onap.dcaegen2.services.datalakefeeder:1.0.2"
+   "dcaegen2/services", "components/datalake-handler", "onap/org.onap.dcaegen2.services.datalakeadminui:1.0.2"
    "dcaegen2/services", "components/pm-subscription-handler", "onap/org.onap.dcaegen2.services.pmsh:1.0.3"
    "dcaegen2/services", "components/bbs-event-processor", "onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.0.0"
    "dcaegen2/services/heartbeat", "", "onap/org.onap.dcaegen2.services.heartbeat:2.1.0"
index 8742558..70bdba3 100644 (file)
@@ -9,7 +9,7 @@ Docker Container
 
 **trapd** is delivered as a docker container that can be downloaded from onap:
 
-    ``docker run --detach -t --rm -p 162:6162/udp -P --name=SNMPTRAP nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap ./bin/snmptrapd.sh start``
+    ``docker run --detach -t --rm -p 162:6162/udp -P --name=SNMPTRAP nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.3 ./bin/snmptrapd.sh start``
 
 
 Standalone
index d91a46b..ab523ef 100644 (file)
@@ -32,7 +32,7 @@ Installation
 The following command will download the latest trapd container from
 nexus and launch it in the container named "trapd":
 
-    ``docker run --detach -t --rm -p 162:6162/udp -P --name=trapd nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap ./bin/snmptrapd.sh start``
+    ``docker run --detach -t --rm -p 162:6162/udp -P --name=trapd nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.3 ./bin/snmptrapd.sh start``
 
 Running an instance of **trapd** will result in arriving traps being published
 to the topic specified by Config Binding Services.  
index ec03132..5c46d60 100644 (file)
@@ -5,6 +5,38 @@
 Release Notes
 =============
 
+
+
+Version: 2.3.0
+--------------
+
+:Release Date: 2020-04-01
+
+
+**New Features**
+
+    - `https://jira.onap.org/browse/DCAEGEN2-2020`
+    Eliminate use of consul service discovery in snmptrap
+
+    - `https://jira.onap.org/browse/DCAEGEN2-2068`
+    Updated dependency library version; stormwatch support
+
+
+**Bug Fixes**
+  
+**Known Issues**
+
+**Security Issues**
+    - None 
+
+**Upgrade Notes**
+
+**Deprecation Notes**
+
+**Other**
+
+
+
 Version: 1.4.0
 --------------
 
diff --git a/docs/sections/services/tcagen2-docker/configuration.rst b/docs/sections/services/tcagen2-docker/configuration.rst
new file mode 100644 (file)
index 0000000..c076c03
--- /dev/null
@@ -0,0 +1,37 @@
+Configuration
+=============
+
+
+Following is default configuration set for TCA during deployment.
+
+.. code-block:: yaml
+
+        spring.data.mongodb.uri:
+          get_input: spring.data.mongodb.uri
+        streams_subscribes.tca_handle_in.consumer_group:
+          get_input: tca_consumer_group
+        streams_subscribes.tca_handle_in.consumer_ids[0]: c0
+        streams_subscribes.tca_handle_in.consumer_ids[1]: c1
+        streams_subscribes.tca_handle_in.message_limit: 50000
+        streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000
+        streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000
+        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000
+        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000
+        streams_subscribes.tca_handle_in.polling.fixed_rate: 0
+        streams_subscribes.tca_handle_in.timeout: -1
+        tca.aai.enable_enrichment: true
+        tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf
+        tca.aai.node_query_path: aai/v11/search/nodes-query
+        tca.aai.password:
+          get_input: tca.aai.password
+        tca.aai.url:
+          get_input: tca.aai.url
+        tca.aai.username:
+          get_input: tca.aai.username
+        tca.policy: '{"domain":"measurementsForVfScaling","metricsPerEventName":[{"eventName":"vFirewallBroadcastPackets","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"}]}]}'
+        tca.processing_batch_size: 10000
+        tca.enable_abatement: true
+        tca.enable_ecomp_logging: true
+
+
+Complete configuration and input defaults can be found on blueprint here - https://git.onap.org/dcaegen2/platform/blueprints/plain/blueprints/k8s-tcagen2.yaml 
\ No newline at end of file
diff --git a/docs/sections/services/tcagen2-docker/delivery.rst b/docs/sections/services/tcagen2-docker/delivery.rst
new file mode 100644 (file)
index 0000000..f6f2f4e
--- /dev/null
@@ -0,0 +1,14 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Delivery
+========
+
+Docker Container
+----------------
+
+**TCA-GEN2** is delivered as a docker image that can be downloaded from ONAP docker registry:
+
+::
+
+    ``docker run -d --name tca-gen2 -e CONFIG_BINDING_SERVICE_SERVICE_HOST=<IP Required> -e CONFIG_BINDING_SERVICE_SERVICE_PORT=<Port Required> -e HOSTNAME=<HOSTNAME>  nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:<tag>``
diff --git a/docs/sections/services/tcagen2-docker/functionality.rst b/docs/sections/services/tcagen2-docker/functionality.rst
new file mode 100644 (file)
index 0000000..8b729b1
--- /dev/null
@@ -0,0 +1,88 @@
+Functionality
+=============
+
+TCA-gen2 is 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 VES (CEF, v28.4) as specified by the VES 5.4 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-gen2 output will be similar to R0 Tca/cdap 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".  TCA-gen2 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.
+
+
+TCA-gen2 can support multiple ONAP usecases. Single TCA instance can be deployed to support all 3 usecases.
+- vFirewall
+- vDNS
+- vCPE
+
+Following is default configuration set for TCA-gen2 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
diff --git a/docs/sections/services/tcagen2-docker/index.rst b/docs/sections/services/tcagen2-docker/index.rst
new file mode 100644 (file)
index 0000000..b2e32a6
--- /dev/null
@@ -0,0 +1,21 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+=====================================================
+Docker based Threshold Crossing Analytics  (TCA-gen2)
+=====================================================
+
+
+Overview
+========
+
+The TCA-gen2 is docker based mS intended to replace TCA/cdap version, which was first delivered as part of ONAP R0.   Functionality of TCA-gen2 is identical to that of TCA - where meaurement events are subscribed from DMAAP in VES structure, once events are recieved TCA-gen2 performs a comparison of an incoming performance metric(s) against both a high and low threshold defined and generates CL events when threshold are exceeded. When the original threshold defined are cleared, TCA-Gen2 will generate an ABATEMENT event to notify the downstream system on original problem being cleared.
+
+
+.. toctree::
+   :maxdepth: 1
+
+   ./installation
+   ./configuration
+   ./functionality
+   ./delivery
\ No newline at end of file
diff --git a/docs/sections/services/tcagen2-docker/installation.rst b/docs/sections/services/tcagen2-docker/installation.rst
new file mode 100644 (file)
index 0000000..7fa53e2
--- /dev/null
@@ -0,0 +1,69 @@
+Installation
+============
+
+TCA-gen2 is a microservice that will be configured and instantiated through Cloudify Manager.TCA-gen2 will be deployed by DCAE deployment among the bootstrapped services. This is more to facilitate automated deployment of ONAP regression test cases required services.   During instantiation, the TCA-gen2 will fetch its configuration through the Config Binding Service. Steps to deploy using the CLI tool are shown below.
+
+Deployment Prerequisite/dependencies
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+    - DCAE and DMaaP pods should be up and running.
+    - MongoDB should be up and running
+    - Make sure that cfy is installed and configured to work with the Cloudify deployment.
+
+Deployment steps
+^^^^^^^^^^^^^^^^
+
+Following are steps if manual deployment/undeployment is required.  Steps to deploy are below
+
+
+Enter the Cloudify Manager kuberenetes pod
+
+    - Tca-gen2 blueprint directory (/blueprints/k8s-tcagen2.yaml). The blueprint is also maintained in gerrit and can be downloaded from
+    https://git.onap.org/dcaegen2/platform/blueprints/tree/blueprints/k8s-tcagen2.yaml
+     
+    - Create input file required for deployment
+       
+        Configuration of the service consists of generating an inputs file (YAML) which will be used as part of the
+        Cloudify install. The tca-gen2 blueprints was designed with known defaults for the majority of the fields.
+        
+        Below you will find examples of fields which can be configured, and some of the fields
+        which must be configured. The full list of configurable parameters can be seen within the bootstrap container under 
+        /inputs/k8s-tcagen2-inputs.yaml
+        
+
+        .. csv-table::
+            :widths: auto
+            :delim: ;
+            :header: Property , Sample Value , Description , Required
+            tca_handle_in_subscribe_url ; http://message-router:3904/events/unauthenticated.TCAGEN2_OUTPUT/; DMaap topic to publish CL event output ; No
+            tca_handle_in_subscribe_url ; http://message-router:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT/; DMaap topic to subscribe VES measurement feeds ; No
+            tag_version ; nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.0.1 ; The tag of the Docker image will be used when deploying the tca-gen2. ; No
+
+        Example inputs.yaml
+
+        .. code-block:: yaml
+
+                tag_version: nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.0.1
+                tca_handle_in_subscribe_url: "http://message-router:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT/"
+                tca_handle_out_publish_url: "http://message-router:3904/events/unauthenticated.TCAGEN2_OUTPUT/"
+
+
+    - Create deployment
+
+        .. code-block:: bash
+
+            cfy install --blueprint-id tca-gen2 --deployment-id tca-gen2 -i k8s-tcagen2-inputs.yaml /blueprints/k8s-tcagen2.yaml
+        
+
+
+To undeploy TCA-gen2, steps are shown below
+
+- Uninstall running TCA-gen2 and delete deployment
+    .. code-block:: bash
+        
+        cfy uninstall tca-gen2
+- Delete blueprint
+    .. code-block:: bash
+        
+        cfy blueprints delete tca-gen2
+        
\ No newline at end of file