diff options
author | VENKATESH KUMAR <vv770d@att.com> | 2020-04-06 18:55:10 -0400 |
---|---|---|
committer | VENKATESH KUMAR <vv770d@att.com> | 2020-04-10 16:02:56 -0400 |
commit | e64d2d643d8cf400263c9b01063fced6fc5edcb2 (patch) | |
tree | 1aa50a1973f021759f2cdd742e83a02b9220fa8d | |
parent | c790dcb3bbd3c498e0f838837c212ce185e70da5 (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>
-rw-r--r-- | docs/sections/apis/deployment-handler-API.json | 2 | ||||
-rw-r--r-- | docs/sections/apis/deployment-handler-API.yaml | 2 | ||||
-rw-r--r-- | docs/sections/architecture.rst | 18 | ||||
-rw-r--r-- | docs/sections/components/blueprint_generator.rst | 77 | ||||
-rw-r--r-- | docs/sections/components/component-development.rst | 1 | ||||
-rw-r--r-- | docs/sections/images/R6_architecture_diagram.png | bin | 0 -> 50093 bytes | |||
-rw-r--r-- | docs/sections/release-notes.rst | 10 | ||||
-rw-r--r-- | docs/sections/services/snmptrap/delivery.rst | 2 | ||||
-rw-r--r-- | docs/sections/services/snmptrap/installation.rst | 2 | ||||
-rw-r--r-- | docs/sections/services/snmptrap/release-notes.rst | 32 | ||||
-rw-r--r-- | docs/sections/services/tcagen2-docker/configuration.rst | 37 | ||||
-rw-r--r-- | docs/sections/services/tcagen2-docker/delivery.rst | 14 | ||||
-rw-r--r-- | docs/sections/services/tcagen2-docker/functionality.rst | 88 | ||||
-rw-r--r-- | docs/sections/services/tcagen2-docker/index.rst | 21 | ||||
-rw-r--r-- | docs/sections/services/tcagen2-docker/installation.rst | 69 |
15 files changed, 358 insertions, 17 deletions
diff --git a/docs/sections/apis/deployment-handler-API.json b/docs/sections/apis/deployment-handler-API.json index 91a78279..f72cc183 100644 --- a/docs/sections/apis/deployment-handler-API.json +++ b/docs/sections/apis/deployment-handler-API.json @@ -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", diff --git a/docs/sections/apis/deployment-handler-API.yaml b/docs/sections/apis/deployment-handler-API.yaml index 7d3cf6e3..edf55821 100644 --- a/docs/sections/apis/deployment-handler-API.yaml +++ b/docs/sections/apis/deployment-handler-API.yaml @@ -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" diff --git a/docs/sections/architecture.rst b/docs/sections/architecture.rst index f4084eeb..70410838 100644 --- a/docs/sections/architecture.rst +++ b/docs/sections/architecture.rst @@ -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 index 00000000..8813cefd --- /dev/null +++ b/docs/sections/components/blueprint_generator.rst @@ -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 diff --git a/docs/sections/components/component-development.rst b/docs/sections/components/component-development.rst index 24463902..d4b34a74 100644 --- a/docs/sections/components/component-development.rst +++ b/docs/sections/components/component-development.rst @@ -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 Binary files differnew file mode 100644 index 00000000..f12d86d2 --- /dev/null +++ b/docs/sections/images/R6_architecture_diagram.png diff --git a/docs/sections/release-notes.rst b/docs/sections/release-notes.rst index 4c3b6744..bcfee8fc 100644 --- a/docs/sections/release-notes.rst +++ b/docs/sections/release-notes.rst @@ -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" diff --git a/docs/sections/services/snmptrap/delivery.rst b/docs/sections/services/snmptrap/delivery.rst index 87425582..70bdba3b 100644 --- a/docs/sections/services/snmptrap/delivery.rst +++ b/docs/sections/services/snmptrap/delivery.rst @@ -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 diff --git a/docs/sections/services/snmptrap/installation.rst b/docs/sections/services/snmptrap/installation.rst index d91a46b3..ab523ef4 100644 --- a/docs/sections/services/snmptrap/installation.rst +++ b/docs/sections/services/snmptrap/installation.rst @@ -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. diff --git a/docs/sections/services/snmptrap/release-notes.rst b/docs/sections/services/snmptrap/release-notes.rst index ec031323..5c46d606 100644 --- a/docs/sections/services/snmptrap/release-notes.rst +++ b/docs/sections/services/snmptrap/release-notes.rst @@ -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 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 |