diff options
Diffstat (limited to 'src/test')
9 files changed, 448 insertions, 115 deletions
diff --git a/src/test/java/org/onap/clamp/clds/it/TcaRequestFormatterIT.java b/src/test/java/org/onap/clamp/clds/it/TcaRequestFormatterIT.java new file mode 100644 index 00000000..89ff5792 --- /dev/null +++ b/src/test/java/org/onap/clamp/clds/it/TcaRequestFormatterIT.java @@ -0,0 +1,89 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * Copyright (C) 2017 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============================================ + * =================================================================== + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ + +package org.onap.clamp.clds.it; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.io.IOException; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.onap.clamp.clds.AbstractIT; +import org.onap.clamp.clds.client.req.TcaRequestFormatter; +import org.onap.clamp.clds.model.CldsEvent; +import org.onap.clamp.clds.model.prop.ModelProperties; +import org.onap.clamp.clds.util.ResourceFileUtil; +import org.skyscreamer.jsonassert.JSONAssert; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * Test Onap TcaPolicyReq features + */ +@RunWith(SpringRunner.class) +@SpringBootTest +@TestPropertySource(locations = "classpath:application-no-camunda.properties") +public class TcaRequestFormatterIT extends AbstractIT { + + String modelProp; + String modelBpmn; + String modelName; + String controlName; + String yamlInput; + + /** + * Initialize Test. + */ + @Before + public void setUp() throws IOException { + modelProp = ResourceFileUtil.getResourceAsString("example/model-properties/tca/modelBpmnProperties.json"); + modelBpmn = ResourceFileUtil.getResourceAsString("example/model-properties/tca/modelBpmn.json"); + yamlInput = ResourceFileUtil.getResourceAsString("example/tca-policy-req/blueprint-input.yaml"); + modelName = "example-model01"; + controlName = "ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf"; + } + + @Test + public void testCreatePolicyJson() throws IOException { + ModelProperties prop = new ModelProperties(modelName, controlName, CldsEvent.ACTION_SUBMIT, false, modelBpmn, + modelProp); + String result = TcaRequestFormatter.createPolicyJson(refProp, prop); + assertNotNull(result); + JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("example/tca-policy-req/tca-policy-expected.json"), + result, true); + } + + @Test + public void testUpdatedBlueprintWithConfiguration() throws IOException { + ModelProperties prop = new ModelProperties(modelName, controlName, CldsEvent.ACTION_SUBMIT, false, modelBpmn, + modelProp); + String result = TcaRequestFormatter.updatedBlueprintWithConfiguration(refProp, prop, yamlInput); + + assertNotNull(result); + assertEquals(ResourceFileUtil.getResourceAsString("example/tca-policy-req/blueprint-expected.yaml"), result); + } +} diff --git a/src/test/java/org/onap/clamp/clds/model/prop/ModelPropertiesTest.java b/src/test/java/org/onap/clamp/clds/model/prop/ModelPropertiesTest.java index 60056d42..45f39a42 100644 --- a/src/test/java/org/onap/clamp/clds/model/prop/ModelPropertiesTest.java +++ b/src/test/java/org/onap/clamp/clds/model/prop/ModelPropertiesTest.java @@ -24,11 +24,10 @@ package org.onap.clamp.clds.model.prop; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; import org.junit.Before; import org.junit.Test; @@ -46,10 +45,11 @@ public class ModelPropertiesTest { } @Test - public void testHolmes() throws IOException { + public void testTcaModelDecoding() throws IOException { - String modelBpmnProp = ResourceFileUtil.getResourceAsString("example/model-properties/modelBpmnProp.json"); - String modelBpmn = ResourceFileUtil.getResourceAsString("example/model-properties/modelBpmn.json"); + String modelBpmnProp = ResourceFileUtil + .getResourceAsString("example/model-properties/tca/modelBpmnProperties.json"); + String modelBpmn = ResourceFileUtil.getResourceAsString("example/model-properties/tca/modelBpmn.json"); ModelProperties prop = new ModelProperties("example-model-name", "example-control-name", null, true, modelBpmn, modelBpmnProp); @@ -66,11 +66,52 @@ public class ModelPropertiesTest { assertEquals(null, policy.getPolicyChains().get(0).getPolicyItems().get(0).getParentPolicyConditions()); Tca tca = prop.getType(Tca.class); + assertNotNull(tca); assertTrue(tca.isFound()); - assertEquals(1, tca.getTcaItems().size()); - assertEquals(0, tca.getTcaItems().get(0).getTcaThreshholds().size()); + assertEquals("vFirewallBroadcastPackets", tca.getTcaItem().getEventName()); + assertEquals("policy1", tca.getTcaItem().getPolicyId()); + assertEquals("f734f031-10aa-t8fb-330f-04dde2886325", tca.getTcaItem().getTcaUuId()); + assertEquals(2, tca.getTcaItem().getTcaThresholds().size()); + + assertEquals("ABATED", tca.getTcaItem().getTcaThresholds().get(0).getClosedLoopEventStatus()); + assertEquals("VM", tca.getTcaItem().getTcaThresholds().get(0).getControlLoopSchema()); + assertEquals( + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", + 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("VNF", tca.getTcaItem().getTcaThresholds().get(1).getControlLoopSchema()); + assertEquals("$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta", + 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()); + } + + @Test + public void testHolmesModelDecoding() throws IOException { + + String modelBpmnProp = ResourceFileUtil + .getResourceAsString("example/model-properties/holmes/modelBpmnProperties.json"); + String modelBpmn = ResourceFileUtil.getResourceAsString("example/model-properties/holmes/modelBpmn.json"); + + ModelProperties prop = new ModelProperties("example-model-name", "example-control-name", null, true, modelBpmn, + modelBpmnProp); + + Policy policy = prop.getType(Policy.class); + assertTrue(policy.isFound()); + assertEquals(1, policy.getPolicyChains().size()); + assertEquals("0", policy.getPolicyChains().get(0).getPolicyId()); + assertEquals(1, policy.getPolicyChains().get(0).getPolicyItems().size()); + assertEquals("resourceid", policy.getPolicyChains().get(0).getPolicyItems().get(0).getTargetResourceId()); + assertEquals(180, policy.getPolicyChains().get(0).getPolicyItems().get(0).getRetryTimeLimit()); + assertEquals(3, policy.getPolicyChains().get(0).getPolicyItems().get(0).getMaxRetries()); + assertEquals("", policy.getPolicyChains().get(0).getPolicyItems().get(0).getParentPolicy()); + assertEquals(null, policy.getPolicyChains().get(0).getPolicyItems().get(0).getParentPolicyConditions()); Holmes holmes = prop.getType(Holmes.class); + assertNotNull(holmes); assertTrue(holmes.isFound()); assertEquals("policy1", holmes.getOperationalPolicy()); assertEquals("blabla", holmes.getCorrelationLogic()); @@ -80,7 +121,7 @@ public class ModelPropertiesTest { public void testGetVf() throws IOException { CldsModel cldsModel = new CldsModel(); cldsModel.setPropText( - ResourceFileUtil.getResourceAsString("example/model-properties/modelBpmnPropWithGlobal.json")); + ResourceFileUtil.getResourceAsString("example/model-properties/tca/modelBpmnProperties.json")); assertEquals("f5213e3a-9191-4362-93b5-b67f8d770e44", ModelProperties.getVf(cldsModel)); } }
\ No newline at end of file diff --git a/src/test/resources/clds/clds-reference.properties b/src/test/resources/clds/clds-reference.properties index f2ec43b7..405b3ed6 100644 --- a/src/test/resources/clds/clds-reference.properties +++ b/src/test/resources/clds/clds-reference.properties @@ -28,9 +28,9 @@ #
# TCA MicroService Policy request build properties
#
-tca.template={"service":"MThresholdCrossingConfiguration","location":"Edge","uuid":"TestUUID","policyName":"???","description":"from clds","configName":"MThresholdCrossingConfiguration","templateVersion":"5.2.0.1","priority":"4","version":"5.2.0.1","policyScope":"resource=F5,service=vSCP,type=configuration,closedLoopControlName=vSCP_F5_Firewall_d925ed73-8231-4d02-9545-db4e101f88f8","content":{"$class": "com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration","domain":"measurementsForVfScaling","policyScope":"pnf=eNodeB;type=configuration","policyName":"policy.dcae.configuration","policyVersion":"1.0.0","subscriberContentType": "application/json","subscriberConsumerId": "c13","subscriberConsumerGroup": "OpenDCAE-c13","subscriberTimeoutMS": "-1","subscriberMessageLimit": "-1","subscriberPollingInterval": "20000","publisherContentType": "application/json","publisherMaxBatchSize": "10","publisherMaxRecoveryQueueSize": "100000","publisherPollingInterval": "20000","publisherAlertWindowingTime": "86400","signatures":[]}}
-tca.signature.template={"nfNamingCode":"ENBE","target":"common_id","targetType":"eNodeB","useCaseName":"???","signatureName":"???","signatureUuid":"???","closedLoopControlName":"???","severity":"???","version":"1.0.2","maxInterval":1200,"minMessageViolations":4,"thresholds":[]}
-
+tca.template={"cdap-tca-hi-lo_policy": {"domain": "measurementsForVfScaling","metricsPerEventName": [{"eventName": "???","policyScope": "DCAE","policyName": "???","policyVersion": "v0.0.1","thresholds": []}]}}
+tca.thresholds.template={"closedLoopControlName": "???", "controlLoopSchema": "VM","version": "1.0.2","fieldPath": "?????", "thresholdValue": 0,"direction": "???","severity": "MAJOR", "closedLoopEventStatus": "???"}
+#
#
# DCAE request build properties
#
@@ -45,7 +45,7 @@ sdc.decode.service_ids={} #
# General Policy request properties
#
-policy.ecomp.name=DCAE
+policy.onap.name=DCAE
policy.pdp.group=default
policy.ms.type=MicroService
policy.ms.policyNamePrefix=Config_MS_
diff --git a/src/test/resources/example/model-properties/holmes/modelBpmn.json b/src/test/resources/example/model-properties/holmes/modelBpmn.json new file mode 100644 index 00000000..db8e54dd --- /dev/null +++ b/src/test/resources/example/model-properties/holmes/modelBpmn.json @@ -0,0 +1,20 @@ +{ + "vesCollector": [ + { + "id": "VesCollector_0orydnh", + "from": "StartEvent_1" + } + ], + "holmes": [ + { + "id": "Holmes_0i4n2mm", + "from": "VesCollector_0orydnh" + } + ], + "policy": [ + { + "id": "Policy_0honxgv", + "from": "Holmes_0i4n2mm" + } + ] +} diff --git a/src/test/resources/example/model-properties/holmes/modelBpmnProperties.json b/src/test/resources/example/model-properties/holmes/modelBpmnProperties.json new file mode 100644 index 00000000..14b3a8c2 --- /dev/null +++ b/src/test/resources/example/model-properties/holmes/modelBpmnProperties.json @@ -0,0 +1,116 @@ +{ + "Holmes_0i4n2mm": [ + { + "name": "correlationalLogic", + "value": "blabla" + }, + { + "name": "operationalPolicy", + "value": "policy1" + } + ], + "Policy_0honxgv": { + "policy1": [ + { + "name": "pname", + "value": "policy1" + }, + { + "name": "pid", + "value": "0" + }, + { + "name": "timeout", + "value": "345" + }, + { + "policyConfigurations": [ + [ + { + "name": "maxRetries", + "value": [ + "3" + ] + }, + { + "name": "retryTimeLimit", + "value": [ + "180" + ] + }, + { + "name": "_id", + "value": [ + "dGLuNqg" + ] + }, + { + "name": "parentPolicy", + "value": [ + "" + ] + }, + { + "name": "targetResourceId", + "value": [ + "resourceid" + ] + } + ] + ] + } + ] + }, + "global": [ + { + "name": "actionSet", + "value": [ + "vnfRecipe" + ] + }, + { + "name": "location", + "value": [ + "SNDGCA64", + "ALPRGAED" + ] + }, + { + "name": "vf", + "value": [ + "f5213e3a-9191-4362-93b5-b67f8d770e44" + ] + }, + { + "name": "location", + "value": [ + "SNDGCA64", + "ALPRGAED", + "LSLEILAA", + "MDTWNJC1" + ] + } + ], + "shared": { + "byService": { + "": { + "vf": { + "": "" + }, + "location": { + "": "" + }, + "alarmCondition": { + "": "" + } + } + }, + "byVf": { + "": { + "vfc": { + "": "" + } + } + } + } +} diff --git a/src/test/resources/example/model-properties/tca/modelBpmn.json b/src/test/resources/example/model-properties/tca/modelBpmn.json new file mode 100644 index 00000000..7358f9ad --- /dev/null +++ b/src/test/resources/example/model-properties/tca/modelBpmn.json @@ -0,0 +1,20 @@ +{ + "vesCollector": [ + { + "id": "VesCollector_0orydnh", + "from": "StartEvent_1" + } + ], + "tca": [ + { + "id": "TCA_1jy9to4", + "from": "VesCollector_0orydnh" + } + ], + "policy": [ + { + "id": "Policy_0honxgv", + "from": "TCA_1jy9to4" + } + ] +} diff --git a/src/test/resources/example/model-properties/tca/modelBpmnProperties.json b/src/test/resources/example/model-properties/tca/modelBpmnProperties.json new file mode 100644 index 00000000..0bfa78ce --- /dev/null +++ b/src/test/resources/example/model-properties/tca/modelBpmnProperties.json @@ -0,0 +1,150 @@ +{ + "TCA_1jy9to4": { + "group1": [ + { + "name": "tname", + "value": "group1" + }, + { + "name": "tuuid", + "value": "f734f031-10aa-t8fb-330f-04dde2886325" + }, + { + "name": "tcaPolId", + "value": "policy1" + }, + { + "name": "eventName", + "value": "vFirewallBroadcastPackets" + }, + { + "serviceConfigurations": [ + [ + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", + "LESS_OR_EQUAL", + "123", + "VM", + "ABATED" + ], + [ + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta", + "GREATER_OR_EQUAL", + "123", + "VNF", + "ONSET" + ] + ] + } + ] + }, + "Policy_0honxgv": { + "policy1": [ + { + "name": "pname", + "value": "policy1" + }, + { + "name": "pid", + "value": "0" + }, + { + "name": "timeout", + "value": "345" + }, + { + "policyConfigurations": [ + [ + { + "name": "maxRetries", + "value": [ + "3" + ] + }, + { + "name": "retryTimeLimit", + "value": [ + "180" + ] + }, + { + "name": "_id", + "value": [ + "dGLuNqg" + ] + }, + { + "name": "parentPolicy", + "value": [ + "" + ] + }, + { + "name": "targetResourceId", + "value": [ + "resourceid" + ] + } + ] + ] + } + ] + }, + "global": [ + { + "name": "actionSet", + "value": [ + "vnfRecipe" + ] + }, + { + "name": "service", + "value": [ + "serviceUUID" + ] + }, + { + "name": "location", + "value": [ + "SNDGCA64", + "ALPRGAED" + ] + }, + { + "name": "vf", + "value": [ + "f5213e3a-9191-4362-93b5-b67f8d770e44" + ] + }, + { + "name": "location", + "value": [ + "SNDGCA64", + "ALPRGAED", + "LSLEILAA", + "MDTWNJC1" + ] + } + ], + "shared": { + "byService": { + "": { + "vf": { + "": "" + }, + "location": { + "": "" + }, + "alarmCondition": { + "": "" + } + } + }, + "byVf": { + "": { + "vfc": { + "": "" + } + } + } + } +} diff --git a/src/test/resources/example/templatePropForTca.json b/src/test/resources/example/templatePropForTca.json deleted file mode 100644 index 9f1ce1da..00000000 --- a/src/test/resources/example/templatePropForTca.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "global": [ - { - "name": "service", - "value": [ - "tosca_definitions_version: cloudify_dsl_1_2\r\n\r\nimports:\r\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\r\n- http://135.207.127.211/1607_prod/type_files/cdap_app.yaml\r\n\r\nnode_templates:\r\n MTCA:\r\n type: dcae.nodes.cdap_app\r\n properties:\r\n service_name: \"cdap-mtca-central\"\r\n deployment_JSON: |-\r\n {\r\n \"clusterService\": {\"$ref\": \"/services/vm-cdap-cluster-central/instances/rdm2c\"},\r\n \"namespace\": \"MTCA\",\r\n \"appNames\": [ \"cdap-mtca\" ],\r\n \"flowNames\": [ \"cdap-mtca.TCAVESCollectorFlow\" ],\r\n \"workerNames\": [\"cdap-mtca.TCADMaaPMRSubscriberWorker\", \"cdap-mtca.TCADMaaPMRPublisherWorker\"],\r\n \"serviceNames\" : [],\r\n \"apps\": {\r\n \"cdap-mtca\": {\r\n \"jarFile\": \"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\",\r\n \"artifactName\": \"dcae-analytics-mtca\",\r\n \"version\": \"1.0.0\",\r\n \"appConfigFileContent\": \"{config:{ \\\"appName\\\":\\\"cdap-mtca\\\", \\\"appDescription\\\":\\\"DCAE Analytics Threshold Crossing Alert Application\\\", \\\"tcaSubscriberOutputStreamName\\\":\\\"TCASubscriberOutputStream\\\", \\\"thresholdCalculatorFlowletInstances\\\":2, \\\"tcaVESMessageStatusTableName\\\":\\\"TCAVESMessageStatusTable\\\", \\\"tcaVESMessageStatusTableTTLSeconds\\\":864000, \\\"tcaVESAlertsTableName\\\":\\\"TCAVESAlertsTable\\\", \\\"tcaVESAlertsTableTTLSeconds\\\":1728000 }}\"\r\n }\r\n },\r\n \r\n \"configuration\": {\r\n \"$class\": \"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\",\r\n \"subscriberContentType\": \"\",\r\n \"subscriberConsumerId\": \"c12\",\r\n \"subscriberConsumerGroup\": \"OpenDCAE-c12\",\r\n \"subscriberTimeoutMS\": \"-1\",\r\n \"subscriberMessageLimit\": \"-1\",\r\n \"subscriberPollingInterval\": \"20000\",\r\n \"publisherContentType\": \"application/json\",\r\n \"publisherMaxBatchSize\": \"10\",\r\n \"publisherMaxRecoveryQueueSize\": \"100000\",\r\n \"publisherPollingInterval\": \"20000\",\r\n \"publisherAlertWindowingTime\": \"86400\",\r\n \"policyName\": \"policy.dcae.configuration\",\r\n \"policyScope\": \"pnf=eNodeB;type=configuration\",\r\n \"policyVersion\": \"1.0.0\",\r\n \"domain\" : \"measurementsForVfScaling\",\r\n \r\n \"signatures\" : {\r\n \t }\r\n\r\n }\r\n }\r\n" - ] - } - ] -}
\ No newline at end of file diff --git a/src/test/resources/expected/tca.json b/src/test/resources/expected/tca.json deleted file mode 100644 index 2fd16bde..00000000 --- a/src/test/resources/expected/tca.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "service": "MThresholdCrossingConfiguration", - "location": "Edge", - "uuid": "TestUUID", - "policyName": "example_model06.ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_TCA_", - "description": "from clds", - "configName": "MThresholdCrossingConfiguration", - "templateVersion": "5.2.0.1", - "priority": "4", - "version": "5.2.0.1", - "policyScope": "resource=F5,service=vSCP,type=configuration,closedLoopControlName=vSCP_F5_Firewall_d925ed73-8231-4d02-9545-db4e101f88f8", - "content": - { - "$class": "com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration", - "domain": "measurementsForVfScaling", - "policyScope": "pnf=eNodeB;type=configuration", - "policyName": "policy.dcae.configuration", - "policyVersion": "1.0.0", - "subscriberContentType": "application/json", - "subscriberConsumerId": "c13", - "subscriberConsumerGroup": "OpenDCAE-c13", - "subscriberTimeoutMS": "-1", - "subscriberMessageLimit": "-1", - "subscriberPollingInterval": "20000", - "publisherContentType": "application/json", - "publisherMaxBatchSize": "10", - "publisherMaxRecoveryQueueSize": "100000", - "publisherPollingInterval": "20000", - "publisherAlertWindowingTime": "86400", - "signatures": - [ - { - "nfNamingCode": "ENBE", - "target": "common_id", - "targetType": "eNodeB", - "useCaseName": "Narra", - "signatureName": "Narra_886be8da-14fe-tca1-d04b-d13b55d58df9", - "signatureUuid": "886be8da-14fe-tca1-d04b-d13b55d58df9", - "closedLoopControlName": "ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_1", - "severity": "Warning", - "version": "1.0.2", - "maxInterval": 2, - "minMessageViolations": 3, - "thresholds": - [ - { - "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[?(@.Name == 'PMRRCCONNESTABFAILCELLLATENCY')].Value", - "thresholdName": "PMRRCCONNESTABFAILCELLLATENCY", - "thresholdValue": 4, - "direction": "LESS" - }, - - { - "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[?(@.Name == 'PMRAATTCBRA')].Value", - "thresholdName": "PMRAATTCBRA", - "thresholdValue": 30, - "direction": "GREATER" - } - ] - }, - - { - "nfNamingCode": "ENBE", - "target": "common_id", - "targetType": "eNodeB", - "useCaseName": "Srini", - "signatureName": "Srini_8b5ba88d-f4b4-tf0e-50b1-78a5a7dd412d", - "signatureUuid": "8b5ba88d-f4b4-tf0e-50b1-78a5a7dd412d", - "closedLoopControlName": "ClosedLoop_FRWL_SIG_fad4dcae_e498_11e6_852e_0050568c4ccf_2", - "severity": "Critical", - "version": "1.0.2", - "maxInterval": 10, - "minMessageViolations": 5, - "thresholds": - [ - { - "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[?(@.Name == 'PMRRCCONNESTABFAILCELLLATENCY')].Value", - "thresholdName": "PMRRCCONNESTABFAILCELLLATENCY", - "thresholdValue": 3, - "direction": "EQUAL" - }, - - { - "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[?(@.Name == 'PMRAATTCBRA')].Value", - "thresholdName": "PMRAATTCBRA", - "thresholdValue": 30, - "direction": "GREATER" - } - ] - } - ] - } -}
\ No newline at end of file |