Fix the tca policy 37/47637/1
authorDeterme, Sebastien (sd378r) <sd378r@intl.att.com>
Tue, 15 May 2018 15:05:14 +0000 (17:05 +0200)
committerDeterme, Sebastien (sd378r) <sd378r@intl.att.com>
Tue, 15 May 2018 15:05:14 +0000 (17:05 +0200)
Fix closed loop control name containing a null part in the data sent to
policy for TCA

Issue-ID: CLAMP-160
Change-Id: I235a622dbf69821147278b7015d64d9ade24b97b
Signed-off-by: Determe, Sebastien (sd378r) <sd378r@intl.att.com>
src/main/java/org/onap/clamp/clds/client/req/tca/TcaRequestFormatter.java
src/test/java/org/onap/clamp/clds/model/prop/ModelPropertiesTest.java
src/test/resources/example/model-properties/tca/modelBpmnProperties.json
src/test/resources/example/tca-policy-req/blueprint-expected.yaml
src/test/resources/example/tca-policy-req/prop-text.json
src/test/resources/example/tca-policy-req/tca-policy-expected.json

index 4a07ca3..35c438d 100644 (file)
@@ -69,6 +69,8 @@ public class TcaRequestFormatter {
             String service = modelProperties.getGlobal().getService();
             Tca tca = modelProperties.getType(Tca.class);
             modelProperties.setCurrentModelElementId(tca.getId());
+            // Always one tcaItem so must be set to id 0
+            modelProperties.setPolicyUniqueId("0");
             ObjectNode rootNode = (ObjectNode) refProp.getJsonTemplate("tca.policy.template", service);
             String policyName = modelProperties.getCurrentPolicyScopeAndPolicyName();
             rootNode.put("policyName", policyName);
index 6b1c734..751d704 100644 (file)
@@ -75,13 +75,12 @@ public class ModelPropertiesTest {
         assertEquals("f734f031-10aa-t8fb-330f-04dde2886325", tca.getTcaItem().getTcaUuId());
         assertEquals(2, tca.getTcaItem().getTcaThresholds().size());
         assertEquals("ABATED", tca.getTcaItem().getTcaThresholds().get(0).getClosedLoopEventStatus());
-        assertEquals(
-                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+        assertEquals("$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
                 tca.getTcaItem().getTcaThresholds().get(0).getFieldPath());
         assertEquals("LESS_OR_EQUAL", tca.getTcaItem().getTcaThresholds().get(0).getOperator());
         assertEquals(Integer.valueOf(123), tca.getTcaItem().getTcaThresholds().get(0).getThreshold());
         assertEquals("ONSET", tca.getTcaItem().getTcaThresholds().get(1).getClosedLoopEventStatus());
-        assertEquals("$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
+        assertEquals("$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
                 tca.getTcaItem().getTcaThresholds().get(1).getFieldPath());
         assertEquals("GREATER_OR_EQUAL", tca.getTcaItem().getTcaThresholds().get(1).getOperator());
         assertEquals(Integer.valueOf(123), tca.getTcaItem().getTcaThresholds().get(1).getThreshold());
index ce0f317..1226dc9 100644 (file)
                        {
                                "serviceConfigurations": [
                                        [
-                                               "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+                                               "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
                                                "LESS_OR_EQUAL",
                                                "123",
                                                "ABATED"
                                        ],
                                        [
-                                               "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
+                                               "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
                                                "GREATER_OR_EQUAL",
                                                "123",
                                                "ONSET"
index 8739bb2..4116b97 100644 (file)
@@ -30,7 +30,7 @@ node_templates:
         subscriberMessageLimit: '-1', subscriberPollingInterval: '20000', subscriberProtocol: https,
         subscriberTimeoutMS: '-1', subscriberTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESSub,
         subscriberUserName: m00502@tca.af.dcae.onap.org, subscriberUserPassword: Te5021abc,
-        tca_policy: '{"domain":"measurementsForVfScaling","metricsPerEventName":[{"eventName":"vFirewallBroadcastPackets","controlLoopSchemaType":"VNF","policyScope":"DCAE","policyName":"example_model01.ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_TCA_1jy9to4","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_null","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta","thresholdValue":123,"direction":"GREATER_OR_EQUAL","severity":"MAJOR","closedLoopEventStatus":"ONSET"},{"closedLoopControlName":"ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_null","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta","thresholdValue":123,"direction":"GREATER_OR_EQUAL","severity":"MAJOR","closedLoopEventStatus":"ONSET"}]}]}'}
+        tca_policy: '{"domain":"measurementsForVfScaling","metricsPerEventName":[{"eventName":"vFirewallBroadcastPackets","controlLoopSchemaType":"VNF","policyScope":"DCAE","policyName":"example_model01.ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_TCA_1jy9to4","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_null","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value","thresholdValue":123,"direction":"GREATER_OR_EQUAL","severity":"MAJOR","closedLoopEventStatus":"ONSET"},{"closedLoopControlName":"ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_null","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value","thresholdValue":123,"direction":"GREATER_OR_EQUAL","severity":"MAJOR","closedLoopEventStatus":"ONSET"}]}]}'}
       artifact_name: dcae-analytics-tca
       artifact_version: 1.0.0
       connections:
index acaa889..42dd851 100644 (file)
@@ -1 +1 @@
-{"global":[{"name":"service","value":["tosca_definitions_version: cloudify_dsl_1_3\r\nimports:\r\n- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\r\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/docker/2.2.0/node-type.yaml\r\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/relationship/1.0.0/node-type.yaml\r\n- http://onap.org:8081/repository/solutioning01-mte2-raw/type_files/dmaap/dmaap_mr.yaml\r\ninputs:\r\n  location_id:\r\n    type: string\r\n  service_id:\r\n    type: string\r\nnode_templates:\r\n  cdap_host_host:\r\n    type: dcae.nodes.StreamingAnalytics.SelectedCDAPInfrastructure\r\n    properties:\r\n      location_id:\r\n        get_input: location_id\r\n      scn_override: cdap_broker.solutioning-central.dcae.onap.org\r\n    interfaces:\r\n      cloudify.interfaces.lifecycle: {\r\n        }\r\n  tca_tca:\r\n    type: dcae.nodes.MicroService.cdap\r\n    properties:\r\n      app_config:\r\n        appDescription: DCAE Analytics Threshold Crossing Alert Application\r\n        appName: dcae-tca\r\n        tcaSubscriberOutputStreamName: TCASubscriberOutputStream\r\n        tcaVESAlertsTableName: TCAVESAlertsTable\r\n        tcaVESAlertsTableTTLSeconds: '1728000'\r\n        tcaVESMessageStatusTableName: TCAVESMessageStatusTable\r\n        tcaVESMessageStatusTableTTLSeconds: '86400'\r\n        thresholdCalculatorFlowletInstances: '2'\r\n      app_preferences:\r\n        publisherContentType: application/json\r\n        publisherHostName: mrlocal-mtnjftle01.onap.org\r\n        publisherHostPort: '3905'\r\n        publisherMaxBatchSize: '10'\r\n        publisherMaxRecoveryQueueSize: '100000'\r\n        publisherPollingInterval: '20000'\r\n        publisherProtocol: https\r\n        publisherTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESPub\r\n        publisherUserName: m00502@tca.af.dcae.onap.org\r\n        publisherUserPassword: Te5021abc\r\n        subscriberConsumerGroup: OpenDCAE-c12\r\n        subscriberConsumerId: c12\r\n        subscriberContentType: application/json\r\n        subscriberHostName: mrlocal-mtnjftle01.onap.org\r\n        subscriberHostPort: '3905'\r\n        subscriberMessageLimit: '-1'\r\n        subscriberPollingInterval: '20000'\r\n        subscriberProtocol: https\r\n        subscriberTimeoutMS: '-1'\r\n        subscriberTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESSub\r\n        subscriberUserName: m00502@tca.af.dcae.onap.org\r\n        subscriberUserPassword: Te5021abc\r\n        tca_policy: '{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"example_model01.ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_TCA_1jy9to4\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_null\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\"thresholdValue\":123,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_null\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\"thresholdValue\":123,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\r\n      artifact_name: dcae-analytics-tca\r\n      artifact_version: 1.0.0\r\n      connections:\r\n        streams_publishes: [\r\n          ]\r\n        streams_subscribes: [\r\n          ]\r\n      jar_url: http://somejar\r\n      location_id:\r\n        get_input: location_id\r\n      namespace: cdap_tca_hi_lo\r\n      programs:\r\n      - program_id: TCAVESCollectorFlow\r\n        program_type: flows\r\n      - program_id: TCADMaaPMRSubscriberWorker\r\n        program_type: workers\r\n      - program_id: TCADMaaPMRPublisherWorker\r\n        program_type: workers\r\n      service_component_type: cdap_app_tca\r\n      service_id:\r\n        get_input: service_id\r\n      streamname: TCASubscriberOutputStream\r\n    relationships:\r\n    - target: cdap_host_host\r\n      type: dcae.relationships.component_contained_in"]}]}
\ No newline at end of file
+{"global":[{"name":"service","value":["tosca_definitions_version: cloudify_dsl_1_3\r\nimports:\r\n- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\r\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/docker/2.2.0/node-type.yaml\r\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/relationship/1.0.0/node-type.yaml\r\n- http://onap.org:8081/repository/solutioning01-mte2-raw/type_files/dmaap/dmaap_mr.yaml\r\ninputs:\r\n  location_id:\r\n    type: string\r\n  service_id:\r\n    type: string\r\nnode_templates:\r\n  cdap_host_host:\r\n    type: dcae.nodes.StreamingAnalytics.SelectedCDAPInfrastructure\r\n    properties:\r\n      location_id:\r\n        get_input: location_id\r\n      scn_override: cdap_broker.solutioning-central.dcae.onap.org\r\n    interfaces:\r\n      cloudify.interfaces.lifecycle: {\r\n        }\r\n  tca_tca:\r\n    type: dcae.nodes.MicroService.cdap\r\n    properties:\r\n      app_config:\r\n        appDescription: DCAE Analytics Threshold Crossing Alert Application\r\n        appName: dcae-tca\r\n        tcaSubscriberOutputStreamName: TCASubscriberOutputStream\r\n        tcaVESAlertsTableName: TCAVESAlertsTable\r\n        tcaVESAlertsTableTTLSeconds: '1728000'\r\n        tcaVESMessageStatusTableName: TCAVESMessageStatusTable\r\n        tcaVESMessageStatusTableTTLSeconds: '86400'\r\n        thresholdCalculatorFlowletInstances: '2'\r\n      app_preferences:\r\n        publisherContentType: application/json\r\n        publisherHostName: mrlocal-mtnjftle01.onap.org\r\n        publisherHostPort: '3905'\r\n        publisherMaxBatchSize: '10'\r\n        publisherMaxRecoveryQueueSize: '100000'\r\n        publisherPollingInterval: '20000'\r\n        publisherProtocol: https\r\n        publisherTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESPub\r\n        publisherUserName: m00502@tca.af.dcae.onap.org\r\n        publisherUserPassword: Te5021abc\r\n        subscriberConsumerGroup: OpenDCAE-c12\r\n        subscriberConsumerId: c12\r\n        subscriberContentType: application/json\r\n        subscriberHostName: mrlocal-mtnjftle01.onap.org\r\n        subscriberHostPort: '3905'\r\n        subscriberMessageLimit: '-1'\r\n        subscriberPollingInterval: '20000'\r\n        subscriberProtocol: https\r\n        subscriberTimeoutMS: '-1'\r\n        subscriberTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESSub\r\n        subscriberUserName: m00502@tca.af.dcae.onap.org\r\n        subscriberUserPassword: Te5021abc\r\n        tca_policy: '{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"example_model01.ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_TCA_1jy9to4\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_null\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":123,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_null\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":123,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\r\n      artifact_name: dcae-analytics-tca\r\n      artifact_version: 1.0.0\r\n      connections:\r\n        streams_publishes: [\r\n          ]\r\n        streams_subscribes: [\r\n          ]\r\n      jar_url: http://somejar\r\n      location_id:\r\n        get_input: location_id\r\n      namespace: cdap_tca_hi_lo\r\n      programs:\r\n      - program_id: TCAVESCollectorFlow\r\n        program_type: flows\r\n      - program_id: TCADMaaPMRSubscriberWorker\r\n        program_type: workers\r\n      - program_id: TCADMaaPMRPublisherWorker\r\n        program_type: workers\r\n      service_component_type: cdap_app_tca\r\n      service_id:\r\n        get_input: service_id\r\n      streamname: TCASubscriberOutputStream\r\n    relationships:\r\n    - target: cdap_host_host\r\n      type: dcae.relationships.component_contained_in"]}]}
\ No newline at end of file
index 18eec88..5bf007b 100644 (file)
           "policyVersion": "v0.0.1",
           "thresholds": [
             {
-              "closedLoopControlName": "ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_null",
+              "closedLoopControlName": "ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_0",
               "version": "1.0.2",
-              "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
+              "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
               "thresholdValue": 123,
               "direction": "GREATER_OR_EQUAL",
               "severity": "MAJOR",
               "closedLoopEventStatus": "ONSET"
             },
             {
-              "closedLoopControlName": "ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_null",
+              "closedLoopControlName": "ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_0",
               "version": "1.0.2",
-              "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
+              "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
               "thresholdValue": 123,
               "direction": "GREATER_OR_EQUAL",
               "severity": "MAJOR",