summaryrefslogtreecommitdiffstats
path: root/docs/sections/services/tcagen2-docker
diff options
context:
space:
mode:
authorVENKATESH KUMAR <vv770d@att.com>2020-04-06 18:55:10 -0400
committerVENKATESH KUMAR <vv770d@att.com>2020-04-10 16:02:56 -0400
commite64d2d643d8cf400263c9b01063fced6fc5edcb2 (patch)
tree1aa50a1973f021759f2cdd742e83a02b9220fa8d /docs/sections/services/tcagen2-docker
parentc790dcb3bbd3c498e0f838837c212ce185e70da5 (diff)
dcae r6 doc updates
Change-Id: I348d9bcf9eb69286fc4a12d8866d102186d26722 Signed-off-by: VENKATESH KUMAR <vv770d@att.com> Issue-ID: DCAEGEN2-1892 Signed-off-by: VENKATESH KUMAR <vv770d@att.com>
Diffstat (limited to 'docs/sections/services/tcagen2-docker')
-rw-r--r--docs/sections/services/tcagen2-docker/configuration.rst37
-rw-r--r--docs/sections/services/tcagen2-docker/delivery.rst14
-rw-r--r--docs/sections/services/tcagen2-docker/functionality.rst88
-rw-r--r--docs/sections/services/tcagen2-docker/index.rst21
-rw-r--r--docs/sections/services/tcagen2-docker/installation.rst69
5 files changed, 229 insertions, 0 deletions
diff --git a/docs/sections/services/tcagen2-docker/configuration.rst b/docs/sections/services/tcagen2-docker/configuration.rst
new file mode 100644
index 00000000..c076c034
--- /dev/null
+++ b/docs/sections/services/tcagen2-docker/configuration.rst
@@ -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
index 00000000..f6f2f4e0
--- /dev/null
+++ b/docs/sections/services/tcagen2-docker/delivery.rst
@@ -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
index 00000000..8b729b1d
--- /dev/null
+++ b/docs/sections/services/tcagen2-docker/functionality.rst
@@ -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
index 00000000..b2e32a68
--- /dev/null
+++ b/docs/sections/services/tcagen2-docker/index.rst
@@ -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
index 00000000..7fa53e29
--- /dev/null
+++ b/docs/sections/services/tcagen2-docker/installation.rst
@@ -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