Update the TCA yaml i CLAMP E2E tests 81/114681/1
authorsebdet <sebastien.determe@intl.att.com>
Mon, 9 Nov 2020 08:23:31 +0000 (09:23 +0100)
committersebdet <sebastien.determe@intl.att.com>
Mon, 9 Nov 2020 08:23:31 +0000 (09:23 +0100)
The TCA microservice yaml must be updated for Guilin, it uses a new policy

Issue-ID: CLAMP-977
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Change-Id: I9dd857906487d9f5b0d25a84add3836cbd4fea42

src/onaptests/configuration/clampnode.yaml [deleted file]
src/onaptests/configuration/tca-microservice.yaml [new file with mode: 0644]
src/onaptests/steps/onboard/clamp.py

diff --git a/src/onaptests/configuration/clampnode.yaml b/src/onaptests/configuration/clampnode.yaml
deleted file mode 100644 (file)
index 61e5017..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-#
-# ============LICENSE_START====================================================
-# =============================================================================
-# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
-# =============================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END======================================================
-tosca_definitions_version: cloudify_dsl_1_3
-
-description: >
-  This blueprint deploys/manages the TCA module as a Docker container
-
-imports:
-  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-  # yamllint disable rule:line-length
-  - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml"
-  # yamllint disable rule:line-length
-  - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/clamppolicyplugin/1.1.0/clamppolicyplugin_types.yaml"
-inputs:
-  aaiEnrichmentHost:
-    type: string
-    default: aai.onap.svc.cluster.local
-  aaiEnrichmentPort:
-    type: string
-    default: '8443'
-  enableAAIEnrichment:
-    type: string
-    default: 'true'
-  dmaap_host:
-    type: string
-    default: message-router.onap.svc.cluster.local
-  dmaap_port:
-    type: string
-    default: '3904'
-  enableRedisCaching:
-    type: string
-    default: 'false'
-  redisHosts:
-    type: string
-    default: 'dcae-redis.onap.svc.cluster.local:6379'
-  tag_version:
-    type: string
-    default: >-
-      nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.2.2
-  consul_host:
-    type: string
-    default: consul-server.onap
-  consul_port:
-    type: string
-    default: '8500'
-  cbs_host:
-    type: string
-    default: config-binding-service
-  cbs_port:
-    type: string
-    default: '10000'
-  policy_id:
-    type: string
-    default: onap.restart.tca
-  external_port:
-    type: string
-    description: Kubernetes node port on which CDAPgui is exposed
-    default: '32012'
-  policy_model_id:
-    type: string
-    default: onap.policies.monitoring.cdap.tca.hi.lo.app
-node_templates:
-  tca_k8s:
-    type: dcae.nodes.ContainerizedServiceComponent
-    relationships:
-      - target: tca_policy
-        type: cloudify.relationships.depends_on
-    properties:
-      docker_config: {}
-      image:
-        get_input: tag_version
-      log_info:
-        log_directory: /opt/app/TCAnalytics/logs
-      application_config:
-        app_config:
-          appDescription: DCAE Analytics Threshold Crossing Alert Application
-          appName: dcae-tca
-          tcaAlertsAbatementTableName: TCAAlertsAbatementTable
-          tcaAlertsAbatementTableTTLSeconds: '1728000'
-          tcaSubscriberOutputStreamName: TCASubscriberOutputStream
-          tcaVESAlertsTableName: TCAVESAlertsTable
-          tcaVESAlertsTableTTLSeconds: '1728000'
-          tcaVESMessageStatusTableName: TCAVESMessageStatusTable
-          tcaVESMessageStatusTableTTLSeconds: '86400'
-          thresholdCalculatorFlowletInstances: '2'
-        app_preferences:
-          aaiEnrichmentHost:
-            get_input: aaiEnrichmentHost
-            aaiEnrichmentIgnoreSSLCertificateErrors: 'true'
-            aaiEnrichmentPortNumber: '8443'
-            aaiEnrichmentProtocol: https
-            aaiEnrichmentUserName: dcae@dcae.onap.org
-            aaiEnrichmentUserPassword: demo123456!
-            aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query
-            aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf
-            enableAAIEnrichment:
-              get_input: enableAAIEnrichment
-            enableRedisCaching:
-              get_input: enableRedisCaching
-            redisHosts:
-              get_input: redisHosts
-            enableAlertCEFFormat: 'false'
-            publisherContentType: application/json
-            publisherHostName:
-              get_input: dmaap_host
-            publisherHostPort:
-              get_input: dmaap_port
-            publisherMaxBatchSize: '1'
-            publisherMaxRecoveryQueueSize: '100000'
-            publisherPollingInterval: '20000'
-            publisherProtocol: http
-            publisherTopicName: unauthenticated.DCAE_CL_OUTPUT
-            subscriberConsumerGroup: OpenDCAE-clamp
-            subscriberConsumerId: c12
-            subscriberContentType: application/json
-            subscriberHostName:
-              get_input: dmaap_host
-            subscriberHostPort:
-              get_input: dmaap_port
-            subscriberMessageLimit: '-1'
-            subscriberPollingInterval: '30000'
-            subscriberProtocol: http
-            subscriberTimeoutMS: '-1'
-            subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT
-            tca_policy: ''
-      service_component_type: dcaegen2-analytics_tca
-    interfaces:
-      cloudify.interfaces.lifecycle:
-        start:
-          inputs:
-            envs:
-              DMAAPHOST:
-                get_input: dmaap_host
-              DMAAPPORT: '3904'
-              DMAAPPUBTOPIC: unauthenticated.DCAE_CL_OUTPUT
-              DMAAPSUBTOPIC: unauthenticated.VES_MEASUREMENT_OUTPUT
-              AAIHOST:
-                get_input: aaiEnrichmentHost
-              AAIPORT: '8443'
-              CONSUL_HOST:
-                get_input: consul_host
-              CONSUL_PORT: '8500'
-              CBS_HOST:
-                get_input: cbs_host
-              CBS_PORT: '10000'
-              CONFIG_BINDING_SERVICE: config_binding_service
-            ports:
-              - concat:
-                  - '11011:'
-                  - get_input: external_port
-  tca_policy:
-    type: clamp.nodes.policy
-    properties:
-      policy_id:
-        get_input: policy_id
-      policy_model_id:
-        get_input: policy_model_id
diff --git a/src/onaptests/configuration/tca-microservice.yaml b/src/onaptests/configuration/tca-microservice.yaml
new file mode 100644 (file)
index 0000000..e7d967a
--- /dev/null
@@ -0,0 +1,141 @@
+# ============LICENSE_START====================================================
+# =============================================================================
+# Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# =============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END======================================================
+#k8s-tca-gen2-v3.yaml
+
+tosca_definitions_version: cloudify_dsl_1_3
+imports:
+  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
+  - plugin:k8splugin?version=3.4.2
+  - plugin:clamppolicyplugin?version=1.1.0
+inputs:
+  service_name:
+    type: string
+    default: 'dcae-tcagen2'
+  log_directory:
+    type: string
+    default: "/opt/logs/dcae-analytics-tca"
+  replicas:
+    type: integer
+    description: number of instances
+    default: 1
+  spring.data.mongodb.uri:
+    type: string
+    default: "mongodb://dcae-mongohost/dcae-tcagen2"
+  tag_version:
+    type: string
+    default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1"
+  tca.aai.password:
+    type: string
+    default: "DCAE"
+  tca.aai.url:
+    type: string
+    default: "http://aai.onap.svc.cluster.local"
+  tca.aai.username:
+    type: string
+    default: "DCAE"
+  tca_handle_in_subscribe_url:
+    type: string
+    default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT"
+  tca_handle_out_publish_url:
+    type: string
+    default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT"
+  tca_consumer_group:
+    type: string
+    default: "cg1"
+  policy_model_id:
+    type: string
+    default: "onap.policies.monitoring.tcagen2"
+  policy_id:
+    type: string
+    default: "onap.restart.tca"
+node_templates:
+  docker.tca:
+    type: dcae.nodes.ContainerizedServiceComponent
+    relationships:
+      - target: tcagen2_policy
+        type: cloudify.relationships.depends_on
+    interfaces:
+      cloudify.interfaces.lifecycle:
+        start:
+          inputs:
+            ports:
+              - concat: ["9091:", "0"]
+    properties:
+      application_config:
+        service_calls: []
+        streams_publishes:
+          tca_handle_out:
+            dmaap_info:
+              topic_url:
+                get_input: tca_handle_out_publish_url
+            type: message_router
+        streams_subscribes:
+          tca_handle_in:
+            dmaap_info:
+              topic_url:
+                get_input: tca_handle_in_subscribe_url
+            type: message_router
+        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
+      docker_config:
+        healthcheck:
+          endpoint: /actuator/health
+          interval: 30s
+          timeout: 10s
+          type: http
+      image:
+        get_input: tag_version
+      log_info:
+        log_directory:
+          get_input: log_directory
+      tls_info:
+        use_tls: true
+        cert_directory: '/etc/tca-gen2/ssl'
+      replicas:
+        get_input: replicas
+      service_component_type: { get_input: service_name }
+  tcagen2_policy:
+    type: clamp.nodes.policy
+    properties:
+      policy_id:
+        get_input: policy_id
+      policy_model_id:
+        get_input: policy_model_id
index 8f6b6bf..f864463 100644 (file)
@@ -78,12 +78,12 @@ class OnboardClampStep(YamlTemplateBaseStep):
 
         # we add the artifact to the first VNF
         self._logger.info("Try to add blueprint to %s", vf.name)
-        payload_file = open(settings.CONFIGURATION_PATH + 'clampnode.yaml', 'rb')
+        payload_file = open(settings.CONFIGURATION_PATH + 'tca-microservice.yaml', 'rb')
         data = payload_file.read()
         self._logger.info("DCAE INVENTORY BLUEPRINT file retrieved")
         service.add_artifact_to_vf(vnf_name=vf.name,
                                    artifact_type="DCAE_INVENTORY_BLUEPRINT",
-                                   artifact_name="clampnode.yaml",
+                                   artifact_name="tca-microservice.yaml",
                                    artifact=data)
         payload_file.close()
         service.checkin()