aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pom.xml83
-rw-r--r--src/main/java/org/onap/clamp/clds/Application.java68
-rw-r--r--src/main/java/org/onap/clamp/clds/TomcatEmbeddedServletContainerFactoryRedirection.java55
-rw-r--r--src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java123
-rw-r--r--src/main/java/org/onap/clamp/clds/client/DcaeInventoryServices.java112
-rw-r--r--src/main/java/org/onap/clamp/clds/client/OperationalPolicyDelegate.java53
-rw-r--r--src/main/java/org/onap/clamp/clds/client/OperationalPolicyDeleteDelegate.java16
-rw-r--r--src/main/java/org/onap/clamp/clds/client/PolicyClient.java245
-rw-r--r--src/main/java/org/onap/clamp/clds/client/SdcCatalogServices.java2235
-rw-r--r--src/main/java/org/onap/clamp/clds/client/SdcSendReqDelegate.java60
-rw-r--r--src/main/java/org/onap/clamp/clds/client/req/OperationalPolicyReq.java27
-rw-r--r--src/main/java/org/onap/clamp/clds/client/req/SdcReq.java21
-rw-r--r--src/main/java/org/onap/clamp/clds/exception/DcaeDeploymentException.java61
-rw-r--r--src/main/java/org/onap/clamp/clds/model/CldsAlarmCondition.java9
-rw-r--r--src/main/java/org/onap/clamp/clds/model/prop/ModelElement.java51
-rw-r--r--src/main/java/org/onap/clamp/clds/service/CldsService.java76
-rw-r--r--src/main/java/org/onap/clamp/clds/service/SecureServiceBase.java29
-rw-r--r--src/main/java/org/onap/clamp/clds/util/LoggingUtils.java37
-rw-r--r--src/main/resources/application.properties269
-rw-r--r--src/main/resources/clds-version.properties1
-rw-r--r--src/test/java/org/onap/clamp/clds/it/HttpsIT.java143
-rw-r--r--src/test/java/org/onap/clamp/clds/it/PolicyClientIT.java13
-rw-r--r--src/test/java/org/onap/clamp/clds/it/SdcCatalogServicesIT.java18
-rw-r--r--src/test/resources/clds/clds-reference.properties243
-rw-r--r--src/test/resources/https/https-test.properties152
-rw-r--r--src/test/resources/https/keystore-test.jksbin0 -> 2244 bytes
26 files changed, 2583 insertions, 1617 deletions
diff --git a/pom.xml b/pom.xml
index 2ccb28006..99d6e1359 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============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.
+-->
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -7,7 +30,7 @@
<version>1.0.1-SNAPSHOT</version>
<name>ONAP CLAMP</name>
- <parent>
+ <parent>
<groupId>org.onap.oparent</groupId>
<artifactId>oparent</artifactId>
<version>1.0.0-SNAPSHOT</version>
@@ -290,6 +313,7 @@
<artifactId>swagger-annotations</artifactId>
<version>1.5.8</version>
</dependency>
+
<!-- Camunda Core -->
<dependency>
<groupId>com.att.ajsc</groupId>
@@ -379,7 +403,6 @@
</exclusion>
</exclusions>
</dependency>
-
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
@@ -419,10 +442,18 @@
<testResources>
<testResource>
<directory>src/test/resources</directory>
+ <excludes>
+ <exclude>**/*.jks</exclude>
+ </excludes>
+ <filtering>true</filtering>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources/https</directory>
<includes>
- <include>**/*</include>
+ <include>**.jks</include>
</includes>
- <filtering>true</filtering>
+ <filtering>false</filtering>
+ <targetPath>https</targetPath>
</testResource>
</testResources>
<resources>
@@ -437,17 +468,8 @@
</includes>
<filtering>true</filtering>
</resource>
- <resource>
- <directory>src/main/doxygen</directory>
- <includes>
- <include>**/*</include>
- </includes>
- <filtering>true</filtering>
- </resource>
</resources>
-
-
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -627,7 +649,7 @@
<goal>push</goal>
</goals>
<configuration>
- <imageName>${docker.push.registry}/onap/clamp</imageName>
+ <imageName>${docker.push.registry}/onap/clamp</imageName>
<skipDockerPush>${skip.docker.push}</skipDockerPush>
</configuration>
</execution>
@@ -650,6 +672,7 @@
<executions>
<execution>
+ <id>integration-tests</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
@@ -753,22 +776,22 @@
</configuration>
</execution>
<execution>
- <goals>
- <goal>merge</goal>
- </goals>
- <phase>post-integration-test</phase>
- <configuration>
- <fileSets>
- <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
- <directory>${project.build.directory}/coverage-reports</directory>
- <includes>
- <include>*.exec</include>
- </includes>
- </fileSet>
- </fileSets>
- <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
- </configuration>
- </execution>
+ <goals>
+ <goal>merge</goal>
+ </goals>
+ <phase>post-integration-test</phase>
+ <configuration>
+ <fileSets>
+ <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
+ <directory>${project.build.directory}/coverage-reports</directory>
+ <includes>
+ <include>*.exec</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
+ </configuration>
+ </execution>
</executions>
</plugin>
diff --git a/src/main/java/org/onap/clamp/clds/Application.java b/src/main/java/org/onap/clamp/clds/Application.java
index 037935175..bebb07844 100644
--- a/src/main/java/org/onap/clamp/clds/Application.java
+++ b/src/main/java/org/onap/clamp/clds/Application.java
@@ -30,7 +30,10 @@ import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import org.apache.camel.component.servlet.CamelHttpTransportServlet;
+import org.apache.catalina.connector.Connector;
import org.camunda.bpm.spring.boot.starter.webapp.CamundaBpmWebappAutoConfiguration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -39,13 +42,18 @@ import org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfig
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
+import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.boot.web.support.SpringBootServletInitializer;
+import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import com.att.ajsc.common.utility.SystemPropertiesLoader;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
@SpringBootApplication
@ComponentScan(basePackages = { "org.onap.clamp.clds", "com.att.ajsc" })
@@ -55,8 +63,29 @@ import com.att.ajsc.common.utility.SystemPropertiesLoader;
@EnableAsync
public class Application extends SpringBootServletInitializer {
- private static final String CAMEL_SERVLET_NAME = "CamelServlet";
- private static final String CAMEL_URL_MAPPING = "/restservices/clds/v1/*";
+ protected static final EELFLogger logger = EELFManager.getInstance().getLogger(Application.class);
+
+ @Autowired
+ protected ApplicationContext appContext;
+
+ private static final String CAMEL_SERVLET_NAME = "CamelServlet";
+ private static final String CAMEL_URL_MAPPING = "/restservices/clds/v1/*";
+
+ // This settings is an additional one to Spring config,
+ // only if we want to have an additional port automatically redirected to
+ // HTTPS
+ @Value("${server.http-to-https-redirection.port:none}")
+ private String httpRedirectedPort;
+
+ /**
+ * This 8080 is the default port used by spring if this parameter is not
+ * specified in application.properties.
+ */
+ @Value("${server.port:8080}")
+ private String springServerPort;
+
+ @Value("${server.ssl.key-store:none}")
+ private String sslKeystoreFile;
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
@@ -84,4 +113,39 @@ public class Application extends SpringBootServletInitializer {
return ClientBuilder.newClient();
}
+ /**
+ * This method is used by Spring to create the servlet container factory.
+ *
+ * @return The TomcatEmbeddedServletContainerFactory just created
+ */
+ @Bean
+ public EmbeddedServletContainerFactory getEmbeddedServletContainerFactory() {
+ TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
+ if (!"none".equals(httpRedirectedPort) && !"none".equals(sslKeystoreFile)) {
+ // Automatically redirect to HTTPS
+ tomcat = new TomcatEmbeddedServletContainerFactoryRedirection();
+ Connector newConnector = createRedirectConnector(Integer.parseInt(springServerPort));
+ if (newConnector != null) {
+ tomcat.addAdditionalTomcatConnectors(newConnector);
+ }
+
+ }
+ return tomcat;
+
+ }
+
+ private Connector createRedirectConnector(int redirectSecuredPort) {
+ if (redirectSecuredPort <= 0) {
+ logger.warn(
+ "HTTP port redirection to HTTPS is disabled because the HTTPS port is 0 (random port) or -1 (Connector disabled)");
+ return null;
+ }
+ Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
+ connector.setScheme("http");
+ connector.setSecure(false);
+ connector.setPort(Integer.parseInt(httpRedirectedPort));
+ connector.setRedirectPort(redirectSecuredPort);
+ return connector;
+ }
+
}
diff --git a/src/main/java/org/onap/clamp/clds/TomcatEmbeddedServletContainerFactoryRedirection.java b/src/main/java/org/onap/clamp/clds/TomcatEmbeddedServletContainerFactoryRedirection.java
new file mode 100644
index 000000000..2878140f9
--- /dev/null
+++ b/src/main/java/org/onap/clamp/clds/TomcatEmbeddedServletContainerFactoryRedirection.java
@@ -0,0 +1,55 @@
+/*-
+ * ============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;
+
+import org.apache.catalina.Context;
+import org.apache.tomcat.util.descriptor.web.SecurityCollection;
+import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
+import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
+
+/**
+ * This class is a factory that redirects by default all HTTP to HTTPS
+ * connector. It is used by the Application.java class and defined in a Spring
+ * Bean.
+ *
+ * In order to do this, the method postProcessContext has been overridden to
+ * provide another behavior.
+ *
+ */
+public class TomcatEmbeddedServletContainerFactoryRedirection extends TomcatEmbeddedServletContainerFactory {
+
+ /**
+ * This method is there to force the automatic redirection of all calls done
+ * on the tomcat server to a Secure connection.
+ */
+ @Override
+ protected void postProcessContext(Context context) {
+ SecurityConstraint securityConstraint = new SecurityConstraint();
+ securityConstraint.setUserConstraint("CONFIDENTIAL");
+ SecurityCollection collection = new SecurityCollection();
+ collection.addPattern("/*");
+ securityConstraint.addCollection(collection);
+ context.addConstraint(securityConstraint);
+ }
+}
diff --git a/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java b/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java
index e5144bfe2..3d8d5d53a 100644
--- a/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java
+++ b/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java
@@ -23,25 +23,31 @@
package org.onap.clamp.clds.client;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
import java.io.BufferedReader;
import java.io.DataOutputStream;
+import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
+import java.util.Date;
import java.util.stream.Collectors;
import javax.net.ssl.HttpsURLConnection;
+import javax.ws.rs.BadRequestException;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
+import org.onap.clamp.clds.exception.DcaeDeploymentException;
import org.onap.clamp.clds.model.refprop.RefProp;
+import org.onap.clamp.clds.util.LoggingUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
/**
- *
+ * This class implements the communication with DCAE for the service
+ * deployments.
*
*/
public class DcaeDispatcherServices {
@@ -49,23 +55,29 @@ public class DcaeDispatcherServices {
protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
@Autowired
- private RefProp refProp;
+ private RefProp refProp;
/**
- *
+ * Delete the deployment on DCAE.
+ *
* @param deploymentId
- * @return
- * @throws Exception
+ * The deployment ID
+ * @return Return the URL Status
+ * @throws IOException
+ * In case of issues with the Stream
*/
- public String deleteDeployment(String deploymentId) throws Exception {
+ public String deleteDeployment(String deploymentId) throws IOException {
String statusUrl = null;
InputStream in = null;
+ Date startTime = new Date();
+ LoggingUtils.setTargetContext("DCAE", "deleteDeployment");
try {
String url = refProp.getStringValue("DCAE_DISPATCHER_URL") + "/dcae-deployments/" + deploymentId;
logger.info("Dcae Dispatcher url - " + url);
URL obj = new URL(url);
HttpsURLConnection conn = (HttpsURLConnection) obj.openConnection();
+ conn.setRequestProperty("X-ECOMP-RequestID", LoggingUtils.getRequestId());
conn.setRequestMethod("DELETE");
int responseCode = conn.getResponseCode();
@@ -94,7 +106,7 @@ public class DcaeDispatcherServices {
if (responseStr != null) {
if (requestFailed) {
logger.error("requestFailed - responseStr=" + responseStr);
- throw new Exception(responseStr);
+ throw new BadRequestException(responseStr);
}
}
@@ -109,12 +121,14 @@ public class DcaeDispatcherServices {
logger.debug("Status URL: " + statusUrl);
} catch (Exception e) {
- logger.error(e.getClass().getName() + " " + e.getMessage());
- throw e;
+ logger.error("Exception occurred during Delete Deployment Operation with DCAE", e);
+ throw new DcaeDeploymentException("Exception occurred during Delete Deployment Operation with DCAE", e);
} finally {
if (in != null) {
in.close();
}
+ LoggingUtils.setTimeContext(startTime, new Date());
+ metricsLogger.info("deleteDeployment complete");
}
return statusUrl;
@@ -122,23 +136,30 @@ public class DcaeDispatcherServices {
}
/**
- *
+ * Get the Operation Status from a specified URL.
+ *
* @param statusUrl
- * @return
- * @throws Exception
+ * The URL provided by a previous DCAE Query
+ * @return The status
+ * @throws IOException
+ * In case of issues with the Stream
+ *
*/
- public String getOperationStatus(String statusUrl) throws Exception {
+ public String getOperationStatus(String statusUrl) throws IOException {
- //Assigning processing status to monitor operation status further
+ // Assigning processing status to monitor operation status further
String opStatus = "processing";
InputStream in = null;
+ Date startTime = new Date();
+ LoggingUtils.setTargetContext("DCAE", "getOperationStatus");
try {
URL obj = new URL(statusUrl);
HttpsURLConnection conn = (HttpsURLConnection) obj.openConnection();
conn.setRequestMethod("GET");
+ conn.setRequestProperty("X-ECOMP-RequestID", LoggingUtils.getRequestId());
int responseCode = conn.getResponseCode();
logger.debug("Deployment operation status response code - " + responseCode);
- if(responseCode == 200){
+ if (responseCode == 200) {
in = conn.getInputStream();
String res = new BufferedReader(new InputStreamReader(in)).lines().collect(Collectors.joining("\n"));
JSONParser parser = new JSONParser();
@@ -150,58 +171,71 @@ public class DcaeDispatcherServices {
opStatus = status;
}
} catch (Exception e) {
- logger.debug(e.getClass().getName() + " " + e.getMessage());
+ logger.error("Exception occurred during getOperationStatus Operation with DCAE", e);
logger.debug(e.getMessage()
+ " : got exception while retrieving status, trying again until we get 200 response code");
} finally {
if (in != null) {
in.close();
}
+ LoggingUtils.setTimeContext(startTime, new Date());
+ metricsLogger.info("getOperationStatus complete");
}
-
return opStatus;
}
/**
- *
- * @throws Exception
+ * This method send a getDeployments operation to DCAE.
+ *
+ * @throws IOException
+ * In case of issues with the Stream
*/
- public void getDeployments() throws Exception {
+ public void getDeployments() throws IOException {
InputStream in = null;
+ Date startTime = new Date();
+ LoggingUtils.setTargetContext("DCAE", "getDeployments");
try {
String url = refProp.getStringValue("DCAE_DISPATCHER_URL") + "/dcae-deployments";
logger.info("Dcae Dispatcher deployments url - " + url);
URL obj = new URL(url);
HttpsURLConnection conn = (HttpsURLConnection) obj.openConnection();
conn.setRequestMethod("GET");
+ conn.setRequestProperty("X-ECOMP-RequestID", LoggingUtils.getRequestId());
int responseCode = conn.getResponseCode();
logger.debug("response code " + responseCode);
in = conn.getInputStream();
String res = new BufferedReader(new InputStreamReader(in)).lines().collect(Collectors.joining("\n"));
logger.debug("res:" + res);
} catch (Exception e) {
- logger.error("Exception occurred during DCAE communication", e);
- throw e;
+ logger.error("Exception occurred during getDeployments Operation with DCAE", e);
+ throw new DcaeDeploymentException("Exception occurred during getDeployments Operation with DCAE", e);
} finally {
if (in != null) {
in.close();
}
+ LoggingUtils.setTimeContext(startTime, new Date());
+ metricsLogger.info("getDeployments complete");
}
}
/**
- * Returns status URL for deployment operation
+ * Returns status URL for createNewDeployment operation.
*
* @param deploymentId
+ * The deployment ID
* @param serviceTypeId
- * @return
- * @throws Exception
+ * Service type ID
+ * @return The status URL
+ * @throws IOException
+ * In case of issues with the Stream
*/
- public String createNewDeployment(String deploymentId, String serviceTypeId) throws Exception {
+ public String createNewDeployment(String deploymentId, String serviceTypeId) throws IOException {
String statusUrl = null;
InputStream inStream = null;
BufferedReader in = null;
+ Date startTime = new Date();
+ LoggingUtils.setTargetContext("DCAE", "createNewDeployment");
try {
String apiBodyString = "{\"serviceTypeId\": \"" + serviceTypeId + "\"}";
logger.info("Dcae api Body String - " + apiBodyString);
@@ -210,6 +244,7 @@ public class DcaeDispatcherServices {
URL obj = new URL(url);
HttpsURLConnection conn = (HttpsURLConnection) obj.openConnection();
conn.setRequestMethod("PUT");
+ conn.setRequestProperty("X-ECOMP-RequestID", LoggingUtils.getRequestId());
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
@@ -247,7 +282,7 @@ public class DcaeDispatcherServices {
if (responseStr != null) {
if (requestFailed) {
logger.error("requestFailed - responseStr=" + responseStr);
- throw new Exception(responseStr);
+ throw new BadRequestException(responseStr);
}
}
@@ -259,8 +294,8 @@ public class DcaeDispatcherServices {
statusUrl = (String) linksObj.get("status");
logger.debug("Status URL: " + statusUrl);
} catch (Exception e) {
- logger.error("Exception occurred during the DCAE communication", e);
- throw e;
+ logger.error("Exception occurred during createNewDeployment Operation with DCAE", e);
+ throw new DcaeDeploymentException("Exception occurred during createNewDeployment Operation with DCAE", e);
} finally {
if (inStream != null) {
inStream.close();
@@ -268,21 +303,29 @@ public class DcaeDispatcherServices {
if (in != null) {
in.close();
}
+ LoggingUtils.setTimeContext(startTime, new Date());
+ metricsLogger.info("createNewDeployment complete");
}
return statusUrl;
}
/**
- *
+ * Returns status URL for deleteExistingDeployment operation.
+ *
* @param deploymentId
+ * The deployment ID
* @param serviceTypeId
- * @return
- * @throws Exception
+ * The service Type ID
+ * @return The status URL
+ * @throws IOException
+ * In case of issues with the Stream
*/
- public String deleteExistingDeployment(String deploymentId, String serviceTypeId) throws Exception {
+ public String deleteExistingDeployment(String deploymentId, String serviceTypeId) throws IOException {
String statusUrl = null;
InputStream in = null;
+ Date startTime = new Date();
+ LoggingUtils.setTargetContext("DCAE", "deleteExistingDeployment");
try {
String apiBodyString = "{\"serviceTypeId\": \"" + serviceTypeId + "\"}";
logger.debug(apiBodyString);
@@ -291,6 +334,7 @@ public class DcaeDispatcherServices {
URL obj = new URL(url);
HttpsURLConnection conn = (HttpsURLConnection) obj.openConnection();
conn.setRequestMethod("DELETE");
+ conn.setRequestProperty("X-ECOMP-RequestID", LoggingUtils.getRequestId());
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
@@ -309,12 +353,15 @@ public class DcaeDispatcherServices {
statusUrl = (String) linksObj.get("status");
logger.debug("Status URL: " + statusUrl);
} catch (Exception e) {
- logger.error("Exception occurred during DCAE communication", e);
- throw e;
+ logger.error("Exception occurred during deleteExistingDeployment Operation with DCAE", e);
+ throw new DcaeDeploymentException("Exception occurred during deleteExistingDeployment Operation with DCAE",
+ e);
} finally {
if (in != null) {
in.close();
}
+ LoggingUtils.setTimeContext(startTime, new Date());
+ metricsLogger.info("deleteExistingDeployment complete");
}
return statusUrl;
}
diff --git a/src/main/java/org/onap/clamp/clds/client/DcaeInventoryServices.java b/src/main/java/org/onap/clamp/clds/client/DcaeInventoryServices.java
index 3dfe9fecb..c35eb0da4 100644
--- a/src/main/java/org/onap/clamp/clds/client/DcaeInventoryServices.java
+++ b/src/main/java/org/onap/clamp/clds/client/DcaeInventoryServices.java
@@ -23,11 +23,16 @@
package org.onap.clamp.clds.client;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.fasterxml.jackson.core.JsonProcessingException;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
+import java.util.Date;
import java.util.List;
import javax.ws.rs.BadRequestException;
@@ -43,29 +48,43 @@ import org.onap.clamp.clds.model.DcaeEvent;
import org.onap.clamp.clds.model.prop.Global;
import org.onap.clamp.clds.model.prop.ModelProperties;
import org.onap.clamp.clds.model.refprop.RefProp;
+import org.onap.clamp.clds.util.LoggingUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
+/**
+ * This class implements the communication with DCAE for the service inventory.
+ *
+ */
public class DcaeInventoryServices {
- protected static final EELFLogger logger = EELFManager.getInstance().getLogger(DcaeInventoryServices.class);
- protected static final EELFLogger auditLogger = EELFManager.getInstance().getAuditLogger();
+ protected static final EELFLogger logger = EELFManager.getInstance().getLogger(DcaeInventoryServices.class);
+ protected static final EELFLogger auditLogger = EELFManager.getInstance().getAuditLogger();
+ protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
@Autowired
- private RefProp refProp;
+ private RefProp refProp;
@Autowired
- private CldsDao cldsDao;
+ private CldsDao cldsDao;
@Autowired
- private SdcCatalogServices sdcCatalogServices;
-
- public void setEventInventory(CldsModel cldsModel, String userId) throws Exception {
+ private SdcCatalogServices sdcCatalogServices;
+
+ /**
+ * Set the event inventory.
+ *
+ * @param cldsModel
+ * The CldsModel
+ * @param userId
+ * The user ID
+ * @throws ParseException
+ * In case of issues during the parsing of DCAE answer
+ */
+ public void setEventInventory(CldsModel cldsModel, String userId) throws ParseException {
String artifactName = cldsModel.getControlName();
DcaeEvent dcaeEvent = new DcaeEvent();
String isDcaeInfoAvailable = null;
+ Date startTime = new Date();
+ LoggingUtils.setTargetContext("DCAE", "setEventInventory");
if (artifactName != null) {
artifactName = artifactName + ".yml";
}
@@ -74,8 +93,8 @@ public class DcaeInventoryServices {
* Below are the properties required for calling the dcae inventory
* url call
*/
- ModelProperties prop = new ModelProperties(cldsModel.getName(), cldsModel.getControlName(), null, false, "{}",
- cldsModel.getPropText());
+ ModelProperties prop = new ModelProperties(cldsModel.getName(), cldsModel.getControlName(), null, false,
+ "{}", cldsModel.getPropText());
Global global = prop.getGlobal();
String invariantServiceUuid = global.getService();
List<String> resourceUuidList = global.getResourceVf();
@@ -92,12 +111,12 @@ public class DcaeInventoryServices {
dcaeEvent.setEvent(DcaeEvent.EVENT_DISTRIBUTION);
} catch (JsonProcessingException e) {
- // exception
- logger.error("JsonProcessingException" + e);
- } catch (IOException e) {
-
- // exception
- logger.error("IOException :" + e);
+ logger.error("Error during JSON decoding", e);
+ } catch (IOException ex) {
+ logger.error("Error during JSON decoding", ex);
+ } finally {
+ LoggingUtils.setTimeContext(startTime, new Date());
+ metricsLogger.info("setEventInventory complete");
}
/* Null whether the DCAE has items lenght or not */
if (isDcaeInfoAvailable != null) {
@@ -107,18 +126,18 @@ public class DcaeInventoryServices {
Object obj0 = parser.parse(isDcaeInfoAvailable);
JSONObject jsonObj = (JSONObject) obj0;
String oldTypeId = cldsModel.getTypeId();
- String newTypeId = "";
+ String newTypeId = "";
if (jsonObj.get("typeId") != null) {
- newTypeId = jsonObj.get("typeId").toString();
+ newTypeId = jsonObj.get("typeId").toString();
cldsModel.setTypeId(jsonObj.get("typeId").toString());
}
// cldsModel.setTypeName(cldsModel.getControlName().toString()+".yml");
if (jsonObj.get("typeName") != null) {
cldsModel.setTypeName(jsonObj.get("typeName").toString());
}
- if(oldTypeId == null || !oldTypeId.equalsIgnoreCase(newTypeId)){
- CldsEvent.insEvent(cldsDao, dcaeEvent.getControlName(), userId, dcaeEvent.getCldsActionCd(),
- CldsEvent.ACTION_STATE_RECEIVED, null);
+ if (oldTypeId == null || !oldTypeId.equalsIgnoreCase(newTypeId)) {
+ CldsEvent.insEvent(cldsDao, dcaeEvent.getControlName(), userId, dcaeEvent.getCldsActionCd(),
+ CldsEvent.ACTION_STATE_RECEIVED, null);
}
cldsModel.save(cldsDao, userId);
} else {
@@ -126,32 +145,55 @@ public class DcaeInventoryServices {
}
}
- public String getDcaeInformation(String artifactName, String serviceUUID, String resourceUUID)
+ /**
+ * DO a query to DCAE to get some Information.
+ *
+ * @param artifactName
+ * The artifact Name
+ * @param serviceUuid
+ * The service UUID
+ * @param resourceUuid
+ * The resource UUID
+ * @return The DCAE inventory for the artifact
+ * @throws IOException
+ * In case of issues with the stream
+ * @throws ParseException
+ * In case of issues with the Json parsing
+ */
+ public String getDcaeInformation(String artifactName, String serviceUuid, String resourceUuid)
throws IOException, ParseException {
- String queryString = "?sdcResourceId=" + resourceUUID + "&sdcServiceId=" + serviceUUID + "&typeName="
+ Date startTime = new Date();
+ LoggingUtils.setTargetContext("DCAE", "getDcaeInformation");
+ String queryString = "?sdcResourceId=" + resourceUuid + "&sdcServiceId=" + serviceUuid + "&typeName="
+ artifactName;
String fullUrl = refProp.getStringValue("DCAE_INVENTORY_URL") + "/dcae-service-types" + queryString;
+
logger.info("Dcae Inventory Service full url - " + fullUrl);
String daceInventoryResponse = null;
URL inventoryUrl = new URL(fullUrl);
HttpURLConnection conn = (HttpURLConnection) inventoryUrl.openConnection();
conn.setRequestMethod("GET");
+ String reqid = LoggingUtils.getRequestId();
+ logger.info("reqid set to " + reqid);
+ conn.setRequestProperty("X-ECOMP-RequestID", reqid);
+
boolean requestFailed = true;
int responseCode = conn.getResponseCode();
if (responseCode == 200) {
requestFailed = false;
}
- BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- String inputLine = null;
- StringBuffer response = new StringBuffer();
- String responseStr = null;
- while ((inputLine = in.readLine()) != null) {
- response.append(inputLine);
+ StringBuilder response = new StringBuilder();
+
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()))) {
+ String inputLine = null;
+
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
}
- in.close();
- responseStr = response.toString();
+ String responseStr = response.toString();
if (responseStr != null) {
if (requestFailed) {
logger.error("requestFailed - responseStr=" + response);
@@ -175,6 +217,8 @@ public class DcaeInventoryServices {
daceInventoryResponse = dcaeServiceType0.toString();
logger.info(daceInventoryResponse.toString());
}
+ LoggingUtils.setTimeContext(startTime, new Date());
+ metricsLogger.info("getDcaeInformation complete: number services returned=" + numServices);
return daceInventoryResponse;
}
diff --git a/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDelegate.java b/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDelegate.java
index ed972d4bf..566d11a24 100644
--- a/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDelegate.java
+++ b/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDelegate.java
@@ -23,8 +23,11 @@
package org.onap.clamp.clds.client;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
+import java.io.IOException;
import java.util.Map;
-import java.util.UUID;
import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.camunda.bpm.engine.delegate.JavaDelegate;
@@ -33,47 +36,65 @@ import org.onap.clamp.clds.model.prop.ModelProperties;
import org.onap.clamp.clds.model.prop.Policy;
import org.onap.clamp.clds.model.prop.PolicyChain;
import org.onap.clamp.clds.model.refprop.RefProp;
+import org.onap.clamp.clds.util.LoggingUtils;
import org.onap.policy.api.AttributeType;
+import org.onap.policy.api.PolicyEngineException;
+import org.onap.policy.controlloop.policy.builder.BuilderException;
import org.springframework.beans.factory.annotation.Autowired;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
/**
- * Send Operational Policy info to policy api.
+ * Send Operational Policy info to policy api. It uses the policy code to define
+ * the model and communicate with it. See also the PolicyClient class.
+ *
*/
public class OperationalPolicyDelegate implements JavaDelegate {
protected static final EELFLogger logger = EELFManager.getInstance()
.getLogger(OperationalPolicyDelegate.class);
protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
+ /**
+ * Automatically injected by Spring, define in CldsConfiguration as a bean.
+ */
@Autowired
- private PolicyClient policyClient;
+ private PolicyClient policyClient;
+ /**
+ * Automatically injected by Spring, define in CldsConfiguration as a bean.
+ */
@Autowired
- private RefProp refProp;
+ private RefProp refProp;
/**
* Perform activity. Send Operational Policy info to policy api.
*
* @param execution
+ * The DelegateExecution
+ * @throws BuilderException
+ * In case of issues with OperationalPolicyReq
+ * @throws IOException
+ * In case of issues with the stream
+ * @throws PolicyEngineException
+ * In case of issues with the PolicyEngine creation
*/
@Override
- public void execute(DelegateExecution execution) throws Exception {
+ public void execute(DelegateExecution execution) throws IOException, BuilderException, PolicyEngineException {
// execution.setVariable("operationalPolicyRequestUuid",
// operationalPolicyRequestUuid);
String responseMessage = null;
String operationalPolicyRequestUuid = null;
ModelProperties prop = ModelProperties.create(execution);
- for (PolicyChain policyChain : prop.getType(Policy.class).getPolicyChains()) {
- operationalPolicyRequestUuid = UUID.randomUUID().toString();
- Map<AttributeType, Map<String, String>> attributes = OperationalPolicyReq.formatAttributes(refProp, prop,
- prop.getType(Policy.class).getId(), policyChain);
- responseMessage = policyClient.sendBrms(attributes, prop, operationalPolicyRequestUuid);
- }
- if (responseMessage != null) {
- execution.setVariable("operationalPolicyResponseMessage", responseMessage.getBytes());
+ Policy policy = prop.getType(Policy.class);
+ if (policy.isFound()) {
+ for (PolicyChain policyChain : prop.getType(Policy.class).getPolicyChains()) {
+ operationalPolicyRequestUuid = LoggingUtils.getRequestId();
+ Map<AttributeType, Map<String, String>> attributes = OperationalPolicyReq.formatAttributes(refProp,
+ prop, prop.getType(Policy.class).getId(), policyChain);
+ responseMessage = policyClient.sendBrms(attributes, prop, operationalPolicyRequestUuid);
+ }
+ if (responseMessage != null) {
+ execution.setVariable("operationalPolicyResponseMessage", responseMessage.getBytes());
+ }
}
}
diff --git a/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDeleteDelegate.java b/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDeleteDelegate.java
index e7b0be53d..2c60941c8 100644
--- a/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDeleteDelegate.java
+++ b/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDeleteDelegate.java
@@ -56,13 +56,15 @@ public class OperationalPolicyDeleteDelegate implements JavaDelegate {
prop.setCurrentModelElementId(policy.getId());
String responseMessage = "";
- for (PolicyChain policyChain : policy.getPolicyChains()) {
- prop.setPolicyUniqueId(policyChain.getPolicyId());
- responseMessage = policyClient.deleteBrms(prop);
- }
- if (responseMessage != null) {
- execution.setVariable("operationalPolicyDeleteResponseMessage", responseMessage.getBytes());
- }
+ if(policy.isFound()){
+ for (PolicyChain policyChain : policy.getPolicyChains()) {
+ prop.setPolicyUniqueId(policyChain.getPolicyId());
+ responseMessage = policyClient.deleteBrms(prop);
+ }
+ if (responseMessage != null) {
+ execution.setVariable("operationalPolicyDeleteResponseMessage", responseMessage.getBytes());
+ }
+ }
}
}
diff --git a/src/main/java/org/onap/clamp/clds/client/PolicyClient.java b/src/main/java/org/onap/clamp/clds/client/PolicyClient.java
index 1a1d31443..e16f056ce 100644
--- a/src/main/java/org/onap/clamp/clds/client/PolicyClient.java
+++ b/src/main/java/org/onap/clamp/clds/client/PolicyClient.java
@@ -23,16 +23,24 @@
package org.onap.clamp.clds.client;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import javax.ws.rs.BadRequestException;
+
import org.onap.clamp.clds.model.prop.ModelProperties;
import org.onap.clamp.clds.model.refprop.RefProp;
+import org.onap.clamp.clds.util.LoggingUtils;
import org.onap.policy.api.AttributeType;
import org.onap.policy.api.ConfigRequestParameters;
import org.onap.policy.api.DeletePolicyCondition;
@@ -41,6 +49,7 @@ import org.onap.policy.api.PolicyChangeResponse;
import org.onap.policy.api.PolicyConfig;
import org.onap.policy.api.PolicyConfigType;
import org.onap.policy.api.PolicyEngine;
+import org.onap.policy.api.PolicyEngineException;
import org.onap.policy.api.PolicyParameters;
import org.onap.policy.api.PolicyType;
import org.onap.policy.api.PushPolicyParameters;
@@ -48,9 +57,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
/**
* Policy utility methods - specifically, send the policy.
*/
@@ -59,29 +65,36 @@ public class PolicyClient {
protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
@Value("${org.onap.clamp.config.files.cldsPolicyConfig:'classpath:/clds/clds-policy-config.properties'}")
- protected String cldsPolicyConfigFile;
+ protected String cldsPolicyConfigFile;
@Autowired
- protected ApplicationContext appContext;
+ protected ApplicationContext appContext;
@Autowired
- protected RefProp refProp;
+ protected RefProp refProp;
public PolicyClient() {
}
/**
- * Perform send of microservice policy
+ * Perform send of microservice policy.
*
* @param attributes
+ * A map of attributes
* @param prop
- * @param policyRequestUUID
- * @return
- * @throws Exception
+ * The ModelProperties
+ * @param policyRequestUuid
+ * PolicyRequest UUID
+ * @return The response message of policy
+ * @throws IOException
+ * In case of issues with the Stream
+ * @throws PolicyEngineException
+ * In case of issues with the PolicyEngine class
+ *
*/
public String sendBrms(Map<AttributeType, Map<String, String>> attributes, ModelProperties prop,
- String policyRequestUUID) throws Exception {
+ String policyRequestUuid) throws PolicyEngineException, IOException {
PolicyParameters policyParameters = new PolicyParameters();
@@ -99,9 +112,9 @@ public class PolicyClient {
policyParameters.setAttributes(attributes);
// Set a random UUID(Mandatory)
- policyParameters.setRequestID(UUID.fromString(policyRequestUUID));
+ policyParameters.setRequestID(UUID.fromString(policyRequestUuid));
String policyNamePrefix = refProp.getStringValue("policy.op.policyNamePrefix");
- String rtnMsg = send(policyParameters, prop, policyNamePrefix);
+ String rtnMsg = send(policyParameters, prop, policyNamePrefix);
String policyType = refProp.getStringValue("policy.op.type");
push(policyType, prop);
@@ -110,32 +123,43 @@ public class PolicyClient {
}
/**
- * Perform send of microservice policy
+ * Perform send of microservice policy.
*
* @param policyJson
+ * The policy JSON
* @param prop
- * @param policyRequestUUID
- * @return
- * @throws Exception
+ * The ModelProperties
+ * @param policyRequestUuid
+ * The policy Request UUID
+ * @return The response message of policy
+ * @throws PolicyEngineException
+ * In case of issues with the policy engine class creation
+ * @throws IOException
+ * In case of issue with the Stream
*/
- public String sendMicroService(String policyJson, ModelProperties prop, String policyRequestUUID) throws Exception {
+ public String sendMicroService(String policyJson, ModelProperties prop, String policyRequestUuid)
+ throws IOException, PolicyEngineException {
PolicyParameters policyParameters = new PolicyParameters();
// Set Policy Type
policyParameters.setPolicyConfigType(PolicyConfigType.MicroService);
- policyParameters.setOnapName(refProp.getStringValue("policy.ecomp.name"));
+ policyParameters.setEcompName(refProp.getStringValue("policy.ecomp.name"));
policyParameters.setPolicyName(prop.getCurrentPolicyScopeAndPolicyName());
policyParameters.setConfigBody(policyJson);
policyParameters.setConfigBodyType(PolicyType.JSON);
- policyParameters.setRequestID(UUID.fromString(policyRequestUUID));
+ policyParameters.setRequestID(UUID.fromString(policyRequestUuid));
String policyNamePrefix = refProp.getStringValue("policy.ms.policyNamePrefix");
- prop.setPolicyUniqueId("");//Adding this line to clear the policy id from policy name while pushing to policy engine
- String rtnMsg = send(policyParameters, prop, policyNamePrefix);
- String policyType = refProp.getStringValue("policy.ms.type");
- push(policyType, prop);
+
+ // Adding this line to clear the policy id from policy name while
+ // pushing to policy engine
+ prop.setPolicyUniqueId("");
+
+ String rtnMsg = send(policyParameters, prop, policyNamePrefix);
+ String policyType = refProp.getStringValue("policy.ms.type");
+ push(policyType, prop);
return rtnMsg;
}
@@ -144,29 +168,38 @@ public class PolicyClient {
* Perform send of policy.
*
* @param policyParameters
+ * The PolicyParameters
* @param prop
- * @return
- * @throws Exception
+ * The ModelProperties
+ * @return THe response message of Policy
+ * @throws IOException
+ * In case of issues with the Stream
+ * @throws PolicyEngineException
+ * In case of issue when creating PolicyEngine class
*/
- protected String send(PolicyParameters policyParameters, ModelProperties prop, String policyNamePrefix) throws Exception {
- // Verify whether it is triggered by Validation Test button from UI
- if ( prop.isTest() ) {
- return "send not executed for test action";
- }
+ protected String send(PolicyParameters policyParameters, ModelProperties prop, String policyNamePrefix)
+ throws IOException, PolicyEngineException {
+ // Verify whether it is triggered by Validation Test button from UI
+ if (prop.isTest()) {
+ return "send not executed for test action";
+ }
PolicyEngine policyEngine = new PolicyEngine(
- appContext.getResource(cldsPolicyConfigFile).getFile().getAbsolutePath());
+ appContext.getResource(cldsPolicyConfigFile).getFile().getAbsolutePath());
// API method to create or update Policy.
PolicyChangeResponse response = null;
String responseMessage;
+ Date startTime = new Date();
try {
- List<Integer> versions = getVersions(policyNamePrefix, prop);
- if (versions.size() <= 0) {
+ List<Integer> versions = getVersions(policyNamePrefix, prop);
+ if (versions.size() <= 0) {
+ LoggingUtils.setTargetContext("Policy", "createPolicy");
logger.info("Attempting to create policy for action=" + prop.getActionCd());
response = policyEngine.createPolicy(policyParameters);
responseMessage = response.getResponseMessage();
} else {
+ LoggingUtils.setTargetContext("Policy", "updatePolicy");
logger.info("Attempting to update policy for action=" + prop.getActionCd());
response = policyEngine.updatePolicy(policyParameters);
responseMessage = response.getResponseMessage();
@@ -176,11 +209,15 @@ public class PolicyClient {
}
logger.info("response is " + responseMessage);
+ LoggingUtils.setTimeContext(startTime, new Date());
+
if (response != null && response.getResponseCode() == 200) {
logger.info("Policy send successful");
+ metricsLogger.info("Policy send success");
} else {
logger.warn("Policy send failed: " + responseMessage);
- throw new Exception("Policy send failed: " + responseMessage);
+ metricsLogger.info("Policy send failure");
+ throw new BadRequestException("Policy send failed: " + responseMessage);
}
return responseMessage;
@@ -190,17 +227,22 @@ public class PolicyClient {
* Format and send push of policy.
*
* @param policyType
+ * The policy Type
* @param prop
- * @return
- * @throws Exception
+ * The ModelProperties
+ * @return The response message of policy
+ * @throws IOException
+ * In case of issues with the stream
+ * @throws PolicyEngineException
+ * In case of issues with the PolicyEngine creation
*/
- protected String push(String policyType, ModelProperties prop) throws Exception {
- // Verify whether it is triggered by Validation Test button from UI
- if ( prop.isTest() ) {
- return "push not executed for test action";
- }
+ protected String push(String policyType, ModelProperties prop) throws PolicyEngineException, IOException {
+ // Verify whether it is triggered by Validation Test button from UI
+ if (prop.isTest()) {
+ return "push not executed for test action";
+ }
- PushPolicyParameters pushPolicyParameters = new PushPolicyParameters();
+ PushPolicyParameters pushPolicyParameters = new PushPolicyParameters();
// Parameter arguments
if (prop.getPolicyUniqueId() != null && !prop.getPolicyUniqueId().isEmpty()) {
@@ -233,7 +275,7 @@ public class PolicyClient {
logger.info("Policy push successful");
} else {
logger.warn("Policy push failed: " + responseMessage);
- throw new Exception("Policy push failed: " + responseMessage);
+ throw new BadRequestException("Policy push failed: " + responseMessage);
}
return responseMessage;
@@ -244,11 +286,17 @@ public class PolicyClient {
* versions in sorted order. Return empty list if none found.
*
* @param policyNamePrefix
+ * The Policy Name Prefix
* @param prop
- * @return
- * @throws Exception
+ * The ModelProperties
+ * @return The response message from policy
+ * @throws IOException
+ * In case of issues with the stream
+ * @throws PolicyEngineException
+ * In case of issues with the PolicyEngine creation
*/
- protected List<Integer> getVersions(String policyNamePrefix, ModelProperties prop) throws Exception {
+ protected List<Integer> getVersions(String policyNamePrefix, ModelProperties prop)
+ throws PolicyEngineException, IOException {
ArrayList<Integer> versions = new ArrayList<>();
ConfigRequestParameters configRequestParameters = new ConfigRequestParameters();
@@ -266,66 +314,80 @@ public class PolicyClient {
PolicyEngine policyEngine = new PolicyEngine(
appContext.getResource(cldsPolicyConfigFile).getFile().getAbsolutePath());
- try {
- Collection<PolicyConfig> response = policyEngine.getConfig(configRequestParameters);
- Iterator<PolicyConfig> itrResp = response.iterator();
-
- while (itrResp.hasNext()) {
- PolicyConfig policyConfig = itrResp.next();
- try {
- Integer version = new Integer(policyConfig.getPolicyVersion());
- versions.add(version);
- } catch (Exception e) {
- // just print warning - if n;o policies, version may be null
- logger.warn(
- "warning: failed to parse policyConfig.getPolicyVersion()=" + policyConfig.getPolicyVersion());
- }
- }
- Collections.sort(versions);
- logger.info("Policy versions.size()=" + versions.size());
- } catch (Exception e) {
- // just print warning - if no policy version found
- logger.warn("warning: policy not found...policy name - " + policyName);
- }
+ try {
+ Collection<PolicyConfig> response = policyEngine.getConfig(configRequestParameters);
+ Iterator<PolicyConfig> itrResp = response.iterator();
+
+ while (itrResp.hasNext()) {
+ PolicyConfig policyConfig = itrResp.next();
+ try {
+ Integer version = new Integer(policyConfig.getPolicyVersion());
+ versions.add(version);
+ } catch (Exception e) {
+ // just print warning - if n;o policies, version may be null
+ logger.warn("warning: failed to parse policyConfig.getPolicyVersion()="
+ + policyConfig.getPolicyVersion());
+ }
+ }
+ Collections.sort(versions);
+ logger.info("Policy versions.size()=" + versions.size());
+ } catch (Exception e) {
+ // just print warning - if no policy version found
+ logger.warn("warning: policy not found...policy name - " + policyName);
+ }
return versions;
}
/**
- * Format and send delete Micro Service requests to Policy
+ * Format and send delete Micro Service requests to Policy.
*
* @param prop
- * @return
- * @throws Exception
+ * The ModelProperties
+ * @return The response message from Policy
+ * @throws IOException
+ * In case of issues with the stream
+ * @throws PolicyEngineException
+ * In case of issues with the PolicyEngine creation
*/
- public String deleteMicrosService(ModelProperties prop) throws Exception {
+ public String deleteMicrosService(ModelProperties prop) throws PolicyEngineException, IOException {
String policyNamePrefix = refProp.getStringValue("policy.ms.policyNamePrefix");
String policyType = refProp.getStringValue("policy.ms.type");
return deletePolicy(policyNamePrefix, prop, policyType);
}
/**
- * Format and send delete BRMS requests to Policy
+ * Format and send delete BRMS requests to Policy.
*
* @param prop
- * @return
- * @throws Exception
+ * The ModelProperties
+ * @return The response message from policy
+ * @throws IOException
+ * In case of issues with the stream
+ * @throws PolicyEngineException
+ * In case of issues with the PolicyEngine creation
*/
- public String deleteBrms(ModelProperties prop) throws Exception {
+ public String deleteBrms(ModelProperties prop) throws PolicyEngineException, IOException {
String policyNamePrefix = refProp.getStringValue("policy.op.policyNamePrefix");
String policyType = refProp.getStringValue("policy.op.type");
return deletePolicy(policyNamePrefix, prop, policyType);
}
/**
- * Format and send delete PAP and PDP requests to Policy
+ * Format and send delete PAP and PDP requests to Policy.
*
* @param policyNamePrefix
+ * The String policyNamePrefix
* @param prop
- * @return
- * @throws Exception
+ * The ModelProperties
+ * @return The response message from policy
+ * @throws IOException
+ * in case of issues with the Stream
+ * @throws PolicyEngineException
+ * In case of issues with the PolicyEngine class creation
*/
- protected String deletePolicy(String policyNamePrefix, ModelProperties prop, String policyType) throws Exception {
+ protected String deletePolicy(String policyNamePrefix, ModelProperties prop, String policyType)
+ throws PolicyEngineException, IOException {
DeletePolicyParameters deletePolicyParameters = new DeletePolicyParameters();
if (prop.getPolicyUniqueId() != null && !prop.getPolicyUniqueId().isEmpty()) {
@@ -353,19 +415,24 @@ public class PolicyClient {
}
/**
- * Send delete request to Policy
+ * Send delete request to Policy.
*
* @param deletePolicyParameters
+ * The DeletePolicyParameters
* @param prop
- * @return
- * @throws Exception
+ * The ModelProperties
+ * @return The response message from policy
+ * @throws IOException
+ * In case of issues with the stream
+ * @throws PolicyEngineException
+ * In case of issues with PolicyEngine class creation
*/
protected String sendDeletePolicy(DeletePolicyParameters deletePolicyParameters, ModelProperties prop)
- throws Exception {
- // Verify whether it is triggered by Validation Test button from UI
- if ( prop.isTest() ) {
- return "delete not executed for test action";
- }
+ throws PolicyEngineException, IOException {
+ // Verify whether it is triggered by Validation Test button from UI
+ if (prop.isTest()) {
+ return "delete not executed for test action";
+ }
PolicyEngine policyEngine = new PolicyEngine(
appContext.getResource(cldsPolicyConfigFile).getFile().getAbsolutePath());
@@ -385,7 +452,7 @@ public class PolicyClient {
logger.info("Policy delete successful");
} else {
logger.warn("Policy delete failed: " + responseMessage);
- throw new Exception("Policy delete failed: " + responseMessage);
+ throw new BadRequestException("Policy delete failed: " + responseMessage);
}
return responseMessage;
diff --git a/src/main/java/org/onap/clamp/clds/client/SdcCatalogServices.java b/src/main/java/org/onap/clamp/clds/client/SdcCatalogServices.java
index df86977cd..a4e332a39 100644
--- a/src/main/java/org/onap/clamp/clds/client/SdcCatalogServices.java
+++ b/src/main/java/org/onap/clamp/clds/client/SdcCatalogServices.java
@@ -1,1022 +1,1213 @@
-/*-
- * ============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.client;
-
-import java.io.BufferedReader;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.commons.csv.CSVFormat;
-import org.apache.commons.csv.CSVRecord;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.clamp.clds.client.req.SdcReq;
-import org.onap.clamp.clds.model.CldsAlarmCondition;
-import org.onap.clamp.clds.model.CldsDBServiceCache;
-import org.onap.clamp.clds.model.CldsSdcArtifact;
-import org.onap.clamp.clds.model.CldsSdcResource;
-import org.onap.clamp.clds.model.CldsSdcResourceBasicInfo;
-import org.onap.clamp.clds.model.CldsSdcServiceDetail;
-import org.onap.clamp.clds.model.CldsSdcServiceInfo;
-import org.onap.clamp.clds.model.CldsServiceData;
-import org.onap.clamp.clds.model.CldsVfData;
-import org.onap.clamp.clds.model.CldsVfKPIData;
-import org.onap.clamp.clds.model.CldsVfcData;
-import org.onap.clamp.clds.model.prop.ModelProperties;
-import org.onap.clamp.clds.model.refprop.RefProp;
-import org.onap.clamp.clds.util.LoggingUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.fasterxml.jackson.databind.node.TextNode;
-
-public class SdcCatalogServices {
- protected static final EELFLogger logger = EELFManager.getInstance().getLogger(SdcCatalogServices.class);
- protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
-
- private static final String RESOURCE_VF_TYPE = "VF";
- private static final String RESOURCE_VFC_TYPE = "VFC";
-
- @Autowired
- private RefProp refProp;
-
- public String getSdcServicesInformation(String uuid) throws Exception {
- Date startTime = new Date();
- String baseUrl = refProp.getStringValue("sdc.serviceUrl");
- String basicAuth = SdcReq.getSdcBasicAuth(refProp);
- try {
- String url = baseUrl;
- if (uuid != null) {
- url = baseUrl + "/" + uuid + "/metadata";
- }
- URL urlObj = new URL(url);
-
- HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection();
-
- conn.setRequestProperty(refProp.getStringValue("sdc.InstanceID"), "CLAMP-Tool");
- conn.setRequestProperty("Authorization", basicAuth);
- conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
- conn.setRequestMethod("GET");
-
- String resp = getResponse(conn);
- if (resp != null) {
- logger.info(resp.toString());
- return resp;
- }
- // metrics log
- LoggingUtils.setResponseContext("0", "Get sdc services success", this.getClass().getName());
-
- } catch (Exception e) {
- LoggingUtils.setResponseContext("900", "Get sdc services failed", this.getClass().getName());
- LoggingUtils.setErrorContext("900", "Get sdc services error");
- logger.error("not able to get any service information from sdc for uuid:" + uuid + " , exception is - " + e.getMessage());
- }
- LoggingUtils.setTimeContext(startTime, new Date());
- LoggingUtils.setTargetContext("SDC", "Get Services");
- metricsLogger.info("Get sdc services information");
-
- return "";
- }
-
- /**
- * To remove duplicate serviceUUIDs from sdc services List
- *
- * @param rawCldsSdcServiceList
- * @return
- */
- public List<CldsSdcServiceInfo> removeDuplicateServices(List<CldsSdcServiceInfo> rawCldsSdcServiceList) {
- List<CldsSdcServiceInfo> cldsSdcServiceInfoList = null;
- if (rawCldsSdcServiceList != null && rawCldsSdcServiceList.size() > 0) {
- // sort list
- Collections.sort(rawCldsSdcServiceList);
- // and then take only the services with the max version (last in the
- // list with the same name)
- cldsSdcServiceInfoList = new ArrayList<>();
- for (int i = 1; i < rawCldsSdcServiceList.size(); i++) {
- // compare name with previous - if not equal, then keep the
- // previous (it's the last with that name)
- CldsSdcServiceInfo prev = rawCldsSdcServiceList.get(i - 1);
- if (!rawCldsSdcServiceList.get(i).getName().equals(prev.getName())) {
- cldsSdcServiceInfoList.add(prev);
- }
- }
- // add the last in the list
- cldsSdcServiceInfoList.add(rawCldsSdcServiceList.get(rawCldsSdcServiceList.size() - 1));
- }
- return cldsSdcServiceInfoList;
- }
-
- /**
- * To remove duplicate serviceUUIDs from sdc resources List
- *
- * @param rawCldsSdcResourceList
- * @return
- */
- public List<CldsSdcResource> removeDuplicateSdcResourceInstances(List<CldsSdcResource> rawCldsSdcResourceList) {
- List<CldsSdcResource> cldsSdcResourceList = null;
- if (rawCldsSdcResourceList != null && rawCldsSdcResourceList.size() > 0) {
- // sort list
- Collections.sort(rawCldsSdcResourceList);
- // and then take only the resources with the max version (last in
- // the list with the same name)
- cldsSdcResourceList = new ArrayList<>();
- for (int i = 1; i < rawCldsSdcResourceList.size(); i++) {
- // compare name with previous - if not equal, then keep the
- // previous (it's the last with that name)
- CldsSdcResource prev = rawCldsSdcResourceList.get(i - 1);
- if (!rawCldsSdcResourceList.get(i).getResourceInstanceName().equals(prev.getResourceInstanceName())) {
- cldsSdcResourceList.add(prev);
- }
- }
- // add the last in the list
- cldsSdcResourceList.add(rawCldsSdcResourceList.get(rawCldsSdcResourceList.size() - 1));
- }
- return cldsSdcResourceList;
- }
-
- /**
- * To remove duplicate basic resources with same resourceUUIDs
- *
- * @param rawCldsSdcResourceListBasicList
- * @return
- */
- public List<CldsSdcResourceBasicInfo> removeDuplicateSdcResourceBasicInfo(
- List<CldsSdcResourceBasicInfo> rawCldsSdcResourceListBasicList) {
- List<CldsSdcResourceBasicInfo> cldsSdcResourceBasicInfoList = null;
- if (rawCldsSdcResourceListBasicList != null && rawCldsSdcResourceListBasicList.size() > 0) {
- // sort list
- Collections.sort(rawCldsSdcResourceListBasicList);
- // and then take only the resources with the max version (last in
- // the list with the same name)
- cldsSdcResourceBasicInfoList = new ArrayList<>();
- for (int i = 1; i < rawCldsSdcResourceListBasicList.size(); i++) {
- // compare name with previous - if not equal, then keep the
- // previous (it's the last with that name)
- CldsSdcResourceBasicInfo prev = rawCldsSdcResourceListBasicList.get(i - 1);
- if (!rawCldsSdcResourceListBasicList.get(i).getName().equals(prev.getName())) {
- cldsSdcResourceBasicInfoList.add(prev);
- }
- }
- // add the last in the list
- cldsSdcResourceBasicInfoList
- .add(rawCldsSdcResourceListBasicList.get(rawCldsSdcResourceListBasicList.size() - 1));
- }
- return cldsSdcResourceBasicInfoList;
- }
-
- /**
- * To get ServiceUUID by using serviceInvariantUUID
- *
- * @param invariantId
- * @return
- * @throws Exception
- */
- public String getServiceUuidFromServiceInvariantId(String invariantId) throws Exception {
- String serviceUuid = "";
- String responseStr = getSdcServicesInformation(null);
- List<CldsSdcServiceInfo> rawCldsSdcServicesList = getCldsSdcServicesListFromJson(responseStr);
- List<CldsSdcServiceInfo> cldsSdcServicesList = removeDuplicateServices(rawCldsSdcServicesList);
- if (cldsSdcServicesList != null && cldsSdcServicesList.size() > 0) {
- for (CldsSdcServiceInfo currCldsSdcServiceInfo : cldsSdcServicesList) {
- if (currCldsSdcServiceInfo != null && currCldsSdcServiceInfo.getInvariantUUID() != null
- && currCldsSdcServiceInfo.getInvariantUUID().equalsIgnoreCase(invariantId)) {
- serviceUuid = currCldsSdcServiceInfo.getUuid();
- break;
- }
- }
- }
- return serviceUuid;
- }
-
- /**
- * To get CldsAsdsServiceInfo class by parsing json string
- *
- * @param jsonStr
- * @return
- * @throws JsonParseException
- * @throws JsonMappingException
- * @throws IOException
- */
- public List<CldsSdcServiceInfo> getCldsSdcServicesListFromJson(String jsonStr) throws IOException {
- ObjectMapper objectMapper = new ObjectMapper();
- if (StringUtils.isBlank(jsonStr)) {
- return null;
- }
- return objectMapper.readValue(jsonStr,
- objectMapper.getTypeFactory().constructCollectionType(List.class, CldsSdcServiceInfo.class));
- }
-
- /**
- * To get List<CldsSdcResourceBasicInfo> class by parsing json string
- *
- * @param jsonStr
- * @return
- * @throws JsonParseException
- * @throws JsonMappingException
- * @throws IOException
- */
- public List<CldsSdcResourceBasicInfo> getAllSdcResourcesListFromJson(String jsonStr) throws IOException {
- ObjectMapper objectMapper = new ObjectMapper();
- if (StringUtils.isBlank(jsonStr)) {
- return null;
- }
- return objectMapper.readValue(jsonStr,
- objectMapper.getTypeFactory().constructCollectionType(List.class, CldsSdcResourceBasicInfo.class));
- }
-
- /**
- * To get CldsAsdsResource class by parsing json string
- *
- * @param jsonStr
- * @return
- * @throws JsonParseException
- * @throws JsonMappingException
- * @throws IOException
- */
- public CldsSdcResource getCldsSdcResourceFromJson(String jsonStr) throws IOException {
- ObjectMapper objectMapper = new ObjectMapper();
- return objectMapper.readValue(jsonStr, CldsSdcResource.class);
- }
-
- /**
- * To get CldsSdcServiceDetail by parsing json string
- *
- * @param jsonStr
- * @return
- * @throws JsonParseException
- * @throws JsonMappingException
- * @throws IOException
- */
- public CldsSdcServiceDetail getCldsSdcServiceDetailFromJson(String jsonStr) throws IOException {
- ObjectMapper objectMapper = new ObjectMapper();
- return objectMapper.readValue(jsonStr, CldsSdcServiceDetail.class);
- }
-
- /**
- * To upload artifact to sdc based on serviceUUID and resourcename on url
- *
- * @param prop
- * @param userid
- * @param url
- * @param formatttedSdcReq
- * @return
- * @throws Exception
- */
- public String uploadArtifactToSdc(ModelProperties prop, String userid, String url, String formatttedSdcReq)
- throws Exception {
- // Verify whether it is triggered by Validation Test button from UI
- if (prop.isTest()) {
- return "sdc artifact upload not executed for test action";
- }
- logger.info("userid=" + userid);
- String md5Text = SdcReq.calculateMD5ByString(formatttedSdcReq);
- byte[] postData = SdcReq.stringToByteArray(formatttedSdcReq);
- int postDataLength = postData.length;
- HttpURLConnection conn = getSdcHttpUrlConnection(userid, postDataLength, url, md5Text);
- try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
- wr.write(postData);
- }
- boolean requestFailed = true;
- int responseCode = conn.getResponseCode();
- logger.info("responseCode=" + responseCode);
- if (responseCode == 200) {
- requestFailed = false;
- }
-
- String responseStr = getResponse(conn);
- if (responseStr != null) {
- if (requestFailed) {
- logger.error("requestFailed - responseStr=" + responseStr);
- throw new Exception(responseStr);
- }
- }
- return responseStr;
- }
-
- private HttpURLConnection getSdcHttpUrlConnection(String userid, int postDataLength, String url, String md5Text)
- throws IOException {
- logger.info("userid=" + userid);
- String basicAuth = SdcReq.getSdcBasicAuth(refProp);
- String sdcXonapInstanceId = refProp.getStringValue("sdc.sdcX-InstanceID");
- URL urlObj = new URL(url);
- HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection();
- conn.setDoOutput(true);
- conn.setRequestProperty(refProp.getStringValue("sdc.InstanceID"), sdcXonapInstanceId);
- conn.setRequestProperty("Authorization", basicAuth);
- conn.setRequestProperty("Content-Type", "application/json");
- conn.setRequestProperty("Content-MD5", md5Text);
- conn.setRequestProperty("USER_ID", userid);
- conn.setRequestMethod("POST");
- conn.setRequestProperty("charset", "utf-8");
- conn.setRequestProperty("Content-Length", Integer.toString(postDataLength));
- conn.setUseCaches(false);
- return conn;
- }
-
- private String getResponse(HttpURLConnection conn) throws IOException {
- try (InputStream is = getInputStream(conn)) {
- if (is != null) {
- try (BufferedReader in = new BufferedReader(new InputStreamReader(is))) {
- StringBuffer response = new StringBuffer();
- String inputLine;
- while ((inputLine = in.readLine()) != null) {
- response.append(inputLine);
- }
- return response.toString();
- }
- }
- }
- return null;
- }
-
- private InputStream getInputStream(HttpURLConnection conn) throws IOException {
- InputStream inStream = conn.getErrorStream();
- if (inStream == null) {
- inStream = conn.getInputStream();
- }
- return inStream;
- }
-
- public CldsDBServiceCache getCldsDbServiceCacheUsingCldsServiceData(CldsServiceData cldsServiceData)
- throws IOException {
- CldsDBServiceCache cldsDbServiceCache = new CldsDBServiceCache();
- cldsDbServiceCache.setCldsDataInstream(cldsServiceData);
- cldsDbServiceCache.setInvariantId(cldsServiceData.getServiceInvariantUUID());
- cldsDbServiceCache.setServiceId(cldsServiceData.getServiceUUID());
- return cldsDbServiceCache;
- }
-
- public boolean isCldsSdcCacheDataExpired(CldsServiceData cldsServiceData) throws Exception {
- boolean expired = false;
- if (cldsServiceData != null && cldsServiceData.getServiceUUID() != null) {
- String cachedServiceUuid = cldsServiceData.getServiceUUID();
- String latestServiceUuid = getServiceUuidFromServiceInvariantId(cldsServiceData.getServiceInvariantUUID());
- String defaultRecordAge = refProp.getStringValue("CLDS_SERVICE_CACHE_MAX_SECONDS");
- if ((!cachedServiceUuid.equalsIgnoreCase(latestServiceUuid)) || (cldsServiceData.getAgeOfRecord() != null
- && cldsServiceData.getAgeOfRecord() > Long.parseLong(defaultRecordAge))) {
- expired = true;
- }
- } else {
- expired = true;
- }
- return expired;
- }
-
- public CldsServiceData getCldsServiceDataWithAlarmConditions(String invariantServiceUuid) throws Exception {
- String url = refProp.getStringValue("sdc.serviceUrl");
- String catalogUrl = refProp.getStringValue("sdc.catalog.url");
- String serviceUuid = getServiceUuidFromServiceInvariantId(invariantServiceUuid);
- String serviceDetailUrl = url + "/" + serviceUuid + "/metadata";
- String responseStr = getCldsServicesOrResourcesBasedOnURL(serviceDetailUrl, false);
- ObjectMapper objectMapper = new ObjectMapper();
- CldsServiceData cldsServiceData = new CldsServiceData();
- if (responseStr != null) {
- CldsSdcServiceDetail cldsSdcServiceDetail = objectMapper.readValue(responseStr, CldsSdcServiceDetail.class);
- cldsServiceData.setServiceUUID(cldsSdcServiceDetail.getUuid());
- cldsServiceData.setServiceInvariantUUID(cldsSdcServiceDetail.getInvariantUUID());
-
- // To remove duplicate resources from serviceDetail and add valid
- // vfs to service
- if (cldsSdcServiceDetail != null && cldsSdcServiceDetail.getResources() != null) {
- List<CldsSdcResource> cldsSdcResourceList = removeDuplicateSdcResourceInstances(
- cldsSdcServiceDetail.getResources());
- if (cldsSdcResourceList != null && cldsSdcResourceList.size() > 0) {
- List<CldsVfData> cldsVfDataList = new ArrayList<>();
- for (CldsSdcResource currCldsSdcResource : cldsSdcResourceList) {
- if (currCldsSdcResource != null && currCldsSdcResource.getResoucreType() != null
- && currCldsSdcResource.getResoucreType().equalsIgnoreCase("VF")) {
- CldsVfData currCldsVfData = new CldsVfData();
- currCldsVfData.setVfName(currCldsSdcResource.getResourceInstanceName());
- currCldsVfData.setVfInvariantResourceUUID(currCldsSdcResource.getResourceInvariantUUID());
- cldsVfDataList.add(currCldsVfData);
- }
- }
- cldsServiceData.setCldsVfs(cldsVfDataList);
- // For each vf in the list , add all vfc's
- getAllVfcForVfList(cldsVfDataList, catalogUrl);
- logger.info("value of cldsServiceData:" + cldsServiceData);
- logger.info("value of cldsServiceData:" + cldsServiceData.getServiceInvariantUUID());
- }
- }
- }
- return cldsServiceData;
- }
-
- /**
- * @param cldsVfDataList
- * @throws IOException
- */
- private void getAllVfcForVfList(List<CldsVfData> cldsVfDataList, String catalogUrl) throws IOException {
- // todo : refact this..
- if (cldsVfDataList != null && cldsVfDataList.size() > 0) {
- List<CldsSdcResourceBasicInfo> allVfResources = getAllSdcVForVFCResourcesBasedOnResourceType(
- RESOURCE_VF_TYPE);
- List<CldsSdcResourceBasicInfo> allVfcResources = getAllSdcVForVFCResourcesBasedOnResourceType(
- RESOURCE_VFC_TYPE);
- for (CldsVfData currCldsVfData : cldsVfDataList) {
- if (currCldsVfData != null && currCldsVfData.getVfInvariantResourceUUID() != null) {
- String resourceUuid = getResourceUuidFromResourceInvariantUuid(
- currCldsVfData.getVfInvariantResourceUUID(), allVfResources);
- if (resourceUuid != null) {
- String vfResourceUuidUrl = catalogUrl + "resources" + "/" + resourceUuid + "/metadata";
- String vfResponse = getCldsServicesOrResourcesBasedOnURL(vfResourceUuidUrl, false);
- if (vfResponse != null) {
- // Below 2 line are to get the KPI(field path) data
- // associated with the VF's
- List<CldsVfKPIData> cldsVfKPIDataList = getFieldPathFromVF(vfResponse);
- currCldsVfData.setCldsKPIList(cldsVfKPIDataList);
-
- List<CldsVfcData> vfcDataListFromVfResponse = getVfcDataListFromVfResponse(vfResponse);
- if (vfcDataListFromVfResponse != null) {
- currCldsVfData.setCldsVfcs(vfcDataListFromVfResponse);
- if (vfcDataListFromVfResponse.size() > 0) {
- // To get artifacts for every VFC and get
- // alarm conditions from artifact
- for (CldsVfcData currCldsVfcData : vfcDataListFromVfResponse) {
- if (currCldsVfcData != null
- && currCldsVfcData.getVfcInvariantResourceUUID() != null) {
- String resourceVfcUuid = getResourceUuidFromResourceInvariantUuid(
- currCldsVfcData.getVfcInvariantResourceUUID(), allVfcResources);
- if (resourceVfcUuid != null) {
- String vfcResourceUuidUrl = catalogUrl + "resources" + "/"
- + resourceVfcUuid + "/metadata";
- String vfcResponse = getCldsServicesOrResourcesBasedOnURL(
- vfcResourceUuidUrl, false);
- if (vfcResponse != null) {
- List<CldsAlarmCondition> alarmCondtionsFromVfc = getAlarmCondtionsFromVfc(
- vfcResponse);
- currCldsVfcData.setCldsAlarmConditions(alarmCondtionsFromVfc);
- }
- } else {
- logger.info("No resourceVFC UUID found for given invariantID:"
- + currCldsVfcData.getVfcInvariantResourceUUID());
- }
- }
- }
- }
- }
- }
- } else {
- logger.info("No resourceUUID found for given invariantREsourceUUID:"
- + currCldsVfData.getVfInvariantResourceUUID());
- }
- }
- }
- }
- }
-
- private List<CldsVfcData> getVfcDataListFromVfResponse(String vfResponse) throws IOException {
- ObjectMapper mapper = new ObjectMapper();
- ObjectNode vfResponseNode = (ObjectNode) mapper.readTree(vfResponse);
- ArrayNode vfcArrayNode = (ArrayNode) vfResponseNode.get("resources");
- List<CldsVfcData> cldsVfcDataList = new ArrayList<>();
- if (vfcArrayNode != null && vfcArrayNode.size() > 0) {
- for (int index = 0; index < vfcArrayNode.size(); index++) {
- CldsVfcData currCldsVfcData = new CldsVfcData();
- ObjectNode currVfcNode = (ObjectNode) vfcArrayNode.get(index);
- TextNode resourceTypeNode = (TextNode) currVfcNode.get("resoucreType");
- if (resourceTypeNode != null && resourceTypeNode.textValue().equalsIgnoreCase("VFC")) {
- TextNode vfcResourceName = (TextNode) currVfcNode.get("resourceInstanceName");
- TextNode vfcInvariantResourceUuid = (TextNode) currVfcNode.get("resourceInvariantUUID");
- currCldsVfcData.setVfcName(vfcResourceName.textValue());
- currCldsVfcData.setVfcInvariantResourceUUID(vfcInvariantResourceUuid.textValue());
- cldsVfcDataList.add(currCldsVfcData);
- }
- }
- }
- return cldsVfcDataList;
- }
-
- private String removeUnwantedBracesFromString(String id) {
- if (id != null && id.contains("\"")) {
- id = id.replaceAll("\"", "");
- }
- return id;
- }
-
- private List<CldsAlarmCondition> getAlarmCondtionsFromVfc(String vfcResponse) throws IOException {
- List<CldsAlarmCondition> cldsAlarmConditionList = new ArrayList<>();
- ObjectMapper mapper = new ObjectMapper();
- ObjectNode vfcResponseNode = (ObjectNode) mapper.readTree(vfcResponse);
- ArrayNode artifactsArrayNode = (ArrayNode) vfcResponseNode.get("artifacts");
-
- if (artifactsArrayNode != null && artifactsArrayNode.size() > 0) {
- for (int index = 0; index < artifactsArrayNode.size(); index++) {
- ObjectNode currArtifactNode = (ObjectNode) artifactsArrayNode.get(index);
- TextNode artifactUrlNode = (TextNode) currArtifactNode.get("artifactURL");
- if (artifactUrlNode != null) {
- String responsesFromArtifactUrl = getResponsesFromArtifactUrl(artifactUrlNode.textValue());
- cldsAlarmConditionList.addAll(parseCsvToGetAlarmConditions(responsesFromArtifactUrl));
- logger.info(responsesFromArtifactUrl);
- }
- }
- }
- return cldsAlarmConditionList;
- }
-
- private List<CldsAlarmCondition> parseCsvToGetAlarmConditions(String allAlarmCondsValues) throws IOException {
- List<CldsAlarmCondition> cldsAlarmConditionList = new ArrayList<>();
- Reader alarmReader = new StringReader(allAlarmCondsValues);
- Iterable<CSVRecord> records = CSVFormat.RFC4180.parse(alarmReader);
- if (records != null) {
- Iterator<CSVRecord> it = records.iterator();
- if (it.hasNext()) {
- it.next();
- }
- it.forEachRemaining(record -> processRecord(cldsAlarmConditionList, record));
- }
- return cldsAlarmConditionList;
- }
-
- // Method to get the artifact for any particular VF
- private List<CldsVfKPIData> getFieldPathFromVF(String vfResponse) throws JsonProcessingException, IOException {
- List<CldsVfKPIData> cldsVfKPIDataList = new ArrayList<CldsVfKPIData>();
- ObjectMapper mapper = new ObjectMapper();
- ObjectNode vfResponseNode = (ObjectNode) mapper.readTree(vfResponse);
- ArrayNode artifactsArrayNode = (ArrayNode) vfResponseNode.get("artifacts");
-
- if (artifactsArrayNode != null && artifactsArrayNode.size() > 0) {
- for (int index = 0; index < artifactsArrayNode.size(); index++) {
- ObjectNode currArtifactNode = (ObjectNode) artifactsArrayNode.get(index);
- TextNode artifactUrlNode = (TextNode) currArtifactNode.get("artifactURL");
- TextNode artifactNameNode = (TextNode) currArtifactNode.get("artifactName");
- String artifactName = "";
- if (artifactNameNode != null) {
- artifactName = artifactNameNode.textValue();
- artifactName = artifactName.substring(artifactName.lastIndexOf(".") + 1);
- }
- if (artifactUrlNode != null && artifactName != null && !artifactName.isEmpty()
- && artifactName.equalsIgnoreCase("csv")) {
- String responsesFromArtifactUrl = getResponsesFromArtifactUrl(artifactUrlNode.textValue());
- cldsVfKPIDataList.addAll(parseCsvToGetFieldPath(responsesFromArtifactUrl));
- logger.info(responsesFromArtifactUrl);
- }
- }
- }
- return cldsVfKPIDataList;
- }
-
- private CldsVfKPIData convertCsvRecordToKpiData(CSVRecord record) {
- if (record.size() < 6) {
- logger.debug("invalid csv field path Record,total columns less than 6: " + record);
- return null;
- }
-
- if (StringUtils.isBlank(record.get(1)) || StringUtils.isBlank(record.get(3))
- || StringUtils.isBlank(record.get(5))) {
- logger.debug("Invalid csv field path Record,one of column is having blank value : " + record);
- return null;
- }
-
- CldsVfKPIData cldsVfKPIData = new CldsVfKPIData();
- cldsVfKPIData.setNfNamingCode(record.get(0).trim());
- cldsVfKPIData.setNfNamingValue(record.get(1).trim());
-
- cldsVfKPIData.setFieldPath(record.get(2).trim());
- cldsVfKPIData.setFieldPathValue(record.get(3).trim());
-
- cldsVfKPIData.setThresholdName(record.get(4).trim());
- cldsVfKPIData.setThresholdValue(record.get(5).trim());
- return cldsVfKPIData;
-
- }
-
- // Method to get the artifactURL Data and set the CldsVfKPIData node
- private List<CldsVfKPIData> parseCsvToGetFieldPath(String allFieldPathValues) throws IOException {
- List<CldsVfKPIData> cldsVfKPIDataList = new ArrayList<CldsVfKPIData>();
- Reader alarmReader = new StringReader(allFieldPathValues);
- Iterable<CSVRecord> records = CSVFormat.RFC4180.parse(alarmReader);
- if (records != null) {
- for (CSVRecord record : records) {
- CldsVfKPIData kpiData = this.convertCsvRecordToKpiData(record);
- if (kpiData != null) {
- cldsVfKPIDataList.add(kpiData);
- }
- }
- }
- return cldsVfKPIDataList;
- }
-
- private void processRecord(List<CldsAlarmCondition> cldsAlarmConditionList, CSVRecord record) {
- if (record == null) {
- return;
- }
- if (record.size() < 5) {
- logger.debug("invalid csv alarm Record,total columns less than 5: " + record);
- return;
- }
- if (StringUtils.isBlank(record.get(1)) || StringUtils.isBlank(record.get(3))
- || StringUtils.isBlank(record.get(4))) {
- logger.debug("invalid csv alarm Record,one of column is having blank value : " + record);
- return;
- }
- CldsAlarmCondition cldsAlarmCondition = new CldsAlarmCondition();
- cldsAlarmCondition.setEventSourceType(record.get(1));
- cldsAlarmCondition.setAlarmConditionKey(record.get(3));
- cldsAlarmCondition.setSeverity(record.get(4));
- cldsAlarmConditionList.add(cldsAlarmCondition);
- }
-
- public String getResponsesFromArtifactUrl(String artifactsUrl) throws IOException {
- String hostUrl = refProp.getStringValue("sdc.hostUrl");
- artifactsUrl = artifactsUrl.replaceAll("\"", "");
- String artifactUrl = hostUrl + artifactsUrl;
- logger.info("value of artifactURl:" + artifactUrl);
- String currArtifactResponse = getCldsServicesOrResourcesBasedOnURL(artifactUrl, true);
- logger.info("value of artifactResponse:" + currArtifactResponse);
- return currArtifactResponse;
- }
-
- /**
- * Service to services/resources/artifacts from sdc.Pass alarmConditions as
- * true to get alarmconditons from artifact url and else it is false
- *
- * @param url
- * @param alarmConditions
- * @return
- * @throws IOException
- */
- public String getCldsServicesOrResourcesBasedOnURL(String url, boolean alarmConditions) {
- String responseStr;
- try {
- url = removeUnwantedBracesFromString(url);
- URL urlObj = new URL(url);
-
- HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection();
- String basicAuth = SdcReq.getSdcBasicAuth(refProp);
- conn.setRequestProperty(refProp.getStringValue("sdc.InstanceID"), "CLAMP-Tool");
- conn.setRequestProperty("Authorization", basicAuth);
- conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
- conn.setRequestMethod("GET");
-
- int responseCode = conn.getResponseCode();
- logger.info("responseCode=" + responseCode);
-
- BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- StringBuffer response = new StringBuffer();
- String inputLine;
- while ((inputLine = in.readLine()) != null) {
- response.append(inputLine);
- if (alarmConditions) {
- response.append("\n");
- }
- }
- responseStr = response.toString();
- in.close();
- return responseStr;
- } catch (Exception e) {
- logger.error("Exception occurred :", e);
- return "";
- }
-
- }
-
- /**
- * To create properties object by using cldsServicedata
- *
- * @param globalProps
- * @param cldsServiceData
- * @return
- * @throws IOException
- */
- public String createPropertiesObjectByUUID(String globalProps, CldsServiceData cldsServiceData) throws IOException {
- String totalPropsStr;
- ObjectMapper mapper = new ObjectMapper();
- ObjectNode globalPropsJson;
- if (cldsServiceData != null && cldsServiceData.getServiceUUID() != null) {
-
- // Objectnode to save all byservice, byvf , byvfc and byalarm nodes
- ObjectNode byIdObjectNode = mapper.createObjectNode();
-
- // To create vf ResourceUUID node with serviceInvariantUUID
- ObjectNode invariantUuidObjectNodeWithVF = createVFObjectNodeByServiceInvariantUUID(mapper,
- cldsServiceData);
- byIdObjectNode.putPOJO("byService", invariantUuidObjectNodeWithVF);
-
- // To create byVf and vfcResourceNode with vfResourceUUID
- ObjectNode vfcObjectNodeByVfUuid = createVFCObjectNodeByVfUuid(mapper, cldsServiceData.getCldsVfs());
- byIdObjectNode.putPOJO("byVf", vfcObjectNodeByVfUuid);
-
- // To create byKpi
- ObjectNode kpiObjectNode = mapper.createObjectNode();
- if (cldsServiceData.getCldsVfs() != null && cldsServiceData.getCldsVfs().size() > 0) {
- for (CldsVfData currCldsVfData : cldsServiceData.getCldsVfs()) {
- if (currCldsVfData != null) {
- createKPIObjectNodeByVfUUID(mapper, kpiObjectNode, currCldsVfData.getCldsKPIList());
- }
- }
- }
- byIdObjectNode.putPOJO("byKpi", kpiObjectNode);
-
- // To create byVfc and alarmCondition with vfcResourceUUID
- ObjectNode vfcResourceUuidObjectNode = mapper.createObjectNode();
- if (cldsServiceData.getCldsVfs() != null && cldsServiceData.getCldsVfs().size() > 0) {
- for (CldsVfData currCldsVfData : cldsServiceData.getCldsVfs()) {
- if (currCldsVfData != null) {
- createAlarmCondObjectNodeByVfcUuid(mapper, vfcResourceUuidObjectNode,
- currCldsVfData.getCldsVfcs());
- }
- }
- }
- byIdObjectNode.putPOJO("byVfc", vfcResourceUuidObjectNode);
-
- // To create byAlarmCondition with alarmConditionKey
- List<CldsAlarmCondition> allAlarmConditions = getAllAlarmConditionsFromCldsServiceData(cldsServiceData);
- ObjectNode alarmCondObjectNodeByAlarmKey = createAlarmCondObjectNodeByAlarmKey(mapper, allAlarmConditions);
-
- byIdObjectNode.putPOJO("byAlarmCondition", alarmCondObjectNodeByAlarmKey);
-
- globalPropsJson = (ObjectNode) mapper.readValue(globalProps, JsonNode.class);
-
- globalPropsJson.putPOJO("shared", byIdObjectNode);
- logger.info("valuie of objNode:" + globalPropsJson);
- } else {
- /**
- * to create json with total properties when no serviceUUID passed
- */
- globalPropsJson = (ObjectNode) mapper.readValue(globalProps, JsonNode.class);
- }
- totalPropsStr = globalPropsJson.toString();
- return totalPropsStr;
- }
-
- public List<CldsAlarmCondition> getAllAlarmConditionsFromCldsServiceData(CldsServiceData cldsServiceData) {
- List<CldsAlarmCondition> alarmCondList = new ArrayList<>();
- if (cldsServiceData != null && cldsServiceData.getCldsVfs() != null
- && cldsServiceData.getCldsVfs().size() > 0) {
- for (CldsVfData currCldsVfData : cldsServiceData.getCldsVfs()) {
- if (currCldsVfData != null && currCldsVfData.getCldsVfcs() != null
- && currCldsVfData.getCldsVfcs().size() > 0) {
- for (CldsVfcData currCldsVfcData : currCldsVfData.getCldsVfcs()) {
- if (currCldsVfcData != null && currCldsVfcData.getCldsAlarmConditions() != null
- && currCldsVfcData.getCldsAlarmConditions().size() > 0) {
- for (CldsAlarmCondition currCldsAlarmCondition : currCldsVfcData.getCldsAlarmConditions()) {
- if (currCldsAlarmCondition != null) {
- alarmCondList.add(currCldsAlarmCondition);
- }
- }
- }
- }
- }
- }
- }
- return alarmCondList;
- }
-
- private ObjectNode createAlarmCondObjectNodeByAlarmKey(ObjectMapper mapper,
- List<CldsAlarmCondition> cldsAlarmCondList) {
- ObjectNode alarmCondKeyNode = mapper.createObjectNode();
-
- if (cldsAlarmCondList != null && cldsAlarmCondList.size() > 0) {
- for (CldsAlarmCondition currCldsAlarmCondition : cldsAlarmCondList) {
- if (currCldsAlarmCondition != null) {
- ObjectNode alarmCondNode = mapper.createObjectNode();
- alarmCondNode.put("eventSourceType", currCldsAlarmCondition.getEventSourceType());
- alarmCondNode.put("eventSeverity", currCldsAlarmCondition.getSeverity());
- alarmCondKeyNode.putPOJO(currCldsAlarmCondition.getAlarmConditionKey(), alarmCondNode);
- }
- }
- } else {
- ObjectNode alarmCondNode = mapper.createObjectNode();
- alarmCondNode.put("eventSourceType", "");
- alarmCondNode.put("eventSeverity", "");
- alarmCondKeyNode.putPOJO("", alarmCondNode);
- }
- return alarmCondKeyNode;
- }
-
- private ObjectNode createVFObjectNodeByServiceInvariantUUID(ObjectMapper mapper, CldsServiceData cldsServiceData) {
- ObjectNode invariantUuidObjectNode = mapper.createObjectNode();
- ObjectNode vfObjectNode = mapper.createObjectNode();
- ObjectNode vfUuidNode = mapper.createObjectNode();
- List<CldsVfData> cldsVfsList = cldsServiceData.getCldsVfs();
- if (cldsVfsList != null && cldsVfsList.size() > 0) {
- for (CldsVfData currCldsVfData : cldsVfsList) {
- if (currCldsVfData != null) {
- vfUuidNode.put(currCldsVfData.getVfInvariantResourceUUID(), currCldsVfData.getVfName());
- }
- }
- } else {
- vfUuidNode.put("", "");
- }
- vfObjectNode.putPOJO("vf", vfUuidNode);
- invariantUuidObjectNode.putPOJO(cldsServiceData.getServiceInvariantUUID(), vfObjectNode);
- return invariantUuidObjectNode;
- }
-
- private void createKPIObjectNodeByVfUUID(ObjectMapper mapper, ObjectNode vfResourceUUIDObjectNode,
- List<CldsVfKPIData> cldsVfKPIDataList) {
- if (cldsVfKPIDataList != null && cldsVfKPIDataList.size() > 0) {
- for (CldsVfKPIData currCldsVfKPIData : cldsVfKPIDataList) {
- if (currCldsVfKPIData != null) {
- ObjectNode thresholdNameObjectNode = mapper.createObjectNode();
-
- ObjectNode fieldPathObjectNode = mapper.createObjectNode();
- ObjectNode nfNamingCodeNode = mapper.createObjectNode();
-
- fieldPathObjectNode.put(currCldsVfKPIData.getFieldPathValue(),
- currCldsVfKPIData.getFieldPathValue());
- nfNamingCodeNode.put(currCldsVfKPIData.getNfNamingValue(), currCldsVfKPIData.getNfNamingValue());
-
- thresholdNameObjectNode.putPOJO("fieldPath", fieldPathObjectNode);
- thresholdNameObjectNode.putPOJO("nfNamingCode", nfNamingCodeNode);
-
- vfResourceUUIDObjectNode.putPOJO(currCldsVfKPIData.getThresholdValue(), thresholdNameObjectNode);
- }
- }
- }
- }
-
- private void createAlarmCondObjectNodeByVfcUuid(ObjectMapper mapper, ObjectNode vfcResourceUUIDObjectNode,
- List<CldsVfcData> cldsVfcDataList) {
- ObjectNode alarmCondContsObjectNode = mapper.createObjectNode();
- ObjectNode alarmCondNode = mapper.createObjectNode();
- // alarmCondNode.put("", "");
- if (cldsVfcDataList != null && cldsVfcDataList.size() > 0) {
- for (CldsVfcData currCldsVfcData : cldsVfcDataList) {
- if (currCldsVfcData != null) {
- if (currCldsVfcData.getCldsAlarmConditions() != null
- && currCldsVfcData.getCldsAlarmConditions().size() > 0) {
- for (CldsAlarmCondition currCldsAlarmCondition : currCldsVfcData.getCldsAlarmConditions()) {
- alarmCondNode.put(currCldsAlarmCondition.getAlarmConditionKey(),
- currCldsAlarmCondition.getAlarmConditionKey());
- }
- alarmCondContsObjectNode.putPOJO("alarmCondition", alarmCondNode);
- }
- alarmCondContsObjectNode.putPOJO("alarmCondition", alarmCondNode);
- vfcResourceUUIDObjectNode.putPOJO(currCldsVfcData.getVfcInvariantResourceUUID(),
- alarmCondContsObjectNode);
- }
- }
- } else {
- alarmCondNode.put("", "");
- alarmCondContsObjectNode.putPOJO("alarmCondition", alarmCondNode);
- vfcResourceUUIDObjectNode.putPOJO("", alarmCondContsObjectNode);
- }
- }
-
- private ObjectNode createVFCObjectNodeByVfUuid(ObjectMapper mapper, List<CldsVfData> cldsVfDataList) {
- ObjectNode vfUUIDObjectNode = mapper.createObjectNode();
-
- if (cldsVfDataList != null && cldsVfDataList.size() > 0) {
- for (CldsVfData currCldsVfData : cldsVfDataList) {
- if (currCldsVfData != null) {
- ObjectNode vfcObjectNode = mapper.createObjectNode();
- ObjectNode vfcUuidNode = mapper.createObjectNode();
- if (currCldsVfData.getCldsVfcs() != null && currCldsVfData.getCldsVfcs().size() > 0) {
- for (CldsVfcData currCldsVfcData : currCldsVfData.getCldsVfcs()) {
- vfcUuidNode.put(currCldsVfcData.getVfcInvariantResourceUUID(),
- currCldsVfcData.getVfcName());
- }
- } else {
- vfcUuidNode.put("", "");
- }
- vfcObjectNode.putPOJO("vfc", vfcUuidNode);
- vfUUIDObjectNode.putPOJO(currCldsVfData.getVfInvariantResourceUUID(), vfcObjectNode);
- }
- }
- } else {
- ObjectNode vfcUuidNode = mapper.createObjectNode();
- vfcUuidNode.put("", "");
- ObjectNode vfcObjectNode = mapper.createObjectNode();
- vfcObjectNode.putPOJO("vfc", vfcUuidNode);
- vfUUIDObjectNode.putPOJO("", vfcObjectNode);
- }
- return vfUUIDObjectNode;
- }
-
- public String getArtifactIdIfArtifactAlreadyExists(CldsSdcServiceDetail CldsSdcServiceDetail, String artifactName) {
- String artifactUuid = null;
- boolean artifactxists = false;
- if (CldsSdcServiceDetail != null && CldsSdcServiceDetail.getResources() != null
- && CldsSdcServiceDetail.getResources().size() > 0) {
- for (CldsSdcResource currCldsSdcResource : CldsSdcServiceDetail.getResources()) {
- if (artifactxists) {
- break;
- }
- if (currCldsSdcResource != null && currCldsSdcResource.getArtifacts() != null
- && currCldsSdcResource.getArtifacts().size() > 0) {
- for (CldsSdcArtifact currCldsSdcArtifact : currCldsSdcResource.getArtifacts()) {
- if (currCldsSdcArtifact != null && currCldsSdcArtifact.getArtifactName() != null) {
- if (currCldsSdcArtifact.getArtifactName().equalsIgnoreCase(artifactName)) {
- artifactUuid = currCldsSdcArtifact.getArtifactUUID();
- artifactxists = true;
- break;
- }
- }
- }
- }
- }
- }
- return artifactUuid;
- }
-
- public String updateControlLoopStatusToDcae(String dcaeUrl, String invariantResourceUuid,
- String invariantServiceUuid, String artifactName) {
- String baseUrl = refProp.getStringValue("sdc.serviceUrl");
- String basicAuth = SdcReq.getSdcBasicAuth(refProp);
- String postStatusData = "{ \n" + "\"event\" : \"" + "Created" + "\",\n" + "\"serviceUUID\" : \""
- + invariantServiceUuid + "\",\n" + "\"resourceUUID\" :\"" + invariantResourceUuid + "\",\n"
- + "\"artifactName\" : \"" + artifactName + "\",\n" + "} \n";
- try {
- String url = baseUrl;
- if (invariantServiceUuid != null) {
- url = dcaeUrl + "/closed-loops";
- }
- URL urlObj = new URL(url);
-
- HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection();
- conn.setRequestProperty(refProp.getStringValue("sdc.InstanceID"), "CLAMP-Tool");
- conn.setRequestProperty("Authorization", basicAuth);
- conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
- conn.setRequestMethod("POST");
-
- byte[] postData = SdcReq.stringToByteArray(postStatusData);
- try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
- wr.write(postData);
- }
-
- int responseCode = conn.getResponseCode();
- logger.info("responseCode=" + responseCode);
-
- String resp = getResponse(conn);
- if (resp != null) {
- return resp;
- }
- } catch (Exception e) {
- logger.error("not able to ger any service information from sdc for uuid:" + invariantServiceUuid);
- }
- return "";
- }
-
- /**
- * To get all sdc VF/VFC Resources basic info
- *
- * @return
- * @throws IOException
- */
- private List<CldsSdcResourceBasicInfo> getAllSdcVForVFCResourcesBasedOnResourceType(String resourceType)
- throws IOException {
- List<CldsSdcResourceBasicInfo> allSdcResourceVFCBasicInfo = new ArrayList<CldsSdcResourceBasicInfo>();
- String catalogUrl = refProp.getStringValue("sdc.catalog.url");
- String resourceUrl = catalogUrl + "resources?resourceType=" + resourceType;
- String allSdcVFCResources = getCldsServicesOrResourcesBasedOnURL(resourceUrl, false);
-
- allSdcResourceVFCBasicInfo = getAllSdcResourcesListFromJson(allSdcVFCResources);
- return removeDuplicateSdcResourceBasicInfo(allSdcResourceVFCBasicInfo);
- }
-
- private String getResourceUuidFromResourceInvariantUuid(String resourceInvariantUUID,
- List<CldsSdcResourceBasicInfo> resourceInfoList) throws IOException {
- String resourceUuid = null;
- if (resourceInfoList != null && resourceInfoList.size() > 0) {
- for (CldsSdcResourceBasicInfo currResource : resourceInfoList) {
- if (currResource != null && currResource.getInvariantUUID() != null && currResource.getUuid() != null
- && currResource.getInvariantUUID().equalsIgnoreCase(resourceInvariantUUID)) {
- resourceUuid = currResource.getUuid();
- break;
- }
- }
- }
- return resourceUuid;
- }
-}
+/*-
+ * ============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.client;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.fasterxml.jackson.databind.node.TextNode;
+
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.ws.rs.BadRequestException;
+
+import org.apache.commons.csv.CSVFormat;
+import org.apache.commons.csv.CSVRecord;
+import org.apache.commons.lang3.StringUtils;
+import org.onap.clamp.clds.client.req.SdcReq;
+import org.onap.clamp.clds.model.CldsAlarmCondition;
+import org.onap.clamp.clds.model.CldsDBServiceCache;
+import org.onap.clamp.clds.model.CldsSdcArtifact;
+import org.onap.clamp.clds.model.CldsSdcResource;
+import org.onap.clamp.clds.model.CldsSdcResourceBasicInfo;
+import org.onap.clamp.clds.model.CldsSdcServiceDetail;
+import org.onap.clamp.clds.model.CldsSdcServiceInfo;
+import org.onap.clamp.clds.model.CldsServiceData;
+import org.onap.clamp.clds.model.CldsVfData;
+import org.onap.clamp.clds.model.CldsVfKPIData;
+import org.onap.clamp.clds.model.CldsVfcData;
+import org.onap.clamp.clds.model.prop.Global;
+import org.onap.clamp.clds.model.prop.ModelProperties;
+import org.onap.clamp.clds.model.refprop.RefProp;
+import org.onap.clamp.clds.util.LoggingUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class SdcCatalogServices {
+ protected static final EELFLogger logger = EELFManager.getInstance().getLogger(SdcCatalogServices.class);
+ protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
+
+ private static final String RESOURCE_VF_TYPE = "VF";
+ private static final String RESOURCE_VFC_TYPE = "VFC";
+
+ @Autowired
+ private RefProp refProp;
+
+ /**
+ * This method get the SDC services Information with the corresponding
+ * Service UUID.
+ *
+ * @param uuid
+ * The service UUID
+ * @return A Json String with all the service list
+ */
+ public String getSdcServicesInformation(String uuid) {
+ Date startTime = new Date();
+ String baseUrl = refProp.getStringValue("sdc.serviceUrl");
+ String basicAuth = SdcReq.getSdcBasicAuth(refProp);
+ LoggingUtils.setTargetContext("SDC", "getSdcServicesInformation");
+
+ try {
+ String url = baseUrl;
+ if (uuid != null) {
+ url = baseUrl + "/" + uuid + "/metadata";
+ }
+ URL urlObj = new URL(url);
+
+ HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection();
+
+ conn.setRequestProperty(refProp.getStringValue("sdc.InstanceID"), "CLAMP-Tool");
+ conn.setRequestProperty("Authorization", basicAuth);
+ conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
+ conn.setRequestProperty("X-ECOMP-RequestID", LoggingUtils.getRequestId());
+ conn.setRequestMethod("GET");
+
+ String resp = getResponse(conn);
+ if (resp != null) {
+ logger.info(resp.toString());
+ // metrics log
+ LoggingUtils.setResponseContext("0", "Get sdc services success", this.getClass().getName());
+ return resp;
+ }
+ } catch (IOException e) {
+ LoggingUtils.setResponseContext("900", "Get sdc services failed", this.getClass().getName());
+ LoggingUtils.setErrorContext("900", "Get sdc services error");
+ logger.error("not able to get any service information from sdc for uuid:" + uuid, e);
+ } finally {
+ LoggingUtils.setTimeContext(startTime, new Date());
+ metricsLogger.info("getSdcServicesInformation complete");
+ }
+
+ return "";
+ }
+
+ /**
+ * To remove duplicate serviceUUIDs from sdc services List.
+ *
+ * @param rawCldsSdcServiceList
+ * A list of CldsSdcServiceInfo
+ * @return A list of CldsSdcServiceInfo without duplicate service UUID
+ */
+ public List<CldsSdcServiceInfo> removeDuplicateServices(List<CldsSdcServiceInfo> rawCldsSdcServiceList) {
+ List<CldsSdcServiceInfo> cldsSdcServiceInfoList = null;
+ if (rawCldsSdcServiceList != null && rawCldsSdcServiceList.size() > 0) {
+ // sort list
+ Collections.sort(rawCldsSdcServiceList);
+ // and then take only the services with the max version (last in the
+ // list with the same name)
+ cldsSdcServiceInfoList = new ArrayList<>();
+ for (int i = 1; i < rawCldsSdcServiceList.size(); i++) {
+ // compare name with previous - if not equal, then keep the
+ // previous (it's the last with that name)
+ CldsSdcServiceInfo prev = rawCldsSdcServiceList.get(i - 1);
+ if (!rawCldsSdcServiceList.get(i).getName().equals(prev.getName())) {
+ cldsSdcServiceInfoList.add(prev);
+ }
+ }
+ // add the last in the list
+ cldsSdcServiceInfoList.add(rawCldsSdcServiceList.get(rawCldsSdcServiceList.size() - 1));
+ }
+ return cldsSdcServiceInfoList;
+ }
+
+ /**
+ * To remove duplicate serviceUUIDs from sdc resources List.
+ *
+ * @param rawCldsSdcResourceList
+ * @return
+ */
+ public List<CldsSdcResource> removeDuplicateSdcResourceInstances(List<CldsSdcResource> rawCldsSdcResourceList) {
+ List<CldsSdcResource> cldsSdcResourceList = null;
+ if (rawCldsSdcResourceList != null && rawCldsSdcResourceList.size() > 0) {
+ // sort list
+ Collections.sort(rawCldsSdcResourceList);
+ // and then take only the resources with the max version (last in
+ // the list with the same name)
+ cldsSdcResourceList = new ArrayList<>();
+ for (int i = 1; i < rawCldsSdcResourceList.size(); i++) {
+ // compare name with previous - if not equal, then keep the
+ // previous (it's the last with that name)
+ CldsSdcResource prev = rawCldsSdcResourceList.get(i - 1);
+ if (!rawCldsSdcResourceList.get(i).getResourceInstanceName().equals(prev.getResourceInstanceName())) {
+ cldsSdcResourceList.add(prev);
+ }
+ }
+ // add the last in the list
+ cldsSdcResourceList.add(rawCldsSdcResourceList.get(rawCldsSdcResourceList.size() - 1));
+ }
+ return cldsSdcResourceList;
+ }
+
+ /**
+ * To remove duplicate basic resources with same resourceUUIDs.
+ *
+ * @param rawCldsSdcResourceListBasicList
+ * @return
+ */
+ public List<CldsSdcResourceBasicInfo> removeDuplicateSdcResourceBasicInfo(
+ List<CldsSdcResourceBasicInfo> rawCldsSdcResourceListBasicList) {
+ List<CldsSdcResourceBasicInfo> cldsSdcResourceBasicInfoList = null;
+ if (rawCldsSdcResourceListBasicList != null && rawCldsSdcResourceListBasicList.size() > 0) {
+ // sort list
+ Collections.sort(rawCldsSdcResourceListBasicList);
+ // and then take only the resources with the max version (last in
+ // the list with the same name)
+ cldsSdcResourceBasicInfoList = new ArrayList<>();
+ for (int i = 1; i < rawCldsSdcResourceListBasicList.size(); i++) {
+ // compare name with previous - if not equal, then keep the
+ // previous (it's the last with that name)
+ CldsSdcResourceBasicInfo prev = rawCldsSdcResourceListBasicList.get(i - 1);
+ if (!rawCldsSdcResourceListBasicList.get(i).getName().equals(prev.getName())) {
+ cldsSdcResourceBasicInfoList.add(prev);
+ }
+ }
+ // add the last in the list
+ cldsSdcResourceBasicInfoList
+ .add(rawCldsSdcResourceListBasicList.get(rawCldsSdcResourceListBasicList.size() - 1));
+ }
+ return cldsSdcResourceBasicInfoList;
+ }
+
+ /**
+ * To get ServiceUUID by using serviceInvariantUUID.
+ *
+ * @param invariantId
+ * The invariant ID
+ * @return The service UUID
+ * @throws IOException
+ * In case of issues with the JSON decoder
+ */
+ public String getServiceUuidFromServiceInvariantId(String invariantId) throws IOException {
+ String serviceUuid = "";
+ String responseStr = getSdcServicesInformation(null);
+ List<CldsSdcServiceInfo> rawCldsSdcServicesList = getCldsSdcServicesListFromJson(responseStr);
+ List<CldsSdcServiceInfo> cldsSdcServicesList = removeDuplicateServices(rawCldsSdcServicesList);
+ if (cldsSdcServicesList != null && cldsSdcServicesList.size() > 0) {
+ for (CldsSdcServiceInfo currCldsSdcServiceInfo : cldsSdcServicesList) {
+ if (currCldsSdcServiceInfo != null && currCldsSdcServiceInfo.getInvariantUUID() != null
+ && currCldsSdcServiceInfo.getInvariantUUID().equalsIgnoreCase(invariantId)) {
+ serviceUuid = currCldsSdcServiceInfo.getUuid();
+ break;
+ }
+ }
+ }
+ return serviceUuid;
+ }
+
+ /**
+ * To get CldsAsdsServiceInfo class by parsing json string.
+ *
+ * @param jsonStr
+ * @return
+ * @throws IOException
+ */
+ public List<CldsSdcServiceInfo> getCldsSdcServicesListFromJson(String jsonStr) throws IOException {
+ ObjectMapper objectMapper = new ObjectMapper();
+ if (StringUtils.isBlank(jsonStr)) {
+ return null;
+ }
+ return objectMapper.readValue(jsonStr,
+ objectMapper.getTypeFactory().constructCollectionType(List.class, CldsSdcServiceInfo.class));
+ }
+
+ /**
+ * To get List of CldsSdcResourceBasicInfo class by parsing json string.
+ *
+ * @param jsonStr
+ * @return
+ * @throws IOException
+ */
+ public List<CldsSdcResourceBasicInfo> getAllSdcResourcesListFromJson(String jsonStr) throws IOException {
+ ObjectMapper objectMapper = new ObjectMapper();
+ if (StringUtils.isBlank(jsonStr)) {
+ return null;
+ }
+ return objectMapper.readValue(jsonStr,
+ objectMapper.getTypeFactory().constructCollectionType(List.class, CldsSdcResourceBasicInfo.class));
+ }
+
+ /**
+ * To get CldsAsdsResource class by parsing json string.
+ *
+ * @param jsonStr
+ * @return
+ * @throws IOException
+ */
+ public CldsSdcResource getCldsSdcResourceFromJson(String jsonStr) throws IOException {
+ ObjectMapper objectMapper = new ObjectMapper();
+ return objectMapper.readValue(jsonStr, CldsSdcResource.class);
+ }
+
+ /**
+ * To get CldsSdcServiceDetail by parsing json string.
+ *
+ * @param jsonStr
+ * @return
+ * @throws IOException
+ */
+ public CldsSdcServiceDetail getCldsSdcServiceDetailFromJson(String jsonStr) throws IOException {
+ ObjectMapper objectMapper = new ObjectMapper();
+ return objectMapper.readValue(jsonStr, CldsSdcServiceDetail.class);
+ }
+
+ /**
+ * To upload artifact to sdc based on serviceUUID and resourcename on url.
+ *
+ * @param prop
+ * @param userid
+ * @param url
+ * @param formatttedSdcReq
+ * @return
+ * @throws IOException
+ */
+ public String uploadArtifactToSdc(ModelProperties prop, String userid, String url, String formatttedSdcReq)
+ throws IOException {
+ // Verify whether it is triggered by Validation Test button from UI
+ if (prop.isTest()) {
+ return "sdc artifact upload not executed for test action";
+ }
+ logger.info("userid=" + userid);
+ String md5Text = SdcReq.calculateMD5ByString(formatttedSdcReq);
+ byte[] postData = SdcReq.stringToByteArray(formatttedSdcReq);
+ int postDataLength = postData.length;
+ HttpURLConnection conn = getSdcHttpUrlConnection(userid, postDataLength, url, md5Text);
+ try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
+ wr.write(postData);
+ }
+ boolean requestFailed = true;
+ int responseCode = conn.getResponseCode();
+ logger.info("responseCode=" + responseCode);
+ if (responseCode == 200) {
+ requestFailed = false;
+ }
+
+ String responseStr = getResponse(conn);
+ if (responseStr != null) {
+ if (requestFailed) {
+ logger.error("requestFailed - responseStr=" + responseStr);
+ throw new BadRequestException(responseStr);
+ }
+ }
+ return responseStr;
+ }
+
+ private HttpURLConnection getSdcHttpUrlConnection(String userid, int postDataLength, String url, String md5Text)
+ throws IOException {
+ logger.info("userid=" + userid);
+ String basicAuth = SdcReq.getSdcBasicAuth(refProp);
+ String sdcXonapInstanceId = refProp.getStringValue("sdc.sdcX-InstanceID");
+ URL urlObj = new URL(url);
+ HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection();
+ conn.setDoOutput(true);
+ conn.setRequestProperty(refProp.getStringValue("sdc.InstanceID"), sdcXonapInstanceId);
+ conn.setRequestProperty("Authorization", basicAuth);
+ conn.setRequestProperty("Content-Type", "application/json");
+ conn.setRequestProperty("Content-MD5", md5Text);
+ conn.setRequestProperty("USER_ID", userid);
+ conn.setRequestMethod("POST");
+ conn.setRequestProperty("charset", "utf-8");
+ conn.setRequestProperty("Content-Length", Integer.toString(postDataLength));
+ conn.setUseCaches(false);
+ conn.setRequestProperty("X-ECOMP-RequestID", LoggingUtils.getRequestId());
+ return conn;
+ }
+
+ private String getResponse(HttpURLConnection conn) throws IOException {
+ try (InputStream is = getInputStream(conn)) {
+ if (is != null) {
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(is))) {
+ StringBuilder response = new StringBuilder();
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ return response.toString();
+ }
+ }
+ }
+ return null;
+ }
+
+ private InputStream getInputStream(HttpURLConnection conn) throws IOException {
+ InputStream inStream = conn.getErrorStream();
+ if (inStream == null) {
+ inStream = conn.getInputStream();
+ }
+ return inStream;
+ }
+
+ public CldsDBServiceCache getCldsDbServiceCacheUsingCldsServiceData(CldsServiceData cldsServiceData)
+ throws IOException {
+ CldsDBServiceCache cldsDbServiceCache = new CldsDBServiceCache();
+ cldsDbServiceCache.setCldsDataInstream(cldsServiceData);
+ cldsDbServiceCache.setInvariantId(cldsServiceData.getServiceInvariantUUID());
+ cldsDbServiceCache.setServiceId(cldsServiceData.getServiceUUID());
+ return cldsDbServiceCache;
+ }
+
+ public boolean isCldsSdcCacheDataExpired(CldsServiceData cldsServiceData) throws IOException {
+ boolean expired = false;
+ if (cldsServiceData != null && cldsServiceData.getServiceUUID() != null) {
+ String cachedServiceUuid = cldsServiceData.getServiceUUID();
+ String latestServiceUuid = getServiceUuidFromServiceInvariantId(cldsServiceData.getServiceInvariantUUID());
+ String defaultRecordAge = refProp.getStringValue("CLDS_SERVICE_CACHE_MAX_SECONDS");
+ if ((!cachedServiceUuid.equalsIgnoreCase(latestServiceUuid)) || (cldsServiceData.getAgeOfRecord() != null
+ && cldsServiceData.getAgeOfRecord() > Long.parseLong(defaultRecordAge))) {
+ expired = true;
+ }
+ } else {
+ expired = true;
+ }
+ return expired;
+ }
+
+ public CldsServiceData getCldsServiceDataWithAlarmConditions(String invariantServiceUuid) throws IOException {
+ String url = refProp.getStringValue("sdc.serviceUrl");
+ String catalogUrl = refProp.getStringValue("sdc.catalog.url");
+ String serviceUuid = getServiceUuidFromServiceInvariantId(invariantServiceUuid);
+ String serviceDetailUrl = url + "/" + serviceUuid + "/metadata";
+ String responseStr = getCldsServicesOrResourcesBasedOnURL(serviceDetailUrl, false);
+ ObjectMapper objectMapper = new ObjectMapper();
+ CldsServiceData cldsServiceData = new CldsServiceData();
+ if (responseStr != null) {
+ CldsSdcServiceDetail cldsSdcServiceDetail = objectMapper.readValue(responseStr, CldsSdcServiceDetail.class);
+ cldsServiceData.setServiceUUID(cldsSdcServiceDetail.getUuid());
+ cldsServiceData.setServiceInvariantUUID(cldsSdcServiceDetail.getInvariantUUID());
+
+ // To remove duplicate resources from serviceDetail and add valid
+ // vfs to service
+ if (cldsSdcServiceDetail != null && cldsSdcServiceDetail.getResources() != null) {
+ List<CldsSdcResource> cldsSdcResourceList = removeDuplicateSdcResourceInstances(
+ cldsSdcServiceDetail.getResources());
+ if (cldsSdcResourceList != null && cldsSdcResourceList.size() > 0) {
+ List<CldsVfData> cldsVfDataList = new ArrayList<>();
+ for (CldsSdcResource currCldsSdcResource : cldsSdcResourceList) {
+ if (currCldsSdcResource != null && currCldsSdcResource.getResoucreType() != null
+ && currCldsSdcResource.getResoucreType().equalsIgnoreCase("VF")) {
+ CldsVfData currCldsVfData = new CldsVfData();
+ currCldsVfData.setVfName(currCldsSdcResource.getResourceInstanceName());
+ currCldsVfData.setVfInvariantResourceUUID(currCldsSdcResource.getResourceInvariantUUID());
+ cldsVfDataList.add(currCldsVfData);
+ }
+ }
+ cldsServiceData.setCldsVfs(cldsVfDataList);
+ // For each vf in the list , add all vfc's
+ getAllVfcForVfList(cldsVfDataList, catalogUrl);
+ logger.info("value of cldsServiceData:" + cldsServiceData);
+ logger.info("value of cldsServiceData:" + cldsServiceData.getServiceInvariantUUID());
+ }
+ }
+ }
+ return cldsServiceData;
+ }
+
+ /**
+ * @param cldsVfDataList
+ * @throws IOException
+ */
+ private void getAllVfcForVfList(List<CldsVfData> cldsVfDataList, String catalogUrl) throws IOException {
+ // todo : refact this..
+ if (cldsVfDataList != null && cldsVfDataList.size() > 0) {
+ List<CldsSdcResourceBasicInfo> allVfResources = getAllSdcVForVfcResourcesBasedOnResourceType(
+ RESOURCE_VF_TYPE);
+ List<CldsSdcResourceBasicInfo> allVfcResources = getAllSdcVForVfcResourcesBasedOnResourceType(
+ RESOURCE_VFC_TYPE);
+ for (CldsVfData currCldsVfData : cldsVfDataList) {
+ if (currCldsVfData != null && currCldsVfData.getVfInvariantResourceUUID() != null) {
+ String resourceUuid = getResourceUuidFromResourceInvariantUuid(
+ currCldsVfData.getVfInvariantResourceUUID(), allVfResources);
+ if (resourceUuid != null) {
+ String vfResourceUuidUrl = catalogUrl + "resources" + "/" + resourceUuid + "/metadata";
+ String vfResponse = getCldsServicesOrResourcesBasedOnURL(vfResourceUuidUrl, false);
+ if (vfResponse != null) {
+ // Below 2 line are to get the KPI(field path) data
+ // associated with the VF's
+ List<CldsVfKPIData> cldsVfKPIDataList = getFieldPathFromVF(vfResponse);
+ currCldsVfData.setCldsKPIList(cldsVfKPIDataList);
+
+ List<CldsVfcData> vfcDataListFromVfResponse = getVfcDataListFromVfResponse(vfResponse);
+ if (vfcDataListFromVfResponse != null) {
+ currCldsVfData.setCldsVfcs(vfcDataListFromVfResponse);
+ if (vfcDataListFromVfResponse.size() > 0) {
+ // To get artifacts for every VFC and get
+ // alarm conditions from artifact
+ for (CldsVfcData currCldsVfcData : vfcDataListFromVfResponse) {
+ if (currCldsVfcData != null
+ && currCldsVfcData.getVfcInvariantResourceUUID() != null) {
+ String resourceVfcUuid = getResourceUuidFromResourceInvariantUuid(
+ currCldsVfcData.getVfcInvariantResourceUUID(), allVfcResources);
+ if (resourceVfcUuid != null) {
+ String vfcResourceUuidUrl = catalogUrl + "resources" + "/"
+ + resourceVfcUuid + "/metadata";
+ String vfcResponse = getCldsServicesOrResourcesBasedOnURL(
+ vfcResourceUuidUrl, false);
+ if (vfcResponse != null) {
+ List<CldsAlarmCondition> alarmCondtionsFromVfc = getAlarmCondtionsFromVfc(
+ vfcResponse);
+ currCldsVfcData.setCldsAlarmConditions(alarmCondtionsFromVfc);
+ }
+ } else {
+ logger.info("No resourceVFC UUID found for given invariantID:"
+ + currCldsVfcData.getVfcInvariantResourceUUID());
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ logger.info("No resourceUUID found for given invariantREsourceUUID:"
+ + currCldsVfData.getVfInvariantResourceUUID());
+ }
+ }
+ }
+ }
+ }
+
+ private List<CldsVfcData> getVfcDataListFromVfResponse(String vfResponse) throws IOException {
+ ObjectMapper mapper = new ObjectMapper();
+ ObjectNode vfResponseNode = (ObjectNode) mapper.readTree(vfResponse);
+ ArrayNode vfcArrayNode = (ArrayNode) vfResponseNode.get("resources");
+ List<CldsVfcData> cldsVfcDataList = new ArrayList<>();
+ if (vfcArrayNode != null) {
+ for (JsonNode vfcjsonNode : vfcArrayNode) {
+ CldsVfcData currCldsVfcData = new CldsVfcData();
+ ObjectNode currVfcNode = (ObjectNode) vfcjsonNode;
+ TextNode resourceTypeNode = (TextNode) currVfcNode.get("resoucreType");
+ if (resourceTypeNode != null && "VFC".equalsIgnoreCase(resourceTypeNode.textValue())) {
+ TextNode vfcResourceName = (TextNode) currVfcNode.get("resourceInstanceName");
+ TextNode vfcInvariantResourceUuid = (TextNode) currVfcNode.get("resourceInvariantUUID");
+ currCldsVfcData.setVfcName(vfcResourceName.textValue());
+ currCldsVfcData.setVfcInvariantResourceUUID(vfcInvariantResourceUuid.textValue());
+ cldsVfcDataList.add(currCldsVfcData);
+ } else if (resourceTypeNode != null && "CVFC".equalsIgnoreCase(resourceTypeNode.textValue())) {
+ cldsVfcDataList.addAll(getVFCfromCVFC(currVfcNode.get("resourceUUID").textValue()));
+ }
+ }
+ }
+ return cldsVfcDataList;
+ }
+
+ private List<CldsVfcData> getVFCfromCVFC(String resourceUUID) {
+ String catalogUrl = refProp.getStringValue("sdc.catalog.url");
+ List<CldsVfcData> cldsVfcDataList = new ArrayList<CldsVfcData>();
+
+ if (resourceUUID != null) {
+ String vfcResourceUUIDUrl = catalogUrl + "resources" + "/" + resourceUUID + "/metadata";
+ try {
+ String vfcResponse = getCldsServicesOrResourcesBasedOnURL(vfcResourceUUIDUrl, false);
+ ObjectMapper mapper = new ObjectMapper();
+ ObjectNode vfResponseNode = (ObjectNode) mapper.readTree(vfcResponse);
+ ArrayNode vfcArrayNode = (ArrayNode) vfResponseNode.get("resources");
+
+ if (vfcArrayNode != null) {
+ for (JsonNode vfcjsonNode : vfcArrayNode) {
+ CldsVfcData currCldsVfcData = new CldsVfcData();
+ ObjectNode currVfcNode = (ObjectNode) vfcjsonNode;
+ TextNode resourceTypeNode = (TextNode) currVfcNode.get("resoucreType");
+ if (resourceTypeNode != null && "VFC".equalsIgnoreCase(resourceTypeNode.textValue())) {
+ TextNode vfcResourceName = (TextNode) currVfcNode.get("resourceInstanceName");
+ TextNode vfcInvariantResourceUUID = (TextNode) currVfcNode.get("resourceInvariantUUID");
+ currCldsVfcData.setVfcName(vfcResourceName.textValue());
+ currCldsVfcData.setVfcInvariantResourceUUID(vfcInvariantResourceUUID.textValue());
+ cldsVfcDataList.add(currCldsVfcData);
+ }
+ }
+ }
+ } catch (IOException e) {
+ logger.error("Exception during JSON analyzis", e);
+ }
+ }
+ return cldsVfcDataList;
+ }
+
+ private String removeUnwantedBracesFromString(String id) {
+ if (id != null && id.contains("\"")) {
+ id = id.replaceAll("\"", "");
+ }
+ return id;
+ }
+
+ private List<CldsAlarmCondition> getAlarmCondtionsFromVfc(String vfcResponse) throws IOException {
+ List<CldsAlarmCondition> cldsAlarmConditionList = new ArrayList<>();
+ ObjectMapper mapper = new ObjectMapper();
+ ObjectNode vfcResponseNode = (ObjectNode) mapper.readTree(vfcResponse);
+ ArrayNode artifactsArrayNode = (ArrayNode) vfcResponseNode.get("artifacts");
+
+ if (artifactsArrayNode != null && artifactsArrayNode.size() > 0) {
+ for (int index = 0; index < artifactsArrayNode.size(); index++) {
+ ObjectNode currArtifactNode = (ObjectNode) artifactsArrayNode.get(index);
+ TextNode artifactUrlNode = (TextNode) currArtifactNode.get("artifactURL");
+ if (artifactUrlNode != null) {
+ String responsesFromArtifactUrl = getResponsesFromArtifactUrl(artifactUrlNode.textValue());
+ cldsAlarmConditionList.addAll(parseCsvToGetAlarmConditions(responsesFromArtifactUrl));
+ logger.info(responsesFromArtifactUrl);
+ }
+ }
+ }
+ return cldsAlarmConditionList;
+ }
+
+ private List<CldsAlarmCondition> parseCsvToGetAlarmConditions(String allAlarmCondsValues) throws IOException {
+ List<CldsAlarmCondition> cldsAlarmConditionList = new ArrayList<>();
+ Reader alarmReader = new StringReader(allAlarmCondsValues);
+ Iterable<CSVRecord> records = CSVFormat.RFC4180.parse(alarmReader);
+ if (records != null) {
+ Iterator<CSVRecord> it = records.iterator();
+ if (it.hasNext()) {
+ it.next();
+ }
+ it.forEachRemaining(record -> processRecord(cldsAlarmConditionList, record));
+ }
+ return cldsAlarmConditionList;
+ }
+
+ // Method to get the artifact for any particular VF
+ private List<CldsVfKPIData> getFieldPathFromVF(String vfResponse) throws JsonProcessingException, IOException {
+ List<CldsVfKPIData> cldsVfKPIDataList = new ArrayList<CldsVfKPIData>();
+ ObjectMapper mapper = new ObjectMapper();
+ ObjectNode vfResponseNode = (ObjectNode) mapper.readTree(vfResponse);
+ ArrayNode artifactsArrayNode = (ArrayNode) vfResponseNode.get("artifacts");
+
+ if (artifactsArrayNode != null && artifactsArrayNode.size() > 0) {
+ for (int index = 0; index < artifactsArrayNode.size(); index++) {
+ ObjectNode currArtifactNode = (ObjectNode) artifactsArrayNode.get(index);
+ TextNode artifactUrlNode = (TextNode) currArtifactNode.get("artifactURL");
+ TextNode artifactNameNode = (TextNode) currArtifactNode.get("artifactName");
+ String artifactName = "";
+ if (artifactNameNode != null) {
+ artifactName = artifactNameNode.textValue();
+ artifactName = artifactName.substring(artifactName.lastIndexOf(".") + 1);
+ }
+ if (artifactUrlNode != null && artifactName != null && !artifactName.isEmpty()
+ && artifactName.equalsIgnoreCase("csv")) {
+ String responsesFromArtifactUrl = getResponsesFromArtifactUrl(artifactUrlNode.textValue());
+ cldsVfKPIDataList.addAll(parseCsvToGetFieldPath(responsesFromArtifactUrl));
+ logger.info(responsesFromArtifactUrl);
+ }
+ }
+ }
+ return cldsVfKPIDataList;
+ }
+
+ private CldsVfKPIData convertCsvRecordToKpiData(CSVRecord record) {
+ if (record.size() < 6) {
+ logger.debug("invalid csv field path Record,total columns less than 6: " + record);
+ return null;
+ }
+
+ if (StringUtils.isBlank(record.get(1)) || StringUtils.isBlank(record.get(3))
+ || StringUtils.isBlank(record.get(5))) {
+ logger.debug("Invalid csv field path Record,one of column is having blank value : " + record);
+ return null;
+ }
+
+ CldsVfKPIData cldsVfKPIData = new CldsVfKPIData();
+ cldsVfKPIData.setNfNamingCode(record.get(0).trim());
+ cldsVfKPIData.setNfNamingValue(record.get(1).trim());
+
+ cldsVfKPIData.setFieldPath(record.get(2).trim());
+ cldsVfKPIData.setFieldPathValue(record.get(3).trim());
+
+ cldsVfKPIData.setThresholdName(record.get(4).trim());
+ cldsVfKPIData.setThresholdValue(record.get(5).trim());
+ return cldsVfKPIData;
+
+ }
+
+ // Method to get the artifactURL Data and set the CldsVfKPIData node
+ private List<CldsVfKPIData> parseCsvToGetFieldPath(String allFieldPathValues) throws IOException {
+ List<CldsVfKPIData> cldsVfKPIDataList = new ArrayList<CldsVfKPIData>();
+ Reader alarmReader = new StringReader(allFieldPathValues);
+ Iterable<CSVRecord> records = CSVFormat.RFC4180.parse(alarmReader);
+ if (records != null) {
+ for (CSVRecord record : records) {
+ CldsVfKPIData kpiData = this.convertCsvRecordToKpiData(record);
+ if (kpiData != null) {
+ cldsVfKPIDataList.add(kpiData);
+ }
+ }
+ }
+ return cldsVfKPIDataList;
+ }
+
+ private void processRecord(List<CldsAlarmCondition> cldsAlarmConditionList, CSVRecord record) {
+ if (record == null) {
+ return;
+ }
+ if (record.size() < 5) {
+ logger.debug("invalid csv alarm Record,total columns less than 5: " + record);
+ return;
+ }
+ if (StringUtils.isBlank(record.get(1)) || StringUtils.isBlank(record.get(3))
+ || StringUtils.isBlank(record.get(4))) {
+ logger.debug("invalid csv alarm Record,one of column is having blank value : " + record);
+ return;
+ }
+ CldsAlarmCondition cldsAlarmCondition = new CldsAlarmCondition();
+ cldsAlarmCondition.setEventSourceType(record.get(1));
+ cldsAlarmCondition.setEventName(record.get(2));
+ cldsAlarmCondition.setAlarmConditionKey(record.get(3));
+ cldsAlarmCondition.setSeverity(record.get(4));
+ cldsAlarmConditionList.add(cldsAlarmCondition);
+ }
+
+ public String getResponsesFromArtifactUrl(String artifactsUrl) {
+ String hostUrl = refProp.getStringValue("sdc.hostUrl");
+ artifactsUrl = artifactsUrl.replaceAll("\"", "");
+ String artifactUrl = hostUrl + artifactsUrl;
+ logger.info("value of artifactURl:" + artifactUrl);
+ String currArtifactResponse = getCldsServicesOrResourcesBasedOnURL(artifactUrl, true);
+ logger.info("value of artifactResponse:" + currArtifactResponse);
+ return currArtifactResponse;
+ }
+
+ /**
+ * Service to services/resources/artifacts from sdc.Pass alarmConditions as
+ * true to get alarmconditons from artifact url and else it is false
+ *
+ * @param url
+ * @param alarmConditions
+ * @return
+ * @throws IOException
+ */
+ public String getCldsServicesOrResourcesBasedOnURL(String url, boolean alarmConditions) {
+ try {
+ url = removeUnwantedBracesFromString(url);
+ URL urlObj = new URL(url);
+
+ HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection();
+ String basicAuth = SdcReq.getSdcBasicAuth(refProp);
+ conn.setRequestProperty(refProp.getStringValue("sdc.InstanceID"), "CLAMP-Tool");
+ conn.setRequestProperty("Authorization", basicAuth);
+ conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
+ conn.setRequestProperty("X-ECOMP-RequestID", LoggingUtils.getRequestId());
+ conn.setRequestMethod("GET");
+
+ int responseCode = conn.getResponseCode();
+ logger.info("responseCode=" + responseCode);
+ StringBuilder response;
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()))) {
+ response = new StringBuilder();
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ if (alarmConditions) {
+ response.append("\n");
+ }
+ }
+ }
+ return response.toString();
+ } catch (IOException e) {
+ logger.error("Exception occurred during query to SDC", e);
+ return "";
+ }
+
+ }
+
+ /**
+ * To create properties object by using cldsServicedata.
+ *
+ * @param globalProps
+ * @param cldsServiceData
+ * @return
+ * @throws IOException
+ */
+ public String createPropertiesObjectByUUID(String globalProps, CldsServiceData cldsServiceData) throws IOException {
+ String totalPropsStr;
+ ObjectMapper mapper = new ObjectMapper();
+ ObjectNode globalPropsJson;
+ if (cldsServiceData != null && cldsServiceData.getServiceUUID() != null) {
+
+ // Objectnode to save all byservice, byvf , byvfc and byalarm nodes
+ ObjectNode byIdObjectNode = mapper.createObjectNode();
+
+ // To create vf ResourceUUID node with serviceInvariantUUID
+ ObjectNode invariantUuidObjectNodeWithVf = createVfObjectNodeByServiceInvariantUuid(mapper,
+ cldsServiceData);
+ byIdObjectNode.putPOJO("byService", invariantUuidObjectNodeWithVf);
+
+ // To create byVf and vfcResourceNode with vfResourceUUID
+ ObjectNode vfcObjectNodeByVfUuid = createVfcObjectNodeByVfUuid(mapper, cldsServiceData.getCldsVfs());
+ byIdObjectNode.putPOJO("byVf", vfcObjectNodeByVfUuid);
+
+ // To create byKpi
+ ObjectNode kpiObjectNode = mapper.createObjectNode();
+ if (cldsServiceData.getCldsVfs() != null && cldsServiceData.getCldsVfs().size() > 0) {
+ for (CldsVfData currCldsVfData : cldsServiceData.getCldsVfs()) {
+ if (currCldsVfData != null) {
+ createKpiObjectNodeByVfUuid(mapper, kpiObjectNode, currCldsVfData.getCldsKPIList());
+ }
+ }
+ }
+ byIdObjectNode.putPOJO("byKpi", kpiObjectNode);
+
+ // To create byVfc and alarmCondition with vfcResourceUUID
+ ObjectNode vfcResourceUuidObjectNode = mapper.createObjectNode();
+ if (cldsServiceData.getCldsVfs() != null && cldsServiceData.getCldsVfs().size() > 0) {
+ for (CldsVfData currCldsVfData : cldsServiceData.getCldsVfs()) {
+ if (currCldsVfData != null) {
+ createAlarmCondObjectNodeByVfcUuid(mapper, vfcResourceUuidObjectNode,
+ currCldsVfData.getCldsVfcs());
+ }
+ }
+ }
+ byIdObjectNode.putPOJO("byVfc", vfcResourceUuidObjectNode);
+
+ // To create byAlarmCondition with alarmConditionKey
+ List<CldsAlarmCondition> allAlarmConditions = getAllAlarmConditionsFromCldsServiceData(cldsServiceData,
+ "alarmCondition");
+ ObjectNode alarmCondObjectNodeByAlarmKey = createAlarmCondObjectNodeByAlarmKey(mapper, allAlarmConditions);
+
+ byIdObjectNode.putPOJO("byAlarmCondition", alarmCondObjectNodeByAlarmKey);
+
+ // To create byAlertDescription with AlertDescription
+ List<CldsAlarmCondition> allAlertDescriptions = getAllAlarmConditionsFromCldsServiceData(cldsServiceData,
+ "alertDescription");
+ ObjectNode alertDescObjectNodeByAlert = createAlarmCondObjectNodeByAlarmKey(mapper, allAlertDescriptions);
+
+ byIdObjectNode.putPOJO("byAlertDescription", alertDescObjectNodeByAlert);
+
+ globalPropsJson = (ObjectNode) mapper.readValue(globalProps, JsonNode.class);
+
+ globalPropsJson.putPOJO("shared", byIdObjectNode);
+ logger.info("valuie of objNode:" + globalPropsJson);
+ } else {
+ /**
+ * to create json with total properties when no serviceUUID passed
+ */
+ globalPropsJson = (ObjectNode) mapper.readValue(globalProps, JsonNode.class);
+ }
+ totalPropsStr = globalPropsJson.toString();
+ return totalPropsStr;
+ }
+
+ /**
+ * Method to get alarm conditions/alert description from Service Data.
+ *
+ * @param cldsServiceData
+ * CldsServiceData the Service Data to analyze
+ * @param eventName
+ * The String event name that will be used to filter the alarm
+ * list
+ * @return The list of CldsAlarmCondition for the event name specified
+ */
+ public List<CldsAlarmCondition> getAllAlarmConditionsFromCldsServiceData(CldsServiceData cldsServiceData,
+ String eventName) {
+ List<CldsAlarmCondition> alarmCondList = new ArrayList<>();
+ if (cldsServiceData != null && cldsServiceData.getCldsVfs() != null
+ && !cldsServiceData.getCldsVfs().isEmpty()) {
+ for (CldsVfData currCldsVfData : cldsServiceData.getCldsVfs()) {
+ alarmCondList.addAll(getAllAlarmConditionsFromCldsVfData(currCldsVfData, eventName));
+ }
+ }
+ return alarmCondList;
+ }
+
+ /**
+ * Method to get alarm conditions/alert description from VF Data.
+ *
+ * @param currCldsVfData
+ * The Vf Data to analyze
+ * @param eventName
+ * The String event name that will be used to filter the alarm
+ * list
+ * @return The list of CldsAlarmCondition for the event name specified
+ */
+ private List<CldsAlarmCondition> getAllAlarmConditionsFromCldsVfData(CldsVfData currCldsVfData, String eventName) {
+ List<CldsAlarmCondition> alarmCondList = new ArrayList<>();
+
+ if (currCldsVfData != null && currCldsVfData.getCldsVfcs() != null && !currCldsVfData.getCldsVfcs().isEmpty()) {
+ for (CldsVfcData currCldsVfcData : currCldsVfData.getCldsVfcs()) {
+ alarmCondList.addAll(getAllAlarmConditionsFromCldsVfcData(currCldsVfcData, eventName));
+ }
+ }
+ return alarmCondList;
+ }
+
+ /**
+ * Method to get alarm conditions/alert description from VFC Data.
+ *
+ * @param currCldsVfcData
+ * The VfC Data to analyze
+ * @param eventName
+ * The String event name that will be used to filter the alarm
+ * list
+ * @return The list of CldsAlarmCondition for the event name specified
+ */
+ private List<CldsAlarmCondition> getAllAlarmConditionsFromCldsVfcData(CldsVfcData currCldsVfcData,
+ String eventName) {
+ List<CldsAlarmCondition> alarmCondList = new ArrayList<>();
+
+ if (currCldsVfcData != null && currCldsVfcData.getCldsAlarmConditions() != null
+ && !currCldsVfcData.getCldsAlarmConditions().isEmpty()) {
+ for (CldsAlarmCondition currCldsAlarmCondition : currCldsVfcData.getCldsAlarmConditions()) {
+ if (currCldsAlarmCondition != null
+ && currCldsAlarmCondition.getEventName().equalsIgnoreCase(eventName)) {
+ alarmCondList.add(currCldsAlarmCondition);
+ }
+ }
+ }
+ return alarmCondList;
+ }
+
+ private ObjectNode createAlarmCondObjectNodeByAlarmKey(ObjectMapper mapper,
+ List<CldsAlarmCondition> cldsAlarmCondList) {
+ ObjectNode alarmCondKeyNode = mapper.createObjectNode();
+
+ if (cldsAlarmCondList != null && cldsAlarmCondList.size() > 0) {
+ for (CldsAlarmCondition currCldsAlarmCondition : cldsAlarmCondList) {
+ if (currCldsAlarmCondition != null) {
+ ObjectNode alarmCondNode = mapper.createObjectNode();
+ alarmCondNode.put("eventSourceType", currCldsAlarmCondition.getEventSourceType());
+ alarmCondNode.put("eventSeverity", currCldsAlarmCondition.getSeverity());
+ alarmCondKeyNode.putPOJO(currCldsAlarmCondition.getAlarmConditionKey(), alarmCondNode);
+ }
+ }
+ } else {
+ ObjectNode alarmCondNode = mapper.createObjectNode();
+ alarmCondNode.put("eventSourceType", "");
+ alarmCondNode.put("eventSeverity", "");
+ alarmCondKeyNode.putPOJO("", alarmCondNode);
+ }
+ return alarmCondKeyNode;
+ }
+
+ private ObjectNode createVfObjectNodeByServiceInvariantUuid(ObjectMapper mapper, CldsServiceData cldsServiceData) {
+ ObjectNode invariantUuidObjectNode = mapper.createObjectNode();
+ ObjectNode vfObjectNode = mapper.createObjectNode();
+ ObjectNode vfUuidNode = mapper.createObjectNode();
+ List<CldsVfData> cldsVfsList = cldsServiceData.getCldsVfs();
+ if (cldsVfsList != null && cldsVfsList.size() > 0) {
+ for (CldsVfData currCldsVfData : cldsVfsList) {
+ if (currCldsVfData != null) {
+ vfUuidNode.put(currCldsVfData.getVfInvariantResourceUUID(), currCldsVfData.getVfName());
+ }
+ }
+ } else {
+ vfUuidNode.put("", "");
+ }
+ vfObjectNode.putPOJO("vf", vfUuidNode);
+ invariantUuidObjectNode.putPOJO(cldsServiceData.getServiceInvariantUUID(), vfObjectNode);
+ return invariantUuidObjectNode;
+ }
+
+ private void createKpiObjectNodeByVfUuid(ObjectMapper mapper, ObjectNode vfResourceUuidObjectNode,
+ List<CldsVfKPIData> cldsVfKpiDataList) {
+ if (cldsVfKpiDataList != null && cldsVfKpiDataList.size() > 0) {
+ for (CldsVfKPIData currCldsVfKpiData : cldsVfKpiDataList) {
+ if (currCldsVfKpiData != null) {
+ ObjectNode thresholdNameObjectNode = mapper.createObjectNode();
+
+ ObjectNode fieldPathObjectNode = mapper.createObjectNode();
+ ObjectNode nfNamingCodeNode = mapper.createObjectNode();
+
+ fieldPathObjectNode.put(currCldsVfKpiData.getFieldPathValue(),
+ currCldsVfKpiData.getFieldPathValue());
+ nfNamingCodeNode.put(currCldsVfKpiData.getNfNamingValue(), currCldsVfKpiData.getNfNamingValue());
+
+ thresholdNameObjectNode.putPOJO("fieldPath", fieldPathObjectNode);
+ thresholdNameObjectNode.putPOJO("nfNamingCode", nfNamingCodeNode);
+
+ vfResourceUuidObjectNode.putPOJO(currCldsVfKpiData.getThresholdValue(), thresholdNameObjectNode);
+ }
+ }
+ }
+ }
+
+ private void createAlarmCondObjectNodeByVfcUuid(ObjectMapper mapper, ObjectNode vfcResourceUuidObjectNode,
+ List<CldsVfcData> cldsVfcDataList) {
+ ObjectNode vfcObjectNode = mapper.createObjectNode();
+ ObjectNode alarmCondNode = mapper.createObjectNode();
+ ObjectNode alertDescNode = mapper.createObjectNode();
+ if (cldsVfcDataList != null && cldsVfcDataList.size() > 0) {
+ for (CldsVfcData currCldsVfcData : cldsVfcDataList) {
+ if (currCldsVfcData != null) {
+ if (currCldsVfcData.getCldsAlarmConditions() != null
+ && currCldsVfcData.getCldsAlarmConditions().size() > 0) {
+ for (CldsAlarmCondition currCldsAlarmCondition : currCldsVfcData.getCldsAlarmConditions()) {
+ alarmCondNode.put(currCldsAlarmCondition.getAlarmConditionKey(),
+ currCldsAlarmCondition.getAlarmConditionKey());
+ if (currCldsAlarmCondition.getEventName().equalsIgnoreCase("alarmCondition")) {
+ alarmCondNode.put(currCldsAlarmCondition.getAlarmConditionKey(),
+ currCldsAlarmCondition.getAlarmConditionKey());
+ } else {
+ alertDescNode.put(currCldsAlarmCondition.getAlarmConditionKey(),
+ currCldsAlarmCondition.getAlarmConditionKey());
+ }
+ }
+ }
+ vfcObjectNode.putPOJO("alarmCondition", alarmCondNode);
+ vfcObjectNode.putPOJO("alertDescription", alertDescNode);
+ vfcResourceUuidObjectNode.putPOJO(currCldsVfcData.getVfcInvariantResourceUUID(), vfcObjectNode);
+ }
+ }
+ } else {
+ alarmCondNode.put("", "");
+ vfcObjectNode.putPOJO("alarmCondition", alarmCondNode);
+ alertDescNode.put("", "");
+ vfcObjectNode.putPOJO("alertDescription", alarmCondNode);
+ vfcResourceUuidObjectNode.putPOJO("", vfcObjectNode);
+ }
+ }
+
+ private ObjectNode createVfcObjectNodeByVfUuid(ObjectMapper mapper, List<CldsVfData> cldsVfDataList) {
+ ObjectNode vfUuidObjectNode = mapper.createObjectNode();
+
+ if (cldsVfDataList != null && cldsVfDataList.size() > 0) {
+ for (CldsVfData currCldsVfData : cldsVfDataList) {
+ if (currCldsVfData != null) {
+ ObjectNode vfcObjectNode = mapper.createObjectNode();
+ ObjectNode vfcUuidNode = mapper.createObjectNode();
+ if (currCldsVfData.getCldsVfcs() != null && currCldsVfData.getCldsVfcs().size() > 0) {
+ for (CldsVfcData currCldsVfcData : currCldsVfData.getCldsVfcs()) {
+ vfcUuidNode.put(currCldsVfcData.getVfcInvariantResourceUUID(),
+ currCldsVfcData.getVfcName());
+ }
+ } else {
+ vfcUuidNode.put("", "");
+ }
+ vfcObjectNode.putPOJO("vfc", vfcUuidNode);
+ vfUuidObjectNode.putPOJO(currCldsVfData.getVfInvariantResourceUUID(), vfcObjectNode);
+ }
+ }
+ } else {
+ ObjectNode vfcUuidNode = mapper.createObjectNode();
+ vfcUuidNode.put("", "");
+ ObjectNode vfcObjectNode = mapper.createObjectNode();
+ vfcObjectNode.putPOJO("vfc", vfcUuidNode);
+ vfUuidObjectNode.putPOJO("", vfcObjectNode);
+ }
+ return vfUuidObjectNode;
+ }
+
+ /**
+ * This method searches the equivalent artifact UUID for a specific
+ * artifactName in a SdcServiceDetail.
+ *
+ * @param cldsSdcServiceDetail
+ * The SdcServiceDetail that will be analyzed
+ * @param artifactName
+ * The artifact name that will be searched
+ * @return The artifact UUID found
+ */
+ public String getArtifactIdIfArtifactAlreadyExists(CldsSdcServiceDetail cldsSdcServiceDetail, String artifactName) {
+ String artifactUuid = null;
+ boolean artifactExists = false;
+ if (cldsSdcServiceDetail != null && cldsSdcServiceDetail.getResources() != null
+ && !cldsSdcServiceDetail.getResources().isEmpty()) {
+ for (CldsSdcResource currCldsSdcResource : cldsSdcServiceDetail.getResources()) {
+ if (artifactExists) {
+ break;
+ }
+ if (currCldsSdcResource != null && currCldsSdcResource.getArtifacts() != null
+ && !currCldsSdcResource.getArtifacts().isEmpty()) {
+ for (CldsSdcArtifact currCldsSdcArtifact : currCldsSdcResource.getArtifacts()) {
+ if (currCldsSdcArtifact != null && currCldsSdcArtifact.getArtifactName() != null) {
+ if (currCldsSdcArtifact.getArtifactName().equalsIgnoreCase(artifactName)) {
+ artifactUuid = currCldsSdcArtifact.getArtifactUUID();
+ artifactExists = true;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ return artifactUuid;
+ }
+
+ public String updateControlLoopStatusToDcae(String dcaeUrl, String invariantResourceUuid,
+ String invariantServiceUuid, String artifactName) {
+ String baseUrl = refProp.getStringValue("sdc.serviceUrl");
+ String basicAuth = SdcReq.getSdcBasicAuth(refProp);
+ String postStatusData = "{ \n" + "\"event\" : \"" + "Created" + "\",\n" + "\"serviceUUID\" : \""
+ + invariantServiceUuid + "\",\n" + "\"resourceUUID\" :\"" + invariantResourceUuid + "\",\n"
+ + "\"artifactName\" : \"" + artifactName + "\",\n" + "} \n";
+ try {
+ String url = baseUrl;
+ if (invariantServiceUuid != null) {
+ url = dcaeUrl + "/closed-loops";
+ }
+ URL urlObj = new URL(url);
+
+ HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection();
+ conn.setRequestProperty(refProp.getStringValue("sdc.InstanceID"), "CLAMP-Tool");
+ conn.setRequestProperty("Authorization", basicAuth);
+ conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
+ conn.setRequestProperty("X-ECOMP-RequestID", LoggingUtils.getRequestId());
+ conn.setRequestMethod("POST");
+
+ byte[] postData = SdcReq.stringToByteArray(postStatusData);
+ try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
+ wr.write(postData);
+ }
+
+ int responseCode = conn.getResponseCode();
+ logger.info("responseCode=" + responseCode);
+
+ String resp = getResponse(conn);
+ if (resp != null) {
+ return resp;
+ }
+ } catch (IOException e) {
+ logger.error("Not able to get any service information from sdc for uuid:" + invariantServiceUuid, e);
+ }
+ return "";
+ }
+
+ /**
+ * To get all sdc VF/VFC Resources basic info.
+ *
+ * @param resourceType
+ * The resourceType
+ * @return The list of CldsSdcResourceBasicInfo
+ * @throws IOException
+ * In case of issues with the Streams
+ */
+ private List<CldsSdcResourceBasicInfo> getAllSdcVForVfcResourcesBasedOnResourceType(String resourceType)
+ throws IOException {
+ List<CldsSdcResourceBasicInfo> allSdcResourceVfcBasicInfo = new ArrayList<CldsSdcResourceBasicInfo>();
+ String catalogUrl = refProp.getStringValue("sdc.catalog.url");
+ String resourceUrl = catalogUrl + "resources?resourceType=" + resourceType;
+ String allSdcVfcResources = getCldsServicesOrResourcesBasedOnURL(resourceUrl, false);
+
+ allSdcResourceVfcBasicInfo = getAllSdcResourcesListFromJson(allSdcVfcResources);
+ return removeDuplicateSdcResourceBasicInfo(allSdcResourceVfcBasicInfo);
+ }
+
+ private String getResourceUuidFromResourceInvariantUuid(String resourceInvariantUuid,
+ List<CldsSdcResourceBasicInfo> resourceInfoList) throws IOException {
+ String resourceUuid = null;
+ if (resourceInfoList != null && resourceInfoList.size() > 0) {
+ for (CldsSdcResourceBasicInfo currResource : resourceInfoList) {
+ if (currResource != null && currResource.getInvariantUUID() != null && currResource.getUuid() != null
+ && currResource.getInvariantUUID().equalsIgnoreCase(resourceInvariantUuid)) {
+ resourceUuid = currResource.getUuid();
+ break;
+ }
+ }
+ }
+ return resourceUuid;
+ }
+
+ /**
+ * Method to get service invariant uuid from model properties.
+ *
+ * @param props
+ * The Clds model properties
+ * @return The Service Id
+ */
+ private String getServiceInvariantUuidFromProps(ModelProperties props) {
+ String invariantUuid = "";
+ Global globalProps = props.getGlobal();
+ if (globalProps != null && globalProps.getService() != null) {
+ invariantUuid = globalProps.getService();
+ }
+ return invariantUuid;
+ }
+
+ /**
+ * This method upload the BluePrint to SDC.
+ *
+ * @param prop
+ * The Clds model Properties
+ * @param userid
+ * The user id for SDC
+ * @param sdcReqUrlsList
+ * The list of SDC URL to try
+ * @param formattedSdcReq
+ * The blueprint to upload
+ * @param formattedSdcLocationReq
+ * THe location Blueprint to upload
+ * @param artifactName
+ * The artifact name from where we can get the Artifact UUID
+ * @param locationArtifactName
+ * The location artifact name from where we can get the Artifact
+ * UUID
+ * @throws IOException
+ * In case of issues with the streams
+ *
+ */
+ public void uploadToSdc(ModelProperties prop, String userid, List<String> sdcReqUrlsList, String formattedSdcReq,
+ String formattedSdcLocationReq, String artifactName, String locationArtifactName) throws IOException {
+ logger.info("userid=" + userid);
+ String serviceInvariantUuid = getServiceInvariantUuidFromProps(prop);
+ if (sdcReqUrlsList != null && !sdcReqUrlsList.isEmpty()) {
+ for (String url : sdcReqUrlsList) {
+ if (url != null) {
+ String originalServiceUuid = getServiceUuidFromServiceInvariantId(serviceInvariantUuid);
+ logger.info("ServiceUUID used before upload in url:" + originalServiceUuid);
+ String sdcServicesInformation = getSdcServicesInformation(originalServiceUuid);
+ CldsSdcServiceDetail cldsSdcServiceDetail = getCldsSdcServiceDetailFromJson(sdcServicesInformation);
+ String uploadedArtifactUuid = getArtifactIdIfArtifactAlreadyExists(cldsSdcServiceDetail,
+ artifactName);
+ // Upload artifacts to sdc
+ String updateUrl = uploadedArtifactUuid != null ? url + "/" + uploadedArtifactUuid : url;
+ String responseStr = uploadArtifactToSdc(prop, userid, updateUrl, formattedSdcReq);
+ logger.info("value of sdc Response of uploading to sdc :" + responseStr);
+ String updatedServiceUuid = getServiceUuidFromServiceInvariantId(serviceInvariantUuid);
+ if (!originalServiceUuid.equalsIgnoreCase(updatedServiceUuid)) {
+ url = url.replace(originalServiceUuid, updatedServiceUuid);
+ }
+ logger.info("ServiceUUID used after upload in ulr:" + updatedServiceUuid);
+ sdcServicesInformation = getSdcServicesInformation(updatedServiceUuid);
+ cldsSdcServiceDetail = getCldsSdcServiceDetailFromJson(sdcServicesInformation);
+ uploadedArtifactUuid = getArtifactIdIfArtifactAlreadyExists(cldsSdcServiceDetail,
+ locationArtifactName);
+ // To send location information also to sdc
+ updateUrl = uploadedArtifactUuid != null ? url + "/" + uploadedArtifactUuid : url;
+ responseStr = uploadArtifactToSdc(prop, userid, updateUrl, formattedSdcLocationReq);
+ logger.info("value of sdc Response of uploading location to sdc :" + responseStr);
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/org/onap/clamp/clds/client/SdcSendReqDelegate.java b/src/main/java/org/onap/clamp/clds/client/SdcSendReqDelegate.java
index 47a4ddc87..ee233686b 100644
--- a/src/main/java/org/onap/clamp/clds/client/SdcSendReqDelegate.java
+++ b/src/main/java/org/onap/clamp/clds/client/SdcSendReqDelegate.java
@@ -28,9 +28,7 @@ import java.util.List;
import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.camunda.bpm.engine.delegate.JavaDelegate;
import org.onap.clamp.clds.client.req.SdcReq;
-import org.onap.clamp.clds.model.CldsSdcServiceDetail;
import org.onap.clamp.clds.model.DcaeEvent;
-import org.onap.clamp.clds.model.prop.Global;
import org.onap.clamp.clds.model.prop.ModelProperties;
import org.onap.clamp.clds.model.refprop.RefProp;
import org.springframework.beans.factory.annotation.Autowired;
@@ -85,62 +83,14 @@ public class SdcSendReqDelegate implements JavaDelegate {
if (formattedSdcLocationReq != null) {
execution.setVariable("formattedLocationReq", formattedSdcLocationReq.getBytes());
}
- String serviceInvariantUUID = getServiceInvariantUUIDFromProps(prop);
- uploadToSdc(prop, serviceInvariantUUID, userid, sdcReqUrlsList, formatttedSdcReq, formattedSdcLocationReq,
+ sdcCatalogServices.uploadToSdc(prop, userid, sdcReqUrlsList, formatttedSdcReq, formattedSdcLocationReq,
artifactName, locationArtifactName);
}
- private String getServiceInvariantUUIDFromProps(ModelProperties props) {
- String invariantUUID = "";
- Global globalProps = props.getGlobal();
- if (globalProps != null) {
- if (globalProps.getService() != null) {
- invariantUUID = globalProps.getService();
- }
- }
- return invariantUUID;
- }
-
- private void uploadToSdc(ModelProperties prop, String serviceInvariantUUID, String userid,
- List<String> sdcReqUrlsList, String formatttedSdcReq, String formattedSdcLocationReq, String artifactName,
- String locationArtifactName) throws Exception {
- logger.info("userid=" + userid);
- if (sdcReqUrlsList != null && sdcReqUrlsList.size() > 0) {
- for (String url : sdcReqUrlsList) {
- if (url != null) {
- String originalServiceUUID = sdcCatalogServices
- .getServiceUuidFromServiceInvariantId(serviceInvariantUUID);
- logger.info("ServiceUUID used before upload in url:" + originalServiceUUID);
- String sdcServicesInformation = sdcCatalogServices.getSdcServicesInformation(originalServiceUUID);
- CldsSdcServiceDetail CldsSdcServiceDetail = sdcCatalogServices
- .getCldsSdcServiceDetailFromJson(sdcServicesInformation);
- String uploadedArtifactUUID = sdcCatalogServices
- .getArtifactIdIfArtifactAlreadyExists(CldsSdcServiceDetail, artifactName);
- // Upload artifacts to sdc
- String updateUrl = uploadedArtifactUUID != null ? url + "/" + uploadedArtifactUUID : url;
- String responseStr = sdcCatalogServices.uploadArtifactToSdc(prop, userid, updateUrl,
- formatttedSdcReq);
- logger.info("value of sdc Response of uploading to sdc :" + responseStr);
- String updatedServiceUUID = sdcCatalogServices
- .getServiceUuidFromServiceInvariantId(serviceInvariantUUID);
- if (!originalServiceUUID.equalsIgnoreCase(updatedServiceUUID)) {
- url = url.replace(originalServiceUUID, updatedServiceUUID);
- }
- logger.info("ServiceUUID used after upload in ulr:" + updatedServiceUUID);
- sdcServicesInformation = sdcCatalogServices.getSdcServicesInformation(updatedServiceUUID);
- CldsSdcServiceDetail = sdcCatalogServices.getCldsSdcServiceDetailFromJson(sdcServicesInformation);
- uploadedArtifactUUID = sdcCatalogServices.getArtifactIdIfArtifactAlreadyExists(CldsSdcServiceDetail,
- locationArtifactName);
- // To send location information also to sdc
- updateUrl = uploadedArtifactUUID != null ? url + "/" + uploadedArtifactUUID : url;
- responseStr = sdcCatalogServices.uploadArtifactToSdc(prop, userid, updateUrl,
- formattedSdcLocationReq);
- logger.info("value of sdc Response of uploading location to sdc :" + responseStr);
- }
- }
- }
- }
-
+ /**
+ * Method to get sdc service values from properties file.
+ * @param controlName
+ */
private void getSdcAttributes(String controlName) {
baseUrl = refProp.getStringValue("sdc.serviceUrl");
artifactLabel = SdcReq
diff --git a/src/main/java/org/onap/clamp/clds/client/req/OperationalPolicyReq.java b/src/main/java/org/onap/clamp/clds/client/req/OperationalPolicyReq.java
index 41629cc11..950fcefe5 100644
--- a/src/main/java/org/onap/clamp/clds/client/req/OperationalPolicyReq.java
+++ b/src/main/java/org/onap/clamp/clds/client/req/OperationalPolicyReq.java
@@ -38,11 +38,11 @@ import org.onap.clamp.clds.model.prop.PolicyChain;
import org.onap.clamp.clds.model.prop.PolicyItem;
import org.onap.clamp.clds.model.prop.Tca;
import org.onap.clamp.clds.model.refprop.RefProp;
-import org.onap.policy.controlloop.policy.OperationsAccumulateParams;
import org.onap.policy.api.AttributeType;
import org.onap.policy.asdc.Resource;
import org.onap.policy.asdc.ResourceType;
import org.onap.policy.asdc.Service;
+import org.onap.policy.controlloop.policy.OperationsAccumulateParams;
import org.onap.policy.controlloop.policy.Policy;
import org.onap.policy.controlloop.policy.PolicyResult;
import org.onap.policy.controlloop.policy.Target;
@@ -274,21 +274,20 @@ public class OperationalPolicyReq {
Target target = new Target();
target.setType(TargetType.VM);
Policy lastPolicyObj = new Policy();
- for (int i = 0; i < policyItemList.size(); i++) {
+ for (int i = 0; i < policyItemList.size(); i++) {
org.onap.policy.controlloop.policy.Policy policyObj;
PolicyItem policyItem = policyItemList.get(i);
String policyName = policyItem.getRecipe() + " Policy";
if (i == 0) {
- //To set up time window payload for trigger policy
- Map<String, String> payloadMap = new HashMap<String, String>();
- payloadMap.put("timeWindow", refProp.getStringValue("op.eNodeB.timeWindow"));
- String policyDescription = policyItem.getRecipe()
+ // To set up time window payload for trigger policy
+ Map<String, String> payloadMap = new HashMap<String, String>();
+ payloadMap.put("timeWindow", refProp.getStringValue("op.eNodeB.timeWindow"));
+ String policyDescription = policyItem.getRecipe()
+ " Policy - the trigger (no parent) policy - created by CLDS";
policyObj = builder.setTriggerPolicy(policyName, policyDescription, policyItem.getActor(), target,
policyItem.getRecipe(), payloadMap, policyItem.getMaxRetries(), policyItem.getRetryTimeLimit());
} else {
- Policy parentPolicyObj = policyObjMap
- .get(policyItem.getParentPolicy());
+ Policy parentPolicyObj = policyObjMap.get(policyItem.getParentPolicy());
String policyDescription = policyItem.getRecipe() + " Policy - triggered conditionally by "
+ parentPolicyObj.getName() + " - created by CLDS";
policyObj = builder.setPolicyForPolicyResult(policyName, policyDescription, policyItem.getActor(),
@@ -300,12 +299,12 @@ public class OperationalPolicyReq {
}
policyObjMap.put(policyItem.getId(), policyObj);
}
- //To set up operations accumulate params
- OperationsAccumulateParams operationsAccumulateParams = new OperationsAccumulateParams();
- operationsAccumulateParams.setLimit(Integer.valueOf(refProp.getStringValue("op.eNodeB.limit")));
- operationsAccumulateParams.setPeriod(refProp.getStringValue("op.eNodeB.period"));
- builder.addOperationsAccumulateParams(lastPolicyObj.getId(), operationsAccumulateParams);
-
+ // To set up operations accumulate params
+ OperationsAccumulateParams operationsAccumulateParams = new OperationsAccumulateParams();
+ operationsAccumulateParams.setLimit(Integer.valueOf(refProp.getStringValue("op.eNodeB.limit")));
+ operationsAccumulateParams.setPeriod(refProp.getStringValue("op.eNodeB.period"));
+ builder.addOperationsAccumulateParams(lastPolicyObj.getId(), operationsAccumulateParams);
+
//
// Build the specification
//
diff --git a/src/main/java/org/onap/clamp/clds/client/req/SdcReq.java b/src/main/java/org/onap/clamp/clds/client/req/SdcReq.java
index 08e196b7c..3c16ce60b 100644
--- a/src/main/java/org/onap/clamp/clds/client/req/SdcReq.java
+++ b/src/main/java/org/onap/clamp/clds/client/req/SdcReq.java
@@ -62,12 +62,22 @@ public class SdcReq {
protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
/**
+ * Format the Blueprint from a Yaml
+ *
* @param refProp
+ * The RefProp instance containing the Clds config
* @param prop
- * @return
+ * The ModelProperties describing the clds model
+ * @param docText
+ * The Yaml file that must be converted
+ *
+ * @return A String containing the BluePrint
* @throws JsonParseException
+ * In case of issues
* @throws JsonMappingException
+ * In case of issues
* @throws IOException
+ * In case of issues
*/
public static String formatBlueprint(RefProp refProp, ModelProperties prop, String docText)
throws JsonParseException, JsonMappingException, IOException {
@@ -346,7 +356,14 @@ public class SdcReq {
return "Basic " + idPw;
}
- private static String getYamlvalue(String docText) throws IOException {
+ /**
+ * Method to get yaml/template properties value from json
+ *
+ * @param docText
+ * @return
+ * @throws IOException
+ */
+ public static String getYamlvalue(String docText) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
String yamlFileValue = "";
ObjectNode root = objectMapper.readValue(docText, ObjectNode.class);
diff --git a/src/main/java/org/onap/clamp/clds/exception/DcaeDeploymentException.java b/src/main/java/org/onap/clamp/clds/exception/DcaeDeploymentException.java
new file mode 100644
index 000000000..6a60ac9d9
--- /dev/null
+++ b/src/main/java/org/onap/clamp/clds/exception/DcaeDeploymentException.java
@@ -0,0 +1,61 @@
+/*-
+ * ============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.exception;
+
+/**
+ * New exception to capture DCAE communication errors.
+ *
+ */
+public class DcaeDeploymentException extends RuntimeException {
+
+ /**
+ * Generated ID
+ */
+ private static final long serialVersionUID = 8452294782552680243L;
+
+ /**
+ * This constructor can be used to create a new DcaeDeploymentException.
+ *
+ * @param message
+ * A string message detailing the problem
+ * @param e
+ * The exception sent by the code
+ */
+ public DcaeDeploymentException(String message, Throwable e) {
+ super(message, e);
+ }
+
+ /**
+ * This constructor can be used to create a new DcaeDeploymentException. Use
+ * this constructor only if you are creating a new exception stack, not if
+ * an exception was already raised by another code.
+ *
+ * @param message
+ * A string message detailing the problem
+ */
+ public DcaeDeploymentException(String message) {
+ super(message);
+ }
+
+}
diff --git a/src/main/java/org/onap/clamp/clds/model/CldsAlarmCondition.java b/src/main/java/org/onap/clamp/clds/model/CldsAlarmCondition.java
index e0d10097b..7ec2f20a2 100644
--- a/src/main/java/org/onap/clamp/clds/model/CldsAlarmCondition.java
+++ b/src/main/java/org/onap/clamp/clds/model/CldsAlarmCondition.java
@@ -31,6 +31,7 @@ public class CldsAlarmCondition implements Serializable {
private String eventSourceType;
private String alarmConditionKey;
private String severity;
+ private String eventName;
public String getEventSourceType() {
return eventSourceType;
@@ -56,4 +57,12 @@ public class CldsAlarmCondition implements Serializable {
this.alarmConditionKey = alarmConditionKey;
}
+ public String getEventName() {
+ return eventName;
+ }
+
+ public void setEventName(String eventName) {
+ this.eventName = eventName;
+ }
+
}
diff --git a/src/main/java/org/onap/clamp/clds/model/prop/ModelElement.java b/src/main/java/org/onap/clamp/clds/model/prop/ModelElement.java
index ed038db66..42333559e 100644
--- a/src/main/java/org/onap/clamp/clds/model/prop/ModelElement.java
+++ b/src/main/java/org/onap/clamp/clds/model/prop/ModelElement.java
@@ -122,6 +122,57 @@ public abstract class ModelElement {
}
return value;
}
+
+ /**
+ * Return the value field of the json node element that has a name field that equals the given name.
+ *
+ * @param nodeIn
+ * @param name
+ * @return
+ */
+ public static String getNodeValueByName(JsonNode nodeIn, String name) {
+ String value = null;
+ if ( nodeIn != null ) {
+ value = nodeIn.path(name).asText();
+ }
+ if ( value == null || value.length() == 0 ) {
+ logger.warn(name + "=" + value);
+ } else {
+ logger.debug(name + "=" + value);
+ }
+ return value;
+ }
+
+
+ /**
+ * Return the value field of the json node element that has a name field that equals the given name.
+ *
+ * @param nodeIn
+ * @param name
+ * @return
+ */
+ public static List<String> getNodeValuesByName(JsonNode nodeIn, String name) {
+ List<String> values = new ArrayList<String>();
+ if ( nodeIn != null ) {
+ Iterator<JsonNode> i = nodeIn.iterator();
+ while (i.hasNext()) {
+ JsonNode node = i.next();
+ if ( node.path("name").asText().equals(name) ) {
+ String value = "";
+ JsonNode vnode = node.path("value");
+ if ( vnode.isArray() ) {
+ // if array, assume value is in first element
+ value = vnode.path(0).asText();
+ } else {
+ // otherwise, just return text
+ value = vnode.asText();
+ }
+ values.add(value);
+ }
+ }
+ }
+ return values;
+ }
/**
* Return the int value field of the json node element that has a name field
diff --git a/src/main/java/org/onap/clamp/clds/service/CldsService.java b/src/main/java/org/onap/clamp/clds/service/CldsService.java
index 509535c5b..c0f711165 100644
--- a/src/main/java/org/onap/clamp/clds/service/CldsService.java
+++ b/src/main/java/org/onap/clamp/clds/service/CldsService.java
@@ -76,6 +76,8 @@ import org.onap.clamp.clds.util.LoggingUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.client.HttpClientErrorException;
import com.att.ajsc.common.AjscService;
import com.att.eelf.configuration.EELFLogger;
@@ -97,38 +99,38 @@ import io.swagger.annotations.ApiOperation;
public class CldsService extends SecureServiceBase {
@Autowired
- private ApplicationContext appContext;
+ private ApplicationContext appContext;
- private static final String RESOURCE_NAME = "clds-version.properties";
+ private static final String RESOURCE_NAME = "clds-version.properties";
- protected static final EELFLogger logger = EELFManager.getInstance().getLogger(CldsService.class);
+ protected static final EELFLogger logger = EELFManager.getInstance().getLogger(CldsService.class);
protected static final EELFLogger auditLogger = EELFManager.getInstance().getAuditLogger();
@Value("${CLDS_PERMISSION_TYPE_CL:permission-type-cl}")
- private String cldsPersmissionTypeCl;
+ private String cldsPersmissionTypeCl;
@Value("${CLDS_PERMISSION_TYPE_CL_MANAGE:permission-type-cl-manage}")
- private String cldsPermissionTypeClManage;
+ private String cldsPermissionTypeClManage;
@Value("${CLDS_PERMISSION_TYPE_CL_EVENT:permission-type-cl-event}")
- private String cldsPermissionTypeClEvent;
+ private String cldsPermissionTypeClEvent;
@Value("${CLDS_PERMISSION_TYPE_FILTER_VF:permission-type-filter-vf}")
- private String cldsPermissionTypeFilterVf;
+ private String cldsPermissionTypeFilterVf;
@Value("${CLDS_PERMISSION_TYPE_TEMPLATE:permission-type-template}")
- private String cldsPermissionTypeTemplate;
+ private String cldsPermissionTypeTemplate;
@Value("${CLDS_PERMISSION_INSTANCE:dev}")
- private String cldsPermissionInstance;
+ private String cldsPermissionInstance;
- private SecureServicePermission permissionReadCl;
+ private SecureServicePermission permissionReadCl;
- private SecureServicePermission permissionUpdateCl;
+ private SecureServicePermission permissionUpdateCl;
- private SecureServicePermission permissionReadTemplate;
+ private SecureServicePermission permissionReadTemplate;
- private SecureServicePermission permissionUpdateTemplate;
+ private SecureServicePermission permissionUpdateTemplate;
@PostConstruct
private final void afterConstruction() {
@@ -212,10 +214,10 @@ public class CldsService extends SecureServiceBase {
cldsInfo.setCldsVersion(cldsVersion);
// Get the user list of permissions
- cldsInfo.setPermissionReadCl(isAuthorized(permissionReadCl));
- cldsInfo.setPermissionUpdateCl(isAuthorized(permissionUpdateCl));
- cldsInfo.setPermissionReadTemplate(isAuthorized(permissionReadTemplate));
- cldsInfo.setPermissionUpdateTemplate(isAuthorized(permissionUpdateTemplate));
+ cldsInfo.setPermissionReadCl(isAuthorizedNoException(permissionReadCl));
+ cldsInfo.setPermissionUpdateCl(isAuthorizedNoException(permissionUpdateCl));
+ cldsInfo.setPermissionReadTemplate(isAuthorizedNoException(permissionReadTemplate));
+ cldsInfo.setPermissionUpdateTemplate(isAuthorizedNoException(permissionUpdateTemplate));
return cldsInfo;
}
@@ -447,9 +449,9 @@ public class CldsService extends SecureServiceBase {
@Path("/model-names")
@Produces(MediaType.APPLICATION_JSON)
public List<ValueItem> getModelNames() {
- // isAuthorized(permissionReadCl);
Date startTime = new Date();
LoggingUtils.setRequestContext("CldsService: GET model names", getPrincipalName());
+ isAuthorized(permissionReadCl);
logger.info("GET list of model names");
List<ValueItem> names = cldsDao.getBpmnNames();
// audit log
@@ -522,10 +524,11 @@ public class CldsService extends SecureServiceBase {
String bpmnJson = cldsBpmnTransformer.doXslTransformToString(bpmn);
logger.info("PUT bpmnJson={}", bpmnJson);
- // Flag indicates whether it is triggered by Validation Test button from UI
+ // Flag indicates whether it is triggered by Validation Test button from
+ // UI
boolean isTest = false;
if (test != null && test.equalsIgnoreCase("true")) {
- isTest = true;
+ isTest = true;
} else {
// if action.test.override is true, then any action will be marked
// as test=true (even if incoming action request had test=false);
@@ -612,10 +615,11 @@ public class CldsService extends SecureServiceBase {
userid = getUserId();
}
- // Flag indicates whether it is triggered by Validation Test button from UI
+ // Flag indicates whether it is triggered by Validation Test button from
+ // UI
boolean isTest = false;
if (test != null && test.equalsIgnoreCase("true")) {
- isTest = true;
+ isTest = true;
}
int instanceCount = 0;
@@ -919,8 +923,8 @@ public class CldsService extends SecureServiceBase {
String operationStatus = "processing";
long waitingTime = System.nanoTime() + TimeUnit.MINUTES.toNanos(10);
while (operationStatus.equalsIgnoreCase("processing")) {
- //Break the loop if waiting for more than 10 mins
- if(waitingTime < System.nanoTime()){
+ // Break the loop if waiting for more than 10 mins
+ if (waitingTime < System.nanoTime()) {
break;
}
operationStatus = dcaeDispatcherServices.getOperationStatus(createNewDeploymentStatusUrl);
@@ -938,12 +942,12 @@ public class CldsService extends SecureServiceBase {
CldsEvent.ACTION_STATE_RECEIVED, null);
model.setDeploymentId(deploymentId);
model.save(cldsDao, getUserId());
+ } else {
+ logger.info("Deploy model (" + modelName + ") failed...Operation Status is - " + operationStatus);
+ throw new HttpClientErrorException(HttpStatus.INTERNAL_SERVER_ERROR,
+ "Deploy model (" + modelName + ") failed...Operation Status is - " + operationStatus);
}
- else{
- logger.info("Deploy model (" + modelName + ") failed...Operation Status is - " + operationStatus);
- throw new Exception("Deploy model (" + modelName + ") failed...Operation Status is - " + operationStatus);
- }
- logger.info("Deploy model (" + modelName + ") succeeded...Deployment Id is - " + deploymentId);
+ logger.info("Deploy model (" + modelName + ") succeeded...Deployment Id is - " + deploymentId);
// audit log
LoggingUtils.setTimeContext(startTime, new Date());
LoggingUtils.setResponseContext("0", "Deploy model success", this.getClass().getName());
@@ -964,7 +968,7 @@ public class CldsService extends SecureServiceBase {
String operationStatus = "processing";
long waitingTime = System.nanoTime() + TimeUnit.MINUTES.toNanos(10);
while (operationStatus.equalsIgnoreCase("processing")) {
- if(waitingTime < System.nanoTime()){
+ if (waitingTime < System.nanoTime()) {
break;
}
operationStatus = dcaeDispatcherServices.getOperationStatus(operationStatusUndeployUrl);
@@ -982,13 +986,13 @@ public class CldsService extends SecureServiceBase {
CldsEvent.ACTION_STATE_RECEIVED, null);
model.setDeploymentId(null);
model.save(cldsDao, getUserId());
+ } else {
+ logger.info("Undeploy model (" + modelName + ") failed...Operation Status is - " + operationStatus);
+ throw new HttpClientErrorException(HttpStatus.INTERNAL_SERVER_ERROR,
+ "Undeploy model (" + modelName + ") failed...Operation Status is - " + operationStatus);
}
- else{
- logger.info("Undeploy model (" + modelName + ") failed...Operation Status is - " + operationStatus);
- throw new Exception("Undeploy model (" + modelName + ") failed...Operation Status is - " + operationStatus);
- }
- logger.info("Undeploy model (" + modelName + ") succeeded.");
- // audit log
+ logger.info("Undeploy model (" + modelName + ") succeeded.");
+ // audit log
LoggingUtils.setTimeContext(startTime, new Date());
LoggingUtils.setResponseContext("0", "Undeploy model success", this.getClass().getName());
auditLogger.info("Undeploy model completed");
diff --git a/src/main/java/org/onap/clamp/clds/service/SecureServiceBase.java b/src/main/java/org/onap/clamp/clds/service/SecureServiceBase.java
index 89e6c092a..19813ebaf 100644
--- a/src/main/java/org/onap/clamp/clds/service/SecureServiceBase.java
+++ b/src/main/java/org/onap/clamp/clds/service/SecureServiceBase.java
@@ -38,14 +38,14 @@ import com.att.eelf.configuration.EELFManager;
* Base/abstract Service class. Implements shared security methods.
*/
public abstract class SecureServiceBase {
- protected static final EELFLogger logger = EELFManager.getInstance().getLogger(SecureServiceBase.class);
+ protected static final EELFLogger logger = EELFManager.getInstance().getLogger(SecureServiceBase.class);
protected static final EELFLogger auditLogger = EELFManager.getInstance().getAuditLogger();
// By default we'll set it to a default handler
- private static UserNameHandler userNameHandler = new DefaultUserNameHandler();
+ private static UserNameHandler userNameHandler = new DefaultUserNameHandler();
@Context
- private SecurityContext securityContext;
+ private SecurityContext securityContext;
/**
* Get the userId from AAF/CSP.
@@ -91,8 +91,12 @@ public abstract class SecureServiceBase {
* app-perm-type|dev|read
*
* @param inPermission
- * @return
+ * The permission to validate
+ * @return A boolean to indicate if the user has the permission to do
+ * execute the inPermission
* @throws NotAuthorizedException
+ * In case of issues with the permission test, error is returned
+ * in this exception
*/
public boolean isAuthorized(SecureServicePermission inPermission) throws NotAuthorizedException {
boolean authorized = false;
@@ -133,11 +137,12 @@ public abstract class SecureServiceBase {
* it will be authorized if the inPermission to check is:
* app-perm-type|dev|read
*
- * @param aafPermission
- * @return
- * @throws NotAuthorizedException
+ * @param inPermission
+ * The permission to validate
+ * @return A boolean to indicate if the user has the permission to do
+ * execute the inPermission
*/
- public boolean isAuthorizedNoException(SecureServicePermission inPermission) throws NotAuthorizedException {
+ public boolean isAuthorizedNoException(SecureServicePermission inPermission) {
boolean authorized = false;
logger.debug("checking if {} has permission: {}", getPrincipalName(), inPermission);
// check if the user has the permission key or the permission key with a
@@ -167,6 +172,14 @@ public abstract class SecureServiceBase {
return authorized;
}
+ /**
+ * This method can be used by the Application.class to set the
+ * UserNameHandler that must be used in this class. The UserNameHandler
+ * where to get the User name
+ *
+ * @param handler
+ * The Handler impl to use
+ */
public static final void setUserNameHandler(UserNameHandler handler) {
if (handler != null) {
userNameHandler = handler;
diff --git a/src/main/java/org/onap/clamp/clds/util/LoggingUtils.java b/src/main/java/org/onap/clamp/clds/util/LoggingUtils.java
index 8ceaa3d87..b501b2df0 100644
--- a/src/main/java/org/onap/clamp/clds/util/LoggingUtils.java
+++ b/src/main/java/org/onap/clamp/clds/util/LoggingUtils.java
@@ -29,27 +29,32 @@ import java.util.Date;
import java.util.TimeZone;
import java.util.UUID;
-import org.jboss.logging.MDC;
+import org.apache.log4j.MDC;
+/**
+ * This class handles the special info that appear in the log, like RequestID,
+ * time context, ...
+ *
+ */
public class LoggingUtils {
/**
* Set request related logging variables in thread local data via MDC
- *
+ *
* @param service
* Service Name of API (ex. "PUT template")
* @param partner
* Partner name (client or user invoking API)
*/
public static void setRequestContext(String service, String partner) {
- MDC.put("RequestId", UUID.randomUUID().toString());
+ MDC.put("RequestId", UUID.randomUUID().toString());
MDC.put("ServiceName", service);
MDC.put("PartnerName", partner);
}
/**
- * Set time related logging variables in thread local data via MDC
- *
+ * Set time related logging variables in thread local data via MDC.
+ *
* @param beginTimeStamp
* Start time
* @param endTimeStamp
@@ -72,7 +77,7 @@ public class LoggingUtils {
}
/**
- * Set response related logging variables in thread local data via MDC
+ * Set response related logging variables in thread local data via MDC.
*
* @param code
* Response code ("0" indicates success)
@@ -102,7 +107,7 @@ public class LoggingUtils {
}
/**
- * Set error related logging variables in thread local data via MDC
+ * Set error related logging variables in thread local data via MDC.
*
* @param code
* Error code
@@ -121,4 +126,22 @@ public class LoggingUtils {
return df.format(timeStamp);
}
+ /**
+ * Get a previously stored RequestID for the thread local data via MDC. If
+ * one was not previously stored, generate one, store it, and return that
+ * one.
+ *
+ * @return A string with the request ID
+ */
+ public static String getRequestId() {
+ String reqid;
+
+ reqid = (String) MDC.get("RequestID");
+ if (reqid == null || reqid.isEmpty()) {
+ reqid = UUID.randomUUID().toString();
+ MDC.put("RequestId", reqid);
+ }
+ return reqid;
+ }
+
}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index ce4158bbd..9ed7c6ede 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,119 +1,152 @@
-###
-# ============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.
-###
-
-info.build.artifact=@project.artifactId@
-info.build.name=@project.name@
-info.build.description=@project.description@
-info.build.version=@project.version@
-
-
-server.contextPath=/
-#Modified engine-rest applicationpath
-spring.jersey.application-path=/engine-rest
-spring.profiles.active=clamp-default,clamp-spring-authentication
-spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
-
-#The max number of active threads in this pool
-server.tomcat.max-threads=200
-#The minimum number of threads always kept alive
-server.tomcat.min-Spare-Threads=25
-#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
-server.tomcat.max-idle-time=60000
-
-
-#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept
-#com.att.ajsc.common.interceptors.PreInterceptor.url=/**
-#com.att.ajsc.common.interceptors.PostInterceptor.url=/**
-
-#Servlet context parameters
-server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
-
-camel.springboot.consumer-template-cache-size=1000
-camel.springboot.producer-template-cache-size=1000
-camel.springboot.jmx-enabled=true
-camel.defaultthreadpool.poolsize=10
-camel.defaultthreadpool.maxpoolsize=20
-camel.defaultthreadpool.maxqueuesize=1000
-camel.defaultthreadpool.keepaliveTime=60
-camel.defaultthreadpool.rejectpolicy=CallerRuns
-
-kubernetes.namespace=com-att-ajsc
-
-#server.port=0
-
-#Camunda Process Engine DataSource connection Details
-spring.datasource.camunda.url=jdbc:mysql://localhost:${docker.mariadb.port.host}/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&maxReconnects=100
-spring.datasource.camunda.username=camunda
-spring.datasource.camunda.password=ndMSpw4CAM
-spring.datasource.camunda.driverClassName=com.mysql.jdbc.Driver
-spring.datasource.camunda.validationQuery=SELECT 1
-spring.datasource.camunda.validationQueryTimeout=20000
-spring.datasource.camunda.validationInterval=60000
-spring.datasource.camunda.testWhileIdle = true
-# Automatically test whether a connection provided is good or not
-spring.datasource.camunda.testOnBorrow=true
-
-#Camunda application properties
-#Camunda history level
-camunda.bpm.history-level=auto
-
-#clds datasource connection details
-spring.datasource.cldsdb.driver-class-name=com.mysql.jdbc.Driver
-spring.datasource.cldsdb.url=jdbc:mysql://localhost:${docker.mariadb.port.host}/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&maxReconnects=100
-spring.datasource.cldsdb.username=clds
-spring.datasource.cldsdb.password=sidnnd83K
-spring.datasource.cldsdb.driverClassName=com.mysql.jdbc.Driver
-spring.datasource.cldsdb.validationQuery=SELECT 1
-spring.datasource.cldsdb.validationQueryTimeout=20000
-spring.datasource.cldsdb.validationInterval=60000
-spring.datasource.cldsdb.testWhileIdle = true
-# Automatically test whether a connection provided is good or not
-spring.datasource.cldsdb.testOnBorrow=true
-
-#Async Executor default Parameters
-async.core.pool.size=10
-async.max.pool.size=20
-async.queue.capacity=500
-
-org.onap.clamp.config.dcae.url=http://localhost:9000/closedloop-dcae-services
-
-#GRM Edge endpoint details
-service.name=ajsc6camundademo
-service.version=1.0.0.0
-routeoffer=TEST
-#Update with your application name
-application.name=AJSC6CAMUNDA
-
-org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties
-org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties
-org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json
-org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties
-
-#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case !
-CLDS_PERMISSION_TYPE_CL=permission-type-cl
-CLDS_PERMISSION_TYPE_CL_MANAGE=permission-type-cl-manage
-CLDS_PERMISSION_TYPE_CL_EVENT=permission-type-cl-event
-CLDS_PERMISSION_TYPE_FILTER_VF=permission-type-filter-vf
-CLDS_PERMISSION_TYPE_TEMPLATE=permission-type-template
-#This one indicates the type of instances (dev|prod|perf...), this must be set accordingly in clds-users.properties
+###
+# ============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.
+###
+
+info.build.artifact=@project.artifactId@
+info.build.name=@project.name@
+info.build.description=@project.description@
+info.build.version=@project.version@
+
+### Set the port for HTTP or HTTPS protocol (Controlled by Spring framework, only one at a time).
+### (See below for the parameter 'server.http.port' if you want to have both enabled)
+### To have only HTTP, keep the lines server.ssl.* commented
+### To have only HTTPS enabled, uncomment the server.ssl.* lines and specify a right keystore location
+server.port=8080
+### Settings for HTTPS (this automatically enables the HTTPS on the port 'server.port')
+#server.ssl.key-store=file:/tmp/mykey.jks
+#server.ssl.key-store-password=pass
+#server.ssl.key-password=pass
+
+### In order to be user friendly when HTTPS is enabled,
+### you can add another HTTP port that will be automatically redirected to HTTPS
+### by enabling this parameter (server.http.port) and set it to another port (80 or 8080, 8090, etc ...)
+#server.http-to-https-redirection.port=8090
+
+### HTTP Example:
+###--------------
+### server.port=8080
+
+### HTTPS Example:
+### --------------
+### server.port=8443
+### server.ssl.key-store=file:/tmp/mykey.jks
+### server.ssl.key-store-password=mypass
+### server.ssl.key-password=mypass
+
+### HTTP (Redirected to HTTPS) and HTTPS Example:
+### --------------------------------------------
+### server.port=8443 <-- The HTTPS port
+### server.ssl.key-store=file:/tmp/mykey.jks
+### server.ssl.key-store-password=mypass
+### server.ssl.key-password=mypass
+### server.http-to-https-redirection.port=8090 <-- The HTTP port
+
+server.contextPath=/
+#Modified engine-rest applicationpath
+spring.jersey.application-path=/engine-rest
+spring.profiles.active=clamp-default,clamp-spring-authentication
+spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
+
+#The max number of active threads in this pool
+server.tomcat.max-threads=200
+#The minimum number of threads always kept alive
+server.tomcat.min-Spare-Threads=25
+#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
+server.tomcat.max-idle-time=60000
+
+
+#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept
+#com.att.ajsc.common.interceptors.PreInterceptor.url=/**
+#com.att.ajsc.common.interceptors.PostInterceptor.url=/**
+
+#Servlet context parameters
+server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
+
+camel.springboot.consumer-template-cache-size=1000
+camel.springboot.producer-template-cache-size=1000
+camel.springboot.jmx-enabled=true
+camel.defaultthreadpool.poolsize=10
+camel.defaultthreadpool.maxpoolsize=20
+camel.defaultthreadpool.maxqueuesize=1000
+camel.defaultthreadpool.keepaliveTime=60
+camel.defaultthreadpool.rejectpolicy=CallerRuns
+
+kubernetes.namespace=com-att-ajsc
+
+#server.port=0
+
+#Camunda Process Engine DataSource connection Details
+spring.datasource.camunda.url=jdbc:mysql://localhost:${docker.mariadb.port.host}/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&maxReconnects=100
+spring.datasource.camunda.username=camunda
+spring.datasource.camunda.password=ndMSpw4CAM
+spring.datasource.camunda.driverClassName=com.mysql.jdbc.Driver
+spring.datasource.camunda.validationQuery=SELECT 1
+spring.datasource.camunda.validationQueryTimeout=20000
+spring.datasource.camunda.validationInterval=60000
+spring.datasource.camunda.testWhileIdle = true
+# Automatically test whether a connection provided is good or not
+spring.datasource.camunda.testOnBorrow=true
+
+#Camunda application properties
+#Camunda history level
+camunda.bpm.history-level=auto
+
+#clds datasource connection details
+spring.datasource.cldsdb.driver-class-name=com.mysql.jdbc.Driver
+spring.datasource.cldsdb.url=jdbc:mysql://localhost:${docker.mariadb.port.host}/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&maxReconnects=100
+spring.datasource.cldsdb.username=clds
+spring.datasource.cldsdb.password=sidnnd83K
+spring.datasource.cldsdb.driverClassName=com.mysql.jdbc.Driver
+spring.datasource.cldsdb.validationQuery=SELECT 1
+spring.datasource.cldsdb.validationQueryTimeout=20000
+spring.datasource.cldsdb.validationInterval=60000
+spring.datasource.cldsdb.testWhileIdle = true
+# Automatically test whether a connection provided is good or not
+spring.datasource.cldsdb.testOnBorrow=true
+
+#Async Executor default Parameters
+async.core.pool.size=10
+async.max.pool.size=20
+async.queue.capacity=500
+
+org.onap.clamp.config.dcae.url=http://localhost:9000/closedloop-dcae-services
+
+#GRM Edge endpoint details
+service.name=ajsc6camundademo
+service.version=1.0.0.0
+routeoffer=TEST
+#Update with your application name
+application.name=AJSC6CAMUNDA
+
+org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties
+org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties
+org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json
+org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties
+
+#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case !
+CLDS_PERMISSION_TYPE_CL=permission-type-cl
+CLDS_PERMISSION_TYPE_CL_MANAGE=permission-type-cl-manage
+CLDS_PERMISSION_TYPE_CL_EVENT=permission-type-cl-event
+CLDS_PERMISSION_TYPE_FILTER_VF=permission-type-filter-vf
+CLDS_PERMISSION_TYPE_TEMPLATE=permission-type-template
+#This one indicates the type of instances (dev|prod|perf...), this must be set accordingly in clds-users.properties
CLDS_PERMISSION_INSTANCE=dev \ No newline at end of file
diff --git a/src/main/resources/clds-version.properties b/src/main/resources/clds-version.properties
index 8576692b8..f23e97b67 100644
--- a/src/main/resources/clds-version.properties
+++ b/src/main/resources/clds-version.properties
@@ -20,4 +20,5 @@
# ===================================================================
# ECOMP is a trademark and service mark of AT&T Intellectual Property.
###
+
clds.version=${project.version} \ No newline at end of file
diff --git a/src/test/java/org/onap/clamp/clds/it/HttpsIT.java b/src/test/java/org/onap/clamp/clds/it/HttpsIT.java
new file mode 100644
index 000000000..ff6303306
--- /dev/null
+++ b/src/test/java/org/onap/clamp/clds/it/HttpsIT.java
@@ -0,0 +1,143 @@
+/*-
+ * ============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.assertj.core.api.Assertions.assertThat;
+
+import java.io.IOException;
+import java.net.HttpURLConnection;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.clamp.clds.AbstractIT;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.http.client.SimpleClientHttpRequestFactory;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * Test DCAE API in org.onap.clamp.ClampDesigner.client package - replicate DCAE
+ * Delegates in test.
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT)
+@TestPropertySource(locations = "classpath:https/https-test.properties")
+public class HttpsIT extends AbstractIT {
+
+ @Value("${server.port}")
+ private String httpsPort;
+
+ @Value("${server.http-to-https-redirection.port}")
+ private String httpPort;
+
+ @BeforeClass
+ public static void setUp() {
+
+ try {
+ // setup ssl context to ignore certificate errors
+ SSLContext ctx = SSLContext.getInstance("TLS");
+ X509TrustManager tm = new X509TrustManager() {
+
+ @Override
+ public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType)
+ throws java.security.cert.CertificateException {
+ }
+
+ @Override
+ public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType)
+ throws java.security.cert.CertificateException {
+ }
+
+ @Override
+ public java.security.cert.X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+ };
+ ctx.init(null, new TrustManager[] { tm }, null);
+ SSLContext.setDefault(ctx);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ }
+
+ @Test
+ public void testDesignerIndex() throws Exception {
+ RestTemplate template = new RestTemplate();
+ final MySimpleClientHttpRequestFactory factory = new MySimpleClientHttpRequestFactory(new HostnameVerifier() {
+
+ @Override
+ public boolean verify(final String hostname, final SSLSession session) {
+ return true;
+ }
+ });
+ template.setRequestFactory(factory);
+
+ ResponseEntity<String> entity = template
+ .getForEntity("http://localhost:" + this.httpPort + "/designer/index.html", String.class);
+ assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.FOUND);
+
+ ResponseEntity<String> httpsEntity = template
+ .getForEntity("https://localhost:" + this.httpsPort + "/designer/index.html", String.class);
+ assertThat(httpsEntity.getStatusCode()).isEqualTo(HttpStatus.OK);
+ assertThat(httpsEntity.getBody()).contains("CLDS");
+
+ }
+
+ /**
+ * Http Request Factory for ignoring SSL hostname errors. Not for production
+ * use!
+ */
+ class MySimpleClientHttpRequestFactory extends SimpleClientHttpRequestFactory {
+
+ private final HostnameVerifier verifier;
+
+ public MySimpleClientHttpRequestFactory(final HostnameVerifier verifier) {
+ this.verifier = verifier;
+ }
+
+ @Override
+ protected void prepareConnection(final HttpURLConnection connection, final String httpMethod)
+ throws IOException {
+ if (connection instanceof HttpsURLConnection) {
+ ((HttpsURLConnection) connection).setHostnameVerifier(this.verifier);
+ }
+ super.prepareConnection(connection, httpMethod);
+ }
+ }
+
+}
diff --git a/src/test/java/org/onap/clamp/clds/it/PolicyClientIT.java b/src/test/java/org/onap/clamp/clds/it/PolicyClientIT.java
index 543fba705..c0487e915 100644
--- a/src/test/java/org/onap/clamp/clds/it/PolicyClientIT.java
+++ b/src/test/java/org/onap/clamp/clds/it/PolicyClientIT.java
@@ -23,7 +23,6 @@
package org.onap.clamp.clds.it;
-import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
@@ -34,25 +33,23 @@ import java.util.concurrent.TimeUnit;
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.OperationalPolicyReq;
import org.onap.clamp.clds.client.req.StringMatchPolicyReq;
import org.onap.clamp.clds.client.req.TcaMPolicyReq;
import org.onap.clamp.clds.model.CldsEvent;
-import org.onap.clamp.clds.model.prop.*;
+import org.onap.clamp.clds.model.prop.ModelProperties;
+import org.onap.clamp.clds.model.prop.Policy;
+import org.onap.clamp.clds.model.prop.PolicyChain;
+import org.onap.clamp.clds.model.prop.StringMatch;
+import org.onap.clamp.clds.model.prop.Tca;
import org.onap.clamp.clds.transform.TransformUtil;
-
import org.onap.policy.api.AttributeType;
-
import org.skyscreamer.jsonassert.JSONAssert;
-
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.test.context.junit4.SpringRunner;
-
-
/**
* Test Policy API in org.onap.clamp.ClampDesigner.client package - replicate
* Policy Delegates in tests.
diff --git a/src/test/java/org/onap/clamp/clds/it/SdcCatalogServicesIT.java b/src/test/java/org/onap/clamp/clds/it/SdcCatalogServicesIT.java
index 46e45f35c..5d08e5ec0 100644
--- a/src/test/java/org/onap/clamp/clds/it/SdcCatalogServicesIT.java
+++ b/src/test/java/org/onap/clamp/clds/it/SdcCatalogServicesIT.java
@@ -5,16 +5,16 @@
* 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.
+ * 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
+ *
+ * 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============================================
* ===================================================================
@@ -286,7 +286,7 @@ public class SdcCatalogServicesIT extends AbstractIT {
assertTrue("29018914-966c-442d-9d08-251b9dc45b8f".equals(cldsServiceData.getServiceUUID()));
assertTrue(cldsServiceData.getCldsVfs().size() == 1);
- List<CldsAlarmCondition> alarmsList = spy.getAllAlarmConditionsFromCldsServiceData(cldsServiceData);
+ List<CldsAlarmCondition> alarmsList = spy.getAllAlarmConditionsFromCldsServiceData(cldsServiceData, "alarmCondition");
assertTrue(alarmsList.size() == 6);
}
diff --git a/src/test/resources/clds/clds-reference.properties b/src/test/resources/clds/clds-reference.properties
index 7cedc130f..fb91197d1 100644
--- a/src/test/resources/clds/clds-reference.properties
+++ b/src/test/resources/clds/clds-reference.properties
@@ -1,122 +1,121 @@
-###
-# ============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.
-###
-
-#
-# Poperties for CLDS
-#
-#
-#
-# 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":[]}
-
-#
-# DCAE request build properties
-#
-dcae.template={"properties":{"service_name":"","service_ids":[],"vnf_ids":[],"location_ids":[]},"template":{"string_matching":{"dcae":{"inputTopic":"","outputTopic":"","closedLoopControlName":"","closedLoopEventClient":"configuration.dcae.microservice.stringmatcher.xml","policyName":"","policyScope":"service=vSCP;resource=F5;type=configuration","policyVersion":"v0.0.1","serviceConfigurations":{}}}}}
-dcae.decode.service_ids={"vUSP":["vUSP - vCTS"],"Trinity":["ASBGv TLS VNF","ASBGv No TLS","ASBGv (NO TLS) VNF","ASBGv TLS","NSBGv VNF","NSBGv"],"vSCP":["AKRON_vSCP_F5_FW-SVC/vSCP_F5_FW 1","ALLEN_vSCP_F5_FW-SVC/vSCP_F5_FW 1"],"vProbes":["vProbes - FW"]}
-#
-# SDC request blueprint properties
-#
-sdc.template={}
-sdc.decode.service_ids={}
-#
-#
-# General Policy request properties
-#
-policy.ecomp.name=DCAE
-policy.pdp.group=default
-policy.ms.type=MicroService
-policy.ms.policyNamePrefix=Config_MS_
-policy.op.type=BRMS_Param
-policy.op.policyNamePrefix=Config_BRMS_Param_
-
-# by service: xxx
-#
-#
-# String Match MicroService Policy request build properties
-#
-# default
-sm.template={"service":"StringMatchingConfiguration","location":"Edge","uuid":"TestUUID","policyName":"???","description":"from clds","configName":"com.att.d2.policy.StringMatchingConfiguration","templateVersion":"1604","priority":"4","version":"1610","policyScope":"resource=F5,service=vSCP,type=configuration,closedLoopControlName=vSCP_F5_Firewall_d925ed73-8231-4d02-9545-db4e101f88f8","content":{"serviceConfigurations":{}}}
-# by service: vSCP
-sm.template.vSCP={"service":"StringMatchingConfiguration","location":"Edge","uuid":"TestUUID","policyName":"???","description":"from clds","configName":"com.att.d2.policy.StringMatchingConfiguration","templateVersion":"1604","priority":"4","version":"0.1.0-SNAPSHOT","policyScope":"resource=F5,service=vSCP,type=configuration,closedLoopControlName=vSCP_F5_Firewall_d925ed73-8231-4d02-9545-db4e101f88f8","content":{"serviceConfigurations":{}}}
-sm.sc.template={}
-#
-# default
-sm.rulegroup=true
-# by service: vSCP
-sm.rulegroup.vSCP=false
-#
-#
-# Operational Policy request build properties
-#
-op.policyDescription=from clds
-# default
-op.templateName=ClosedLoopGuardvUSP
-op.operationTopic=APPC-CL
-op.notificationTopic=POLICY-CL-MGT
-op.controller=1610-vUSP
-# by service: vSCP
-op.templateName.vSCP=ClosedLoopTemplate
-op.controller.vSCP=1607-f5fw
-op.eNodeB.templateName=CLeNodeB
-op.eNodeB.operationTopic=com.onap.sdnr.RanCLRequest-v00
-op.eNodeB.notificationTopic=com.onap-policy.IST-ENODEB-CL
-op.eNodeB.controller=ClosedLoop-eNodeB
-op.eNodeB.recipe={"eNodeBRecipes":[{"Actor":"AOTS","Recipe":"checkENodeBTicketHours","ParentPolicy":"","PPConditions":"","Retry":"0","TimeLimit":"120"},{"Actor":"AOTS","Recipe":"checkEquipmentStatus","ParentPolicy":"checkENodeBTicketHours","PPConditions":"Success","Retry":"0","TimeLimit":"120"},{"Actor":"AOTS","Recipe":"checkEimStatus","ParentPolicy":"checkEquipmentStatus","PPConditions":"Success","Retry":"0","TimeLimit":"120"},{"Actor":"AOTS","Recipe":"checkMaintenanceWindow","ParentPolicy":"checkEimStatus","PPConditions":"Success","Retry":"0","TimeLimit":"120"},{"Actor":"SDNR","Recipe":"Reset","ParentPolicy":"checkMaintenanceWindow","PPConditions":"Success","Retry":"","TimeLimit":""}]}
-op.eNodeB.timeWindow=35
-op.eNodeB.limit=2
-op.eNodeB.period=10s
-#
-# sdc service properties
-sdc.catalog.url=http://127.0.0.1:8080/sdc/v1/catalog/
-sdc.hostUrl=http://127.0.0.1:8080
-sdc.serviceUrl=http://127.0.0.1:8080/sdc/v1/catalog/services
-sdc.serviceUsername=test
-sdc.servicePassword=123456
-sdc.artifactLabel=blueprintclampcockpit
-sdc.sdcX-InstanceID=CLAMP
-sdc.artifactType=DCAE_INVENTORY_BLUEPRINT
-sdc.locationArtifactLabel=LocationClampCockpit
-sdc.locationArtifactType=DCAE_INVENTORY_JSON
-sdc.InstanceID=X-ONAP-InstanceID
-#
-#
-#
-ui.location.default={"SNDGCA64":"San Diego SAN3","ALPRGAED":"Alpharetta PDK1","LSLEILAA":"Lisle DPA3","MDTWNJC1":"FTL_C_location1","MDTWNJC2":"FTL_C_location2","MDTWNJ21":"FTL_L_location1","MDTWNJ22":"FTL_L_location2","RDM2WAGPLCP":"ISTFTL_location"}
-ui.alarm.default={"Reports a transient alarm condition when an incoming CDR cannot be decoded successfully":"vCCF: Reports a transient alarm condition when an incoming CDR cannot be decoded successfully","Reports a transient alarm condition when an incoming ACR message cannot be decoded successfully":"vCCF: Reports a transient alarm condition when an incoming ACR message cannot be decoded successfully","Reports a transient alarm condition when a CDR validation fails":"vCCF: Reports a transient alarm condition when a CDR validation fails","Reports a transient alarm condition when an incoming GTP' message cannot be decoded successfully":"vCCF: Reports a transient alarm condition when an incoming GTP' message cannot be decoded successfully","Reports a transient alarm condition when an incoming CDR file cannot be decoded successfully":"vCCF: Reports a transient alarm condition when an incoming CDR file cannot be decoded successfully","Reports a transient alarm condition when an incoming Sh/Dh file cannot be decoded successfully":"vCCF: Reports a transient alarm condition when an incoming Sh/Dh file cannot be decoded successfully","Reports a transient alarm condition when an incoming ACR message is in conflict with former ACR in one diameter session":"vCCF: Reports a transient alarm condition when an incoming ACR message is in conflict with former ACR in one diameter session","Reports a transient alarm condition when an outgoing Ro message send fails":"vCCF: Reports a transient alarm condition when an outgoing Ro message send fails","Reports a transient alarm condition when an outgoing GTP' message send fails":"vCCF: Reports a transient alarm condition when an outgoing GTP' message send fails","Reports a transient alarm condition when an outgoing Sh/Dh message send fails":"vCCF: Reports a transient alarm condition when an outgoing Sh/Dh message send fails","Reports an alarm when build or send Rf message fail":"vCCF: Reports an alarm when build or send Rf message fail","Reports a transient alarm condition when an abnormal incoming CCA message":"vCCF: Reports a transient alarm condition when an abnormal incoming CCA message","Reports a transient alarm condition when there is an abnormal incoming Sh/Dh message":"vCCF: Reports a transient alarm condition when there is an abnormal incoming Sh/Dh message","For Rf interface, if IeCCF receives a message with incorrect value for session id.":"vCCF: For Rf interface, if IeCCF receives a message with incorrect value for session id.","Reports an alarm when CPU usage exceeds the major threshold, the local database exceeds the critical threshold, or the ACR partition exceeds the major threshold":"vCCF: Reports an alarm when CPU usage exceeds the major threshold, the local database exceeds the critical threshold, or the ACR partition exceeds the major threshold","Reports an alarm when CPU usage exceeds the minor threshold, the local database exceeds the major threshold, or the ACR partition exceeds the minor threshold":"vCCF: Reports an alarm when CPU usage exceeds the minor threshold, the local database exceeds the major threshold, or the ACR partition exceeds the minor threshold","Reports an alarm when CPU usage exceeds the critical threshold, the local database exceeds the major threshold, or the CDR partition exceeds the critical threshold":"vCCF: Reports an alarm when CPU usage exceeds the critical threshold, the local database exceeds the major threshold, or the CDR partition exceeds the critical threshold","Reports an alarm when CPU usage exceeds the major threshold or CDR partition exceeds the major threshold":"vCCF: Reports an alarm when CPU usage exceeds the major threshold or CDR partition exceeds the major threshold","Reports an alarm when external DB usage exceeds the major threshold":"vCCF: Reports an alarm when external DB usage exceeds the major threshold","If IeCCF comes to the status \\"Stop processing ACR records in ACRDB\\".":"vCCF: If IeCCF comes to the status \\"Stop processing ACR records in ACRDB\\".","If IeCCF comes to the status \\"Flush ACR is invoked\\".":"vCCF: If IeCCF comes to the status \\"Flush ACR is invoked\\".","Reports a transient alarm condition when the workflow definition table is provisioned wrongly":"vCCF: Reports a transient alarm condition when the workflow definition table is provisioned wrongly","Reports a transient alarm condition when the Action Definition table is provisioned wrongly":"vCCF: Reports a transient alarm condition when the Action Definition table is provisioned wrongly","Reports a transient alarm condition when the Ro Host Configuration is provisioned wrongly":"vCCF: Reports a transient alarm condition when the Ro Host Configuration is provisioned wrongly","Reports a transient alarm condition when the Sh Host Configuration is provisioned wrongly":"vCCF: Reports a transient alarm condition when the Sh Host Configuration is provisioned wrongly","Reports a transient alarm condition when a specific dictionary or rule does not exist":"vCCF: Reports a transient alarm condition when a specific dictionary or rule does not exist","Reports a transient alarm condition when failure occurs when mapping Rf message to XDR":"vCCF: Reports a transient alarm condition when failure occurs when mapping Rf message to XDR","Reports a transient alarm condition when failure occurs in aggregating process":"vCCF: Reports a transient alarm condition when failure occurs in aggregating process","Reports a transient alarm condition when failure happens in correlating process":"vCCF: Reports a transient alarm condition when failure happens in correlating process","Reports a transient alarm condition when failure occurs in generating CDR":"vCCF: Reports a transient alarm condition when failure occurs in generating CDR","Reports a transient alarm condition when failure occurs in constructing CCR message from XDR":"vCCF: Reports a transient alarm condition when failure occurs in constructing CCR message from XDR","Reports a transient alarm condition when an ACR/XER/BER/INC record write to bad file":"vCCF: Reports a transient alarm condition when an ACR/XER/BER/INC record write to bad file","Reports an alarm condition when aggregation or correlation central database connection is lost":"vCCF: Reports an alarm condition when aggregation or correlation central database connection is lost","Reports an alarm condition when a specific failure happens in database operations":"vCCF: Reports an alarm condition when a specific failure happens in database operations","Reports an alarm condition when DB capacity has been consumed to critical threshold":"vCCF: Reports an alarm condition when DB capacity has been consumed to critical threshold","Reports an alarm condition when DB capacity has been consumed to major threshold":"vCCF: Reports an alarm condition when DB capacity has been consumed to major threshold","Reports an alarm condition when DB capacity has been consumed to minor threshold.":"vCCF: Reports an alarm condition when DB capacity has been consumed to minor threshold.","Reports an alarm condition when application cannot deliver CDR to CDRSCH subsystem":"vCCF: Reports an alarm condition when application cannot deliver CDR to CDRSCH subsystem","Reports an alarm condition when some fields of ACR file header have error value and this ACR file cannot be processed further":"vCCF: Reports an alarm condition when some fields of ACR file header have error value and this ACR file cannot be processed further","Reports an alarm condition when some fields of ACR file header have invalid value and this ACR file can be processed further":"vCCF: Reports an alarm condition when some fields of ACR file header have invalid value and this ACR file can be processed further","Reports an alarm condition when the ACR file loses some ACR records":"vCCF: Reports an alarm condition when the ACR file loses some ACR records","Reports an alarm condition when some fields of ACR record header have error value and this ACR record and the following ACR records cannot be processed further":"vCCF: Reports an alarm condition when some fields of ACR record header have error value and this ACR record and the following ACR records cannot be processed further","Reports an alarm condition when error occurs in processing CDR/ACR files":"vCCF: Reports an alarm condition when error occurs in processing CDR/ACR files","Reports an alarm condition when CDR partition has been consumed to critical threshold":"vCCF: Reports an alarm condition when CDR partition has been consumed to critical threshold","Reports an alarm condition when CDR partition has been consumed to major threshold.":"vCCF: Reports an alarm condition when CDR partition has been consumed to major threshold.","Reports an alarm condition when CDR partition has been consumed to minor threshold":"vCCF: Reports an alarm condition when CDR partition has been consumed to minor threshold","Reports an alarm condition when ACR partition has been consumed to critical threshold":"vCCF: Reports an alarm condition when ACR partition has been consumed to critical threshold","Reports an alarm condition when ACR partition has been consumed to major threshold":"vCCF: Reports an alarm condition when ACR partition has been consumed to major threshold","Reports an alarm condition when ACR partition has been consumed to minor threshold":"vCCF: Reports an alarm condition when ACR partition has been consumed to minor threshold","Reports an alarm condition when CPU consumption reaches critical threshold":"vCCF: Reports an alarm condition when CPU consumption reaches critical threshold","Reports an alarm condition when CPU consumption reaches major threshold":"vCCF: Reports an alarm condition when CPU consumption reaches major threshold","Reports an alarm condition when CPU consumption reaches minor threshold":"vCCF: Reports an alarm condition when CPU consumption reaches minor threshold","Service shall monitor * number of partial CDR * number of incompleted CDR * number of unacceptable CDR If any one exceeds a configurable threshold in a configrable interval.":"vCCF: Service shall monitor * number of partial CDR * number of incompleted CDR * number of unacceptable CDR If any one exceeds a configurable threshold in a configrable interval.","CDR size exceed the platform capacity.":"vCCF: CDR size exceed the platform capacity.","Service shall monitor number of ACR without AII AVP, If it exceeds a configurable threshold in a configurable interval.":"vCCF: Service shall monitor number of ACR without AII AVP, If it exceeds a configurable threshold in a configurable interval.","Service shall monitor CDR cut due to ECCF_ACRNUMBER_IN_DB, If it exceeds a configurable threshold in a configurable interval.":"vCCF: Service shall monitor CDR cut due to ECCF_ACRNUMBER_IN_DB, If it exceeds a configurable threshold in a configurable interval.","External Node of this Cluster is overload":"vCCF: External Node of this Cluster is overload","bdb_high_latency":"vCCF-vDB: bdb_high_latency","bdb_high_throughput":"vCCF-vDB: bdb_high_throughput","bdb_size":"vCCF-vDB: bdb_size","cluster_inconsistent_rl_sw":"vCCF-vDB: cluster_inconsistent_rl_sw","cluster_node_remove_abort_failed":"vCCF-vDB: cluster_node_remove_abort_failed","cluster_node_remove_failed":"vCCF-vDB: cluster_node_remove_failed","cluster_ram_overcommit":"vCCF-vDB: cluster_ram_overcommit","cluster_rebalance_failed":"vCCF-vDB: cluster_rebalance_failed","cluster_too_few_nodes_for_replication":"vCCF-vDB: cluster_too_few_nodes_for_replication","node_cpu_utilization":"vCCF-vDB: node_cpu_utilization","node_ephemeral_storage":"vCCF-vDB: node_ephemeral_storage","node_failed":"vCCF-vDB: node_failed","node_memory":"vCCF-vDB: node_memory","node_net_throughput":"vCCF-vDB: node_net_throughput","node_offline_failed":"vCCF-vDB: node_offline_failed","node_offline_abort_failed":"vCCF-vDB: node_offline_abort_failed","node_online_failed":"vCCF-vDB: node_online_failed","OAM NODE-<OAME-hostname> IS NOT ACTIVE ":"vCCF-vDB: OAM NODE-<OAME-hostname> IS NOT ACTIVE ","LSS_asdaCommunicationFailure":"vCTS: LSS_asdaCommunicationFailure","LSS_ccdbCommunicationFailure":"vCTS: LSS_ccdbCommunicationFailure","LSS_cpiCTS3xxFailRate":"vCTS: LSS_cpiCTS3xxFailRate","LSS_cpiCTS4xxFailRate":"vCTS: LSS_cpiCTS4xxFailRate","LSS_cpiCTS5xxFailRate":"vCTS: LSS_cpiCTS5xxFailRate","LSS_cpiCTS6xxFailRate":"vCTS: LSS_cpiCTS6xxFailRate","LSS_cpiCTSSIPRetransmitInvite":"vCTS: LSS_cpiCTSSIPRetransmitInvite","LSS_cpiCTSSIPRetransmitNonInvite":"vCTS: LSS_cpiCTSSIPRetransmitNonInvite","LSS_glsInvalidCellId":"vCTS: LSS_glsInvalidCellId","LSS_glsServerUnavailable":"vCTS: LSS_glsServerUnavailable","LSS_hlrSyncConnection":"vCTS: LSS_hlrSyncConnection","LSS_hlrSyncQueue":"vCTS: LSS_hlrSyncQueue","LSS_lispBufferFullExternalLIG":"vCTS: LSS_lispBufferFullExternalLIG","LSS_prdbConnectWithAlternateFailure":"vCTS: LSS_prdbConnectWithAlternateFailure","LSS_prdbSyncDataToAlternateFailure":"vCTS: LSS_prdbSyncDataToAlternateFailure","LSS_preAllocatedResourceOverload":"vCTS: LSS_preAllocatedResourceOverload","LSS_prifSocketError":"vCTS: LSS_prifSocketError","LSS_prsCallInstanceExceeded":"vCTS: LSS_prsCallInstanceExceeded","LSS_prsCpuOverload":"vCTS: LSS_prsCpuOverload","LSS_prsDatabaseMigrationFailure":"vCTS: LSS_prsDatabaseMigrationFailure","LSS_prsFailureToConnectWithPRDB":"vCTS: LSS_prsFailureToConnectWithPRDB","LSS_prsQueueExceeded":"vCTS: LSS_prsQueueExceeded","LSS_smdiSocketError":"vCTS: LSS_smdiSocketError","LSS_socketError":"vCTS: LSS_socketError","LSS_softwareComponentDown":"vCTS: LSS_softwareComponentDown","LSS_tlsInitError":"vCTS: LSS_tlsInitError","LSS_usageOfSyncTable":"vCTS: LSS_usageOfSyncTable","LSS_utHttpProxyConnectionDown ":"vCTS: LSS_utHttpProxyConnectionDown ","LSS_wpifSocketError":"vCTS: LSS_wpifSocketError","LSS_acrTemporaryBufferOverload":"vCTS: LSS_acrTemporaryBufferOverload","LSS_adnsExtendedTTLcaching":"vCTS: LSS_adnsExtendedTTLcaching","LSS_adnsQueryFailureCaching":"vCTS: LSS_adnsQueryFailureCaching","LSS_adnsQueueCongestion":"vCTS: LSS_adnsQueueCongestion","LSS_asdaRequestQueue":"vCTS: LSS_asdaRequestQueue","LSS_capacityLicenseKeyExpiration":"vCTS: LSS_capacityLicenseKeyExpiration","LSS_capacityLicenseKeyNearExpiration":"vCTS: LSS_capacityLicenseKeyNearExpiration","LSS_capacityLicenseKeyValidationError":"vCTS: LSS_capacityLicenseKeyValidationError","LSS_cardConnectionLost":"vCTS: LSS_cardConnectionLost","LSS_cpiAlrmCritical":"vCTS: LSS_cpiAlrmCritical","LSS_cpiAlrmMajor":"vCTS: LSS_cpiAlrmMajor","LSS_cpiAlrmMinor":"vCTS: LSS_cpiAlrmMinor","LSS_cpiAlrmWarning":"vCTS: LSS_cpiAlrmWarning","LSS_cpiAsrtEsc":"vCTS: LSS_cpiAsrtEsc","LSS_cpiAsrtNonEsc":"vCTS: LSS_cpiAsrtNonEsc","LSS_cpiAsrtNonEscCritical":"vCTS: LSS_cpiAsrtNonEscCritical","LSS_cpiAsrtNonEscMajor":"vCTS: LSS_cpiAsrtNonEscMajor","LSS_cpiAsrtNonEscMinor":"vCTS: LSS_cpiAsrtNonEscMinor","LSS_cpiAudErrCount":"vCTS: LSS_cpiAudErrCount","LSS_cpiAudManAct":"vCTS: LSS_cpiAudManAct","LSS_cpiAudNewEvent":"vCTS: LSS_cpiAudNewEvent","LSS_cpiCompleteRateAlarm":"vCTS: LSS_cpiCompleteRateAlarm","LSS_cpiDropMGAllocConnReq":"vCTS: LSS_cpiDropMGAllocConnReq","LSS_cpiDropRateAlarm":"vCTS: LSS_cpiDropRateAlarm","LSS_cpiExceptionService":"vCTS: LSS_cpiExceptionService","LSS_cpiFailRateAlarm":"vCTS: LSS_cpiFailRateAlarm","LSS_cpiFailSCTPFastRetransIncr":"vCTS: LSS_cpiFailSCTPFastRetransIncr","LSS_cpiFailSCTPFastRetransRate":"vCTS: LSS_cpiFailSCTPFastRetransRate","LSS_cpiFailSCTPSRTT1Incr":"vCTS: LSS_cpiFailSCTPSRTT1Incr","LSS_cpiFailSCTPSRTT2Incr":"vCTS: LSS_cpiFailSCTPSRTT2Incr","LSS_cpiFailSCTPT3RetransIncr":"vCTS: LSS_cpiFailSCTPT3RetransIncr","LSS_cpiFailSCTPT3RetransRate":"vCTS: LSS_cpiFailSCTPT3RetransRate","LSS_cpiFileSysUsage":"vCTS: LSS_cpiFileSysUsage","LSS_cpiMemAllocFail":"vCTS: LSS_cpiMemAllocFail","LSS_cpiNumOfLICDRDel":"vCTS: LSS_cpiNumOfLICDRDel","LSS_cpiReinitServiceSelf":"vCTS: LSS_cpiReinitServiceSelf","LSS_cpiSIPRetransmitInvite":"vCTS: LSS_cpiSIPRetransmitInvite","LSS_cpiSIPRetransmitNonInvite":"vCTS: LSS_cpiSIPRetransmitNonInvite","LSS_cpiSS7DropSCTPPktsRcvd":"vCTS: LSS_cpiSS7DropSCTPPktsRcvd","LSS_cpiSS7FailSCTPFastRetransRate":"vCTS: LSS_cpiSS7FailSCTPFastRetransRate","LSS_cpiStabilityAlarm":"vCTS: LSS_cpiStabilityAlarm","LSS_cpuOverload":"vCTS: LSS_cpuOverload","LSS_databaseConnectionLost":"vCTS: LSS_databaseConnectionLost","LSS_databaseReplicationLinkDown":"vCTS: LSS_databaseReplicationLinkDown","LSS_databaseSizeExhausted":"vCTS: LSS_databaseSizeExhausted","LSS_dbHighCpuUtilization":"vCTS: LSS_dbHighCpuUtilization","LSS_dbOffline":"vCTS: LSS_dbOffline","LSS_dbStatusUnexpected":"vCTS: LSS_dbStatusUnexpected","LSS_degradedResource":"vCTS: LSS_degradedResource","LSS_degrow":"vCTS: LSS_degrow","LSS_deviceServerCxnLost":"vCTS: LSS_deviceServerCxnLost","LSS_diamLinkDown":"vCTS: LSS_diamLinkDown","LSS_diamMaxClientsExceeded":"vCTS: LSS_diamMaxClientsExceeded","LSS_dnsThreshold":"vCTS: LSS_dnsThreshold","LSS_ethernetError":"vCTS: LSS_ethernetError","LSS_ethernetLinkDown":"vCTS: LSS_ethernetLinkDown","LSS_externalConnectivity":"vCTS: LSS_externalConnectivity","LSS_featureLicenseExpiration":"vCTS: LSS_featureLicenseExpiration","LSS_featureLicenseKeyNearExpiration":"vCTS: LSS_featureLicenseKeyNearExpiration","LSS_featureLockValidationError":"vCTS: LSS_featureLockValidationError","LSS_fqdnError":"vCTS: LSS_fqdnError","LSS_fru":"vCTS: LSS_fru","LSS_gatewayCongestion":"vCTS: LSS_gatewayCongestion","LSS_gatewayForcedOOS":"vCTS: LSS_gatewayForcedOOS","LSS_gatewayProvisioningError":"vCTS: LSS_gatewayProvisioningError","LSS_gatewayUnreachable":"vCTS: LSS_gatewayUnreachable","LSS_gatewayUnregistered":"vCTS: LSS_gatewayUnregistered","LSS_globalParameterNotFound":"vCTS: LSS_globalParameterNotFound","LSS_grow":"vCTS: LSS_grow","LSS_h248MessageBufferDepletion":"vCTS: LSS_h248MessageBufferDepletion","LSS_hostDown":"vCTS: LSS_hostDown","LSS_hostReset":"vCTS: LSS_hostReset","LSS_invalidGateway":"vCTS: LSS_invalidGateway","LSS_iriLinkDown":"vCTS: LSS_iriLinkDown","LSS_ldapServerConnectionLost":"vCTS: LSS_ldapServerConnectionLost","LSS_llcDown":"vCTS: LSS_llcDown","LSS_logicalLinkDown":"vCTS: LSS_logicalLinkDown","LSS_logicalLinkNotFound":"vCTS: LSS_logicalLinkNotFound","LSS_logRotateThreshold":"vCTS: LSS_logRotateThreshold","LSS_memoryOverload":"vCTS: LSS_memoryOverload","LSS_nodeConfigFailure":"vCTS: LSS_nodeConfigFailure","LSS_nodeGroupOOS":"vCTS: LSS_nodeGroupOOS","LSS_nodeOOS":"vCTS: LSS_nodeOOS","LSS_nonCompliantFaultGroupMemberState":"vCTS: LSS_nonCompliantFaultGroupMemberState","LSS_nonCsAddrChannelDepletion":"vCTS: LSS_nonCsAddrChannelDepletion","LSS_numberOfTuplesInUse":"vCTS: LSS_numberOfTuplesInUse","LSS_osSecInfoModificationDetected":"vCTS: LSS_osSecInfoModificationDetected","LSS_osSecInformationMissing":"vCTS: LSS_osSecInformationMissing","LSS_osSecUnexpectedInformation":"vCTS: LSS_osSecUnexpectedInformation","LSS_pdnsMySqlReplication":"vCTS: LSS_pdnsMySqlReplication","LSS_pktCorruptionDetectedViaRCCLANCheck":"vCTS: LSS_pktCorruptionDetectedViaRCCLANCheck","LSS_platformCommandFailure":"vCTS: LSS_platformCommandFailure","LSS_pmDataNotCollected":"vCTS: LSS_pmDataNotCollected","LSS_processDown":"vCTS: LSS_processDown","LSS_processNotStarted":"vCTS: LSS_processNotStarted","LSS_provisioningInhibitedMode":"vCTS: LSS_provisioningInhibitedMode","LSS_rccInhibitedMode":"vCTS: LSS_rccInhibitedMode","LSS_remotedbLinkDown":"vCTS: LSS_remotedbLinkDown","LSS_remoteQueryServerFailure":"vCTS: LSS_remoteQueryServerFailure","LSS_restore":"vCTS: LSS_restore","LSS_serviceCFGDataTimestampError":"vCTS: LSS_serviceCFGDataTimestampError","LSS_serviceCommCxnLost":"vCTS: LSS_serviceCommCxnLost","LSS_serviceOnewayCommunication":"vCTS: LSS_serviceOnewayCommunication","LSS_sheddingOverload":"vCTS: LSS_sheddingOverload","LSS_simxml":"vCTS: LSS_simxml","LSS_sipLinkSetMaxQuarantineList":"vCTS: LSS_sipLinkSetMaxQuarantineList","LSS_sipLinkSetUnavailable":"vCTS: LSS_sipLinkSetUnavailable","LSS_sipLinkUnavailable":"vCTS: LSS_sipLinkUnavailable","LSS_softwareAllocatedResourceOverload":"vCTS: LSS_softwareAllocatedResourceOverload","LSS_softwareComponentStandbyNotReady":"vCTS: LSS_softwareComponentStandbyNotReady","LSS_softwareLicense":"vCTS: LSS_softwareLicense","LSS_svcdegrow":"vCTS: LSS_svcdegrow","LSS_svcgrow":"vCTS: LSS_svcgrow","LSS_swVersionMismatch":"vCTS: LSS_swVersionMismatch","LSS_tftpDownloadCorrupt":"vCTS: LSS_tftpDownloadCorrupt","LSS_timeStampValueOutOfSystemRange":"vCTS: LSS_timeStampValueOutOfSystemRange","LSS_transactionHandlerBlockDepletion":"vCTS: LSS_transactionHandlerBlockDepletion","LSS_upgrade":"vCTS: LSS_upgrade","SYS_BackupFailure":"vCTS: SYS_BackupFailure","SYS_Configuration":"vCTS: SYS_Configuration","SYS_COTRecordTransferFailure":"vCTS: SYS_COTRecordTransferFailure","SYS_CPM_USERDATA_INCONSITENCY":"vCTS: SYS_CPM_USERDATA_INCONSITENCY","SYS_CPM_USERDATA_RESTORED":"vCTS: SYS_CPM_USERDATA_RESTORED","SYS_EventQueueCapacity":"vCTS: SYS_EventQueueCapacity","SYS_ICMPFailure":"vCTS: SYS_ICMPFailure","SYS_IPsecConfig":"vCTS: SYS_IPsecConfig","SYS_LinkDown":"vCTS: SYS_LinkDown","SYS_NotifyDisabled":"vCTS: SYS_NotifyDisabled","SYS_NotifyLocked":"vCTS: SYS_NotifyLocked","SYS_NumTL1MeasThresh":"vCTS: SYS_NumTL1MeasThresh","SYS_RADIUS_TO_LDAP_FAILURE":"vCTS: SYS_RADIUS_TO_LDAP_FAILURE","SYS_ROOT_ACCESS_DENIED":"vCTS: SYS_ROOT_ACCESS_DENIED","SYS_ROOT_FTP_VIOLATION":"vCTS: SYS_ROOT_FTP_VIOLATION","SYS_ROOT_LOGIN_VIOLATION":"vCTS: SYS_ROOT_LOGIN_VIOLATION","SYS_ROOT_SSH_LOGIN_VIOLATION":"vCTS: SYS_ROOT_SSH_LOGIN_VIOLATION","SYS_SetupAAAFailure":"vCTS: SYS_SetupAAAFailure","SYS_SNETrapOverload":"vCTS: SYS_SNETrapOverload","SYS_SNMPAuthenticationFailure":"vCTS: SYS_SNMPAuthenticationFailure","SYS_SNMPFailure":"vCTS: SYS_SNMPFailure","SYS_SU_TO_ROOT_FAILURE":"vCTS: SYS_SU_TO_ROOT_FAILURE","SYS_SYSTEMTrapOverload":"vCTS: SYS_SYSTEMTrapOverload","SYS_ThresholdCrossed":"vCTS: SYS_ThresholdCrossed","SYS_UndiscoveredObject":"vCTS: SYS_UndiscoveredObject","SYS_WriteAAAFailure":"vCTS: SYS_WriteAAAFailure","jnxSpaceDiskUsageRising":"vDBE-EMS-Juniper: jnxSpaceDiskUsageRising","jnxSpaceDiskUsageRisingCleared":"vDBE-EMS-Juniper: jnxSpaceDiskUsageRisingCleared","jnxSpaceSwapUsageRising":"vDBE-EMS-Juniper: jnxSpaceSwapUsageRising","jnxSpaceSwapUsageRisingCleared":"vDBE-EMS-Juniper: jnxSpaceSwapUsageRisingCleared","jnxSpaceCPULARising":"vDBE-EMS-Juniper: jnxSpaceCPULARising","jnxSpaceCPULARisingCleared":"vDBE-EMS-Juniper: jnxSpaceCPULARisingCleared","jnxSpaceWebpProxyProcessDown":"vDBE-EMS-Juniper: jnxSpaceWebpProxyProcessDown","jnxSpaceWebpProxyProcessUp":"vDBE-EMS-Juniper: jnxSpaceWebpProxyProcessUp","jnxSpaceNMAProcessDown":"vDBE-EMS-Juniper: jnxSpaceNMAProcessDown","jnxSpaceNMAProcessUp":"vDBE-EMS-Juniper: jnxSpaceNMAProcessUp","jnxSpaceJbossProcessDown":"vDBE-EMS-Juniper: jnxSpaceJbossProcessDown","jnxSpaceJbossProcessUp":"vDBE-EMS-Juniper: jnxSpaceJbossProcessUp","jnxSpaceMysqlProcessDown":"vDBE-EMS-Juniper: jnxSpaceMysqlProcessDown","jnxSpaceMysqlProcessUp":"vDBE-EMS-Juniper: jnxSpaceMysqlProcessUp","jnxSpacePostgresqlProcessDown":"vDBE-EMS-Juniper: jnxSpacePostgresqlProcessDown","jnxSpacePostgresqlProcessUp":"vDBE-EMS-Juniper: jnxSpacePostgresqlProcessUp","jnxSpaceWatchdogStopped":"vDBE-EMS-Juniper: jnxSpaceWatchdogStopped","jnxSpaceWatchdogStarted":"vDBE-EMS-Juniper: jnxSpaceWatchdogStarted","jnxSpaceSNAProcessDown":"vDBE-EMS-Juniper: jnxSpaceSNAProcessDown","jnxSpaceSNAProcessUp":"vDBE-EMS-Juniper: jnxSpaceSNAProcessUp","jnxSpaceNodeDown":"vDBE-EMS-Juniper: jnxSpaceNodeDown","jnxSpaceNodeUp":"vDBE-EMS-Juniper: jnxSpaceNodeUp"," jnxSpaceNodeRemoval":"vDBE-EMS-Juniper: jnxSpaceNodeRemoval","jnxCmCfgChange":"vDBE-Juniper: jnxCmCfgChange","jnxCmRescueChange":"vDBE-Juniper: jnxCmRescueChange","jnxEventTrap":"vDBE-Juniper: jnxEventTrap","jnxJsFwAuthFailure":"vDBE-Juniper: jnxJsFwAuthFailure","jnxJsFwAuthServiceUp":"vDBE-Juniper: jnxJsFwAuthServiceUp","jnxJsFwAuthServiceDown":"vDBE-Juniper: jnxJsFwAuthServiceDown","jnxJsFwAuthCapacityExceeded":"vDBE-Juniper: jnxJsFwAuthCapacityExceeded","jnxJsIdpSignatureUpdate":"vDBE-Juniper: jnxJsIdpSignatureUpdate","jnxJsIdpAttackLog":"vDBE-Juniper: jnxJsIdpAttackLog","jnxJsSrcNatPoolThresholdStatus":"vDBE-Juniper: jnxJsSrcNatPoolThresholdStatus","jnxJsNatRuleThresholdStatus":"vDBE-Juniper: jnxJsNatRuleThresholdStatus","jnxJsScreenAttack":"vDBE-Juniper: jnxJsScreenAttack","jnxJsScreenCfgChange":"vDBE-Juniper: jnxJsScreenCfgChange","jnxJsAvPatternUpdateTrap":"vDBE-Juniper: jnxJsAvPatternUpdateTrap","jnxJsChassisClusterSwitchover":"vDBE-Juniper: jnxJsChassisClusterSwitchover","jnxJsChClusterIntfTrap":"vDBE-Juniper: jnxJsChClusterIntfTrap","jnxJsChClusterSpuMismatchTrap":"vDBE-Juniper: jnxJsChClusterSpuMismatchTrap","jnxJsChClusterWeightTrap":"vDBE-Juniper: jnxJsChClusterWeightTrap","jnxLicenseGraceExpired":"vDBE-Juniper: jnxLicenseGraceExpired","jnxLicenseGraceAboutToExpire":"vDBE-Juniper: jnxLicenseGraceAboutToExpire","jnxLicenseAboutToExpire":"vDBE-Juniper: jnxLicenseAboutToExpire","jnxLicenseInfringeCumulative":"vDBE-Juniper: jnxLicenseInfringeCumulative","jnxLicenseInfringeSingle":"vDBE-Juniper: jnxLicenseInfringeSingle","jnxNatAddrPoolThresholdStatus":"vDBE-Juniper: jnxNatAddrPoolThresholdStatus","jnxSyslogTrap":"vDBE-Juniper: jnxSyslogTrap","jnxAccessAuthServiceUp":"vDBE-Juniper: jnxAccessAuthServiceUp","jnxAccessAuthServiceDown":"vDBE-Juniper: jnxAccessAuthServiceDown","jnxAccessAuthServerDisabled":"vDBE-Juniper: jnxAccessAuthServerDisabled","jnxAccessAuthServerEnabled":"vDBE-Juniper: jnxAccessAuthServerEnabled","jnxAccessAuthAddressPoolHighThreshold":"vDBE-Juniper: jnxAccessAuthAddressPoolHighThreshold","jnxAccessAuthAddressPoolAbateThreshold":"vDBE-Juniper: jnxAccessAuthAddressPoolAbateThreshold","jnxAccessAuthAddressPoolOutOfAddresses":"vDBE-Juniper: jnxAccessAuthAddressPoolOutOfAddresses","jnxAccessAuthAddressPoolOutOfMemory":"vDBE-Juniper: jnxAccessAuthAddressPoolOutOfMemory","LEVEL_WARNING_CPU":"vMRF: LEVEL_WARNING_CPU","LEVEL_MAJOR_CPU":"vMRF: LEVEL_MAJOR_CPU","LEVEL_CRITICAL_CPU":"vMRF: LEVEL_CRITICAL_CPU","LEVEL_WARNING_MEM":"vMRF: LEVEL_WARNING_MEM","LEVEL_MAJOR_MEM":"vMRF: LEVEL_MAJOR_MEM","LEVEL_CRITICAL_MEM":"vMRF: LEVEL_CRITICAL_MEM","LEVEL_WARNING_DISK":"vMRF: LEVEL_WARNING_DISK","LEVEL_MAJOR_DISK":"vMRF: LEVEL_MAJOR_DISK","LEVEL_CRITICAL_DISK":"vMRF: LEVEL_CRITICAL_DISK","LEVEL_WARNING_RTPBANDWIDTH":"vMRF: LEVEL_WARNING_RTPBANDWIDTH","LEVEL_MAJOR_RTPBANDWIDTH":"vMRF: LEVEL_MAJOR_RTPBANDWIDTH","LEVEL_CRITICAL_RTPBANDWIDTH":"vMRF: LEVEL_CRITICAL_RTPBANDWIDTH","LEVEL_WARNING_RTPINPACKETLOSS":"vMRF: LEVEL_WARNING_RTPINPACKETLOSS","LEVEL_MAJOR_RTPINPACKETLOSS":"vMRF: LEVEL_MAJOR_RTPINPACKETLOSS","LEVEL_CRITICAL_RTPINPACKETLOSS":"vMRF: LEVEL_CRITICAL_RTPINPACKETLOSS","LEVEL_WARNING_RTPOUTPACKETLOSS":"vMRF: LEVEL_WARNING_RTPOUTPACKETLOSS","LEVEL_MAJOR_RTPOUTPACKETLOSS":"vMRF: LEVEL_MAJOR_RTPOUTPACKETLOSS","LEVEL_CRITICAL_RTPOUTPACKETLOSS":"vMRF: LEVEL_CRITICAL_RTPOUTPACKETLOSS","LEVEL_WARNING_TCPLOSTRETRANSMITRATE":"vMRF: LEVEL_WARNING_TCPLOSTRETRANSMITRATE","LEVEL_MAJOR_TCPLOSTRETRANSMITRATE":"vMRF: LEVEL_MAJOR_TCPLOSTRETRANSMITRATE","LEVEL_CRITICAL_TCPLOSTRETRANSMITRATE":"vMRF: LEVEL_CRITICAL_TCPLOSTRETRANSMITRATE","LEVEL_WARNING_TCPLOSSFAILURERATE":"vMRF: LEVEL_WARNING_TCPLOSSFAILURERATE","LEVEL_MAJOR_TCPLOSSFAILURERATE":"vMRF: LEVEL_MAJOR_TCPLOSSFAILURERATE","LEVEL_CRITICAL_TCPLOSSFAILURERATE":"vMRF: LEVEL_CRITICAL_TCPLOSSFAILURERATE","LEVEL_CRITICAL_RTPLINKDOWN":"vMRF: LEVEL_CRITICAL_RTPLINKDOWN","TARGET_REACHABLE":"vMRF: TARGET_REACHABLE","PUBLICATION_ERROR":"vMRF: PUBLICATION_ERROR","REMOTE_SERVER_SYNCHRONIZATION_ERROR":"vMRF: REMOTE_SERVER_SYNCHRONIZATION_ERROR","TRANSCODER_TOOL_EXEC_ERROR":"vMRF: TRANSCODER_TOOL_EXEC_ERROR","CLIENT_SYNCHRONIZATION_ERROR":"vMRF: CLIENT_SYNCHRONIZATION_ERROR","CLUSTER_UNREACHABLE":"vMRF: CLUSTER_UNREACHABLE","REMOTE_NODE_OFFLINE":"vMRF: REMOTE_NODE_OFFLINE","IPADDR_STOPPED":"vMRF: IPADDR_STOPPED","MRFC_STOPPED":"vMRF: MRFC_STOPPED","MNGT_STOPPED":"vMRF: MNGT_STOPPED","IPADDR_STARTED":"vMRF: IPADDR_STARTED","MRFC_STARTED":"vMRF: MRFC_STARTED","MNGT_STARTED":"vMRF: MNGT_STARTED","VOLATTACH_FAILED":"vMRF: VOLATTACH_FAILED","VOLDETACH_FAILED":"vMRF: VOLDETACH_FAILED","VOLDEL":"vMRF: VOLDEL","VOLCORRUPT":"vMRF: VOLCORRUPT","VOLFOREIGN":"vMRF: VOLFOREIGN","ACTIVE_ALARM_TABLE_PURGE":"vMRF: ACTIVE_ALARM_TABLE_PURGE","GENERIC_FORMER_STATELESS":"vMRF: GENERIC_FORMER_STATELESS","GENERIC_FORMER_STATEFUL":"vMRF: GENERIC_FORMER_STATEFUL","NO_MORE_ALARM_DESCRIPTION":"vMRF: NO_MORE_ALARM_DESCRIPTION","SERVICE_PROCESS_ENDS":"vMRF: SERVICE_PROCESS_ENDS","DEFENSE_STOPPED":"vMRF: DEFENSE_STOPPED","USER_ACCOUNT_LOCKED":"vMRF: USER_ACCOUNT_LOCKED","CONNECTION_SQL_NOT_ESTABLISHED":"vMRF: CONNECTION_SQL_NOT_ESTABLISHED","FALSE_ALARM":"vMRF: FALSE_ALARM","RADIUS SERVER HS":"vMRF: RADIUS SERVER HS","DRM_PACKAGER_IS_NOT_AVAILABLE":"vMRF: DRM_PACKAGER_IS_NOT_AVAILABLE","DRM_LICENSE_BUILDER_IS_NOT_AVAILABLE":"vMRF: DRM_LICENSE_BUILDER_IS_NOT_AVAILABLE","ERROR_WHILE_CREATING_PLAYLIST_MANAGER_FILE":"vMRF: ERROR_WHILE_CREATING_PLAYLIST_MANAGER_FILE","ERROR_WHILE_BUILDING_PLAYLIST_XML_REPRESENTATION":"vMRF: ERROR_WHILE_BUILDING_PLAYLIST_XML_REPRESENTATION","PLAYLIST_FILE_TO_PUBLISH_NOT_FOUND":"vMRF: PLAYLIST_FILE_TO_PUBLISH_NOT_FOUND","COULD_NOT_CONNECT_TO_PVNS_SERVER":"vMRF: COULD_NOT_CONNECT_TO_PVNS_SERVER","HTTP_OR_HTTPCLIENT_EXCEPTION_HAS_OCCURRED":"vMRF: HTTP_OR_HTTPCLIENT_EXCEPTION_HAS_OCCURRED","I/O_ERROR_WHILE_PUBLISHING_PLAYLIST_FILE":"vMRF: I/O_ERROR_WHILE_PUBLISHING_PLAYLIST_FILE","ERROR_WHILE_REQUESTING_SDP_FILE":"vMRF: ERROR_WHILE_REQUESTING_SDP_FILE","ERROR_WHILE_REQUESTING_SDP_FILE:_REMOTE_EXCEPTION":"vMRF: ERROR_WHILE_REQUESTING_SDP_FILE:_REMOTE_EXCEPTION","NO_STREAMING_RESOURCES":"vMRF: NO_STREAMING_RESOURCES","NO_STREAMING_MODULES_REGISTERED":"vMRF: NO_STREAMING_MODULES_REGISTERED","SM_FAILURE":"vMRF: SM_FAILURE","MISSING_FILE_OR_ENCODER":"vMRF: MISSING_FILE_OR_ENCODER","INVALID_RANGE":"vMRF: INVALID_RANGE","THRESHOLD_VALUE_EXCEEDED":"vMRF: THRESHOLD_VALUE_EXCEEDED","TICKET_QUEUE_FULL":"vMRF: TICKET_QUEUE_FULL","PARSING_INITIALIZATION_EXCEPTION":"vMRF: PARSING_INITIALIZATION_EXCEPTION","CUSTOMERCARE_INTERNAL_EXCEPTION":"vMRF: CUSTOMERCARE_INTERNAL_EXCEPTION","PARSING_EXCEPTION":"vMRF: PARSING_EXCEPTION","I/O_PROBLEM":"vMRF: I/O_PROBLEM","INEXISTENT_FILE_OR_FOLDER":"vMRF: INEXISTENT_FILE_OR_FOLDER","FILE_NOT_IN_XML_FORMAT":"vMRF: FILE_NOT_IN_XML_FORMAT","SERVICE_STATE_CHANGE":"vMRF: SERVICE_STATE_CHANGE","MONITORED_FILE_UPDATE_ERROR":"vMRF: MONITORED_FILE_UPDATE_ERROR","MONITORED_RPM_DELETED_ERROR":"vMRF: MONITORED_RPM_DELETED_ERROR","MONITORED_RPM_ADDED_ERROR":"vMRF: MONITORED_RPM_ADDED_ERROR","MONITORED_CHMOD_ERROR":"vMRF: MONITORED_CHMOD_ERROR","MONITORED_CHOWN_ERROR":"vMRF: MONITORED_CHOWN_ERROR","PASSWD_ROOT_ERROR":"vMRF: PASSWD_ROOT_ERROR","PASSWD_ERROR":"vMRF: PASSWD_ERROR","ROOTKIT_ERROR":"vMRF: ROOTKIT_ERROR","STARTUP_ERR_UNDEFINED_PORT":"vMRF: STARTUP_ERR_UNDEFINED_PORT","STARTUP_ERR_FAIL_FIND_HOSTNAME":"vMRF: STARTUP_ERR_FAIL_FIND_HOSTNAME","STARTUP_ERR_CF_MISSING":"vMRF: STARTUP_ERR_CF_MISSING","STARTUP_ERR_FAILED_TO_OPEN_CF":"vMRF: STARTUP_ERR_FAILED_TO_OPEN_CF","STARTUP_ERR_FAILED_TO_BIND_PORT":"vMRF: STARTUP_ERR_FAILED_TO_BIND_PORT","STARTUP_ERR_CFG_UNIT_MISSING":"vMRF: STARTUP_ERR_CFG_UNIT_MISSING","MCTR_INVALID_CODEC_NAME":"vMRF: MCTR_INVALID_CODEC_NAME","RTSP_SERVER_FAILURE":"vMRF: RTSP_SERVER_FAILURE","RTSP_SERVER_QUARANTINE":"vMRF: RTSP_SERVER_QUARANTINE","TRANSCODING_FAILURE":"vMRF: TRANSCODING_FAILURE","FILE_CACHE_FAILURE":"vMRF: FILE_CACHE_FAILURE","STARTUP_ERROR_INITIALIZATION_FAILED":"vMRF: STARTUP_ERROR_INITIALIZATION_FAILED","CONFERENCE_FAILURE":"vMRF: CONFERENCE_FAILURE","PLC_DEGRADATION_LOW":"vMRF: PLC_DEGRADATION_LOW","PLC_DEGRADATION_MEDIUM":"vMRF: PLC_DEGRADATION_MEDIUM","PLC_DEGRADATION_HIGH":"vMRF: PLC_DEGRADATION_HIGH","AUDIO_RESYNCH_LOW":"vMRF: AUDIO_RESYNCH_LOW","AUDIO_RESYNCH_MEDIUM":"vMRF: AUDIO_RESYNCH_MEDIUM","AUDIO_RESYNCH_HIGH":"vMRF: AUDIO_RESYNCH_HIGH","VIDEO_RESYNCH_LOW":"vMRF: VIDEO_RESYNCH_LOW","VIDEO_RESYNCH_MEDIUM":"vMRF: VIDEO_RESYNCH_MEDIUM","VIDEO_RESYNCH_HIGH":"vMRF: VIDEO_RESYNCH_HIGH","PLAY_FAILURES_LOW":"vMRF: PLAY_FAILURES_LOW","PLAY_FAILURES_MEDIUM":"vMRF: PLAY_FAILURES_MEDIUM","PLAY_FAILURES_HIGH":"vMRF: PLAY_FAILURES_HIGH","NOT_ENOUGH_FREE_CONFEREE":"vMRF: NOT_ENOUGH_FREE_CONFEREE","NO_LONGER_FREE_CONFERENCE_ROOM":"vMRF: NO_LONGER_FREE_CONFERENCE_ROOM","STARTUP_ERROR_FAIL_TO_READ_CF":"vMRF: STARTUP_ERROR_FAIL_TO_READ_CF","STARTUP_ERROR_SIP_ADAPTER_INIT":"vMRF: STARTUP_ERROR_SIP_ADAPTER_INIT","STARTUP_ERROR_MONITORING_INIT":"vMRF: STARTUP_ERROR_MONITORING_INIT","REGISTER_ERROR_FAILURE":"vMRF: REGISTER_ERROR_FAILURE","DRI_ERROR_FAILURE":"vMRF: DRI_ERROR_FAILURE","STARTUP_ERROR_STACK_CONFIGURATION":"vMRF: STARTUP_ERROR_STACK_CONFIGURATION","STARTUP_ERROR_CONF":"vMRF: STARTUP_ERROR_CONF","STARTUP_ERROR_UNDEFINED_PORT":"vMRF: STARTUP_ERROR_UNDEFINED_PORT","HOST_REMOVED":"vMRF: HOST_REMOVED","INTERCEPT_THRESHOLD_NB_DIALOG_ALLOCATED":"vMRF: INTERCEPT_THRESHOLD_NB_DIALOG_ALLOCATED","STARTUP_ERROR_STACK_CONF":"vMRF: STARTUP_ERROR_STACK_CONF","STARTUP_ERROR_CONFIGURATION":"vMRF: STARTUP_ERROR_CONFIGURATION","STARTUP_ERROR_FAILED_TO_RETRIEVE_HOSTNAME":"vMRF: STARTUP_ERROR_FAILED_TO_RETRIEVE_HOSTNAME","LEVEL_WARNING_CALL":"vMRF: LEVEL_WARNING_CALL","LEVEL_ALARM_MINOR_CALL":"vMRF: LEVEL_ALARM_MINOR_CALL","LEVEL_ALARM_MAJOR_CALL":"vMRF: LEVEL_ALARM_MAJOR_CALL","LEVEL_ALARM_MRFPoutOfService":"vMRF: LEVEL_ALARM_MRFPoutOfService","MRFP_CALL_REJECTED_Threshold #1":"vMRF: MRFP_CALL_REJECTED_Threshold #1","MRFP_CALL_REJECTED_Threshold #2":"vMRF: MRFP_CALL_REJECTED_Threshold #2","MRFP_CALL_REJECTED_Threshold #3":"vMRF: MRFP_CALL_REJECTED_Threshold #3","MRFP_CALL_RETRIED_Threshold #1":"vMRF: MRFP_CALL_RETRIED_Threshold #1","MRFP_CALL_RETRIED_Threshold #2":"vMRF: MRFP_CALL_RETRIED_Threshold #2","MRFP_CALL_RETRIED_Threshold #3":"vMRF: MRFP_CALL_RETRIED_Threshold #3","STARTUP_PUB_FILE_NOT_PRESENT":"vMRF: STARTUP_PUB_FILE_NOT_PRESENT","STARTUP_INF_FILE_NOT_PRESENT":"vMRF: STARTUP_INF_FILE_NOT_PRESENT","STARTUP_LIC_FILE_NOT_PRESENT":"vMRF: STARTUP_LIC_FILE_NOT_PRESENT","GENERIC_HARDWARE_PROBLEM":"vMRF: GENERIC_HARDWARE_PROBLEM","HARD_DRIVE_PROBLEM":"vMRF: HARD_DRIVE_PROBLEM","NETWORK_LINK_PROBLEM":"vMRF: NETWORK_LINK_PROBLEM","POWER_SUPPLY_PROBLEM":"vMRF: POWER_SUPPLY_PROBLEM","SMART_HARD_DRIVE_PROBLEM":"vMRF: SMART_HARD_DRIVE_PROBLEM","STARTUP_ERROR":"vMRF: STARTUP_ERROR","RESOURCE_NOT_ACCESSIBLE":"vMRF: RESOURCE_NOT_ACCESSIBLE","RESOURCE_ACCESSIBLE":"vMRF: RESOURCE_ACCESSIBLE","RESOURCE_FULL":"vMRF: RESOURCE_FULL","DRI_ALARM":"vMRF: DRI_ALARM","REGISTER_ERROR_CCF":"vMRF: REGISTER_ERROR_CCF","REGISTER_ERROR_EXTERNAL":"vMRF: REGISTER_ERROR_EXTERNAL","TIMEOUT_ERROR":"vMRF: TIMEOUT_ERROR","VXML_ERROR":"vMRF: VXML_ERROR","A Network Element is no longer available due to a connection failure":"vMVM: A Network Element is no longer available due to a connection failure","A MetaSphere server is reporting a fault with the configuration of its connection to MetaView":"vMVM: A MetaSphere server is reporting a fault with the configuration of its connection to MetaView","Configured OBS IPs don't match available OBS nodes. Configured but unavailable nodes include: [<IP address>]. Real nodes not configured include: []":"vMVM: Configured OBS IPs don't match available OBS nodes. Configured but unavailable nodes include: [<IP address>]. Real nodes not configured include: []","Service Assurance Server <IP address> cannot be contacted":"vMVM: Service Assurance Server <IP address> cannot be contacted","The primary MetaView Director has lost contact with the backup MetaView Director":"vMVM: The primary MetaView Director has lost contact with the backup MetaView Director","The active server has lost connection to the standby":"vMVM: The active server has lost connection to the standby","CrashCounter":"vprobes-vBE-Processing: CrashCounter","IsAlive":"vprobes-vBE-Processing: IsAlive","SwRestart":"vprobes-vLB: SwRestart","Repeated exceptions have occurred.":"vSBC-Metaswitch: Repeated exceptions have occurred.","A licensing limit is close to capacity.":"vSBC-Metaswitch: A licensing limit is close to capacity.","One or more feature packs have been breached.":"vSBC-Metaswitch: One or more feature packs have been breached.","The grace period on this Perimeta system will expire in less than 48 hours, after which calls will not be processed.":"vSBC-Metaswitch: The grace period on this Perimeta system will expire in less than 48 hours, after which calls will not be processed.","The grace period on this Perimeta system will expire in less than 7 days, after which calls will not be processed.":"vSBC-Metaswitch: The grace period on this Perimeta system will expire in less than 7 days, after which calls will not be processed.","The license on this Perimeta system will expire in less than 4 weeks.":"vSBC-Metaswitch: The license on this Perimeta system will expire in less than 4 weeks.","A Perimeta blade has become unlicensed.":"vSBC-Metaswitch: A Perimeta blade has become unlicensed.","Perimeta is licensed with a bypass certificate, which is valid until the time displayed.":"vSBC-Metaswitch: Perimeta is licensed with a bypass certificate, which is valid until the time displayed.","The number of licensed instances exceeded a threshold of the licensed limit.":"vSBC-Metaswitch: The number of licensed instances exceeded a threshold of the licensed limit.","The software token on the primary Distributed Capacity Manager will expire on the displayed date.":"vSBC-Metaswitch: The software token on the primary Distributed Capacity Manager will expire on the displayed date.","A capacity limit on the license installed on this Perimeta system does not match the largest limit across all systems in the deployment.":"vSBC-Metaswitch: A capacity limit on the license installed on this Perimeta system does not match the largest limit across all systems in the deployment.","An adjacency has voice quality alerts.":"vSBC-Metaswitch: An adjacency has voice quality alerts.","The number of calls being audited is congested.":"vSBC-Metaswitch: The number of calls being audited is congested.","Session Controller is rejecting calls because there is no valid active call policy set configured.":"vSBC-Metaswitch: Session Controller is rejecting calls because there is no valid active call policy set configured.","A call policy set is inactive because it has been misconfigured.":"vSBC-Metaswitch: A call policy set is inactive because it has been misconfigured.","Session Controller is inactive and rejecting calls.":"vSBC-Metaswitch: Session Controller is inactive and rejecting calls.","Sources have breached minor or major blacklist thresholds.":"vSBC-Metaswitch: Sources have breached minor or major blacklist thresholds.","Sources are blacklisted.":"vSBC-Metaswitch: Sources are blacklisted.","The blacklisting configuration will change as a result of upgrade and some configured blacklists or alerts will no longer be applied.":"vSBC-Metaswitch: The blacklisting configuration will change as a result of upgrade and some configured blacklists or alerts will no longer be applied.","A large number of downgrades and bans have been created as a result of blacklisting.":"vSBC-Metaswitch: A large number of downgrades and bans have been created as a result of blacklisting.","Session Controller is unable to track further sources for blacklisting.":"vSBC-Metaswitch: Session Controller is unable to track further sources for blacklisting.","A software protection switch was triggered.":"vSBC-Metaswitch: A software protection switch was triggered.","A disk area on a processor blade is nearly full.":"vSBC-Metaswitch: A disk area on a processor blade is nearly full.","Memory use is very high.":"vSBC-Metaswitch: Memory use is very high.","The primary processor-blade has lost contact with the backup.":"vSBC-Metaswitch: The primary processor-blade has lost contact with the backup.","An efix or patch has been applied to this system containing diagnostic versions of some software libraries.":"vSBC-Metaswitch: An efix or patch has been applied to this system containing diagnostic versions of some software libraries.","A software protection switch (SPS) was triggered. Call and registration state was lost.":"vSBC-Metaswitch: A software protection switch (SPS) was triggered. Call and registration state was lost.","The Ethernet Heartbeat between primary and backup processors has failed.":"vSBC-Metaswitch: The Ethernet Heartbeat between primary and backup processors has failed.","The Backplane Heartbeat between primary and backup processors has failed.":"vSBC-Metaswitch: The Backplane Heartbeat between primary and backup processors has failed.","A disk area on a processor blade reported an error.":"vSBC-Metaswitch: A disk area on a processor blade reported an error.","The system is upgrading.":"vSBC-Metaswitch: The system is upgrading.","An error with NTP functionality has been detected.":"vSBC-Metaswitch: An error with NTP functionality has been detected.","One or more users are locked out of the system.":"vSBC-Metaswitch: One or more users are locked out of the system.","The Craft Terminal user FTP directory on a processor blade is nearly full.":"vSBC-Metaswitch: The Craft Terminal user FTP directory on a processor blade is nearly full.","A scheduled configuration snapshot has failed.":"vSBC-Metaswitch: A scheduled configuration snapshot has failed.","The Session Controller is stopping as a result of administrator action.":"vSBC-Metaswitch: The Session Controller is stopping as a result of administrator action.","A Session Controller processor blade is stopping as a result of administrator action.":"vSBC-Metaswitch: A Session Controller processor blade is stopping as a result of administrator action.","An object could not be activated because its service address does not exist or is not fully specified.":"vSBC-Metaswitch: An object could not be activated because its service address does not exist or is not fully specified.","The hardware on a processor does not meet minimum requirements.":"vSBC-Metaswitch: The hardware on a processor does not meet minimum requirements.","The hardware expectations of the two processors are not the same.":"vSBC-Metaswitch: The hardware expectations of the two processors are not the same.","The read speed of the main hard disk on a processor blade is too slow.":"vSBC-Metaswitch: The read speed of the main hard disk on a processor blade is too slow.","An error has occurred reading from the hard disk on a processor blade.":"vSBC-Metaswitch: An error has occurred reading from the hard disk on a processor blade.","Backup and primary processor-blades have an inconsistent system role.":"vSBC-Metaswitch: Backup and primary processor-blades have an inconsistent system role.","Event: The system encountered a critical error and had to restart.":"vSBC-Metaswitch: Event: The system encountered a critical error and had to restart.","Event: A RADIUS server failed to respond to an authentication request.":"vSBC-Metaswitch: Event: A RADIUS server failed to respond to an authentication request.","Event: All configured RADIUS servers failed to respond to authentication requests.":"vSBC-Metaswitch: Event: All configured RADIUS servers failed to respond to authentication requests.","Event: The number of CPUs has changed.":"vSBC-Metaswitch: Event: The number of CPUs has changed.","Event: A user has been automatically deleted":"vSBC-Metaswitch: Event: A user has been automatically deleted","The primary processor blade has lost management connectivity":"vSBC-Metaswitch: The primary processor blade has lost management connectivity","Event: A processor blade is running with DPDK mode disabled when DPDK mode is,expected.":"vSBC-Metaswitch: Event: A processor blade is running with DPDK mode disabled when DPDK mode is,expected.","Event: Processor blade %1 is running with DPDK mode disabled when DPDK mode may be possible.":"vSBC-Metaswitch: Event: Processor blade %1 is running with DPDK mode disabled when DPDK mode may be possible.","Perimeta is attempting to resend cached billing records.":"vSBC-Metaswitch: Perimeta is attempting to resend cached billing records.","The Rf billing cache is full.":"vSBC-Metaswitch: The Rf billing cache is full.","The inbound call queue is congested.":"vSBC-Metaswitch: The inbound call queue is congested.","A configured realm group contains realms that are not available to the SBC.":"vSBC-Metaswitch: A configured realm group contains realms that are not available to the SBC.","An allowed MSC configuration is not connected to any physical MSCs.":"vSBC-Metaswitch: An allowed MSC configuration is not connected to any physical MSCs.","A SIP Peer has stopped responding to SIP OPTIONS pings. MSW: 20160303: Alarm text is changed in v3.9 software to read: \\"An adjacency has lost connectivity, according to SIP OPTIONS pings\\"":"vSBC-Metaswitch: A SIP Peer has stopped responding to SIP OPTIONS pings. MSW: 20160303: Alarm text is changed in v3.9 software to read: \\"An adjacency has lost connectivity, according to SIP OPTIONS pings\\"","An adjacency has failed as the listen socket could not be created. Check for configuration mismatches with the associated service interface.":"vSBC-Metaswitch: An adjacency has failed as the listen socket could not be created. Check for configuration mismatches with the associated service interface.","No suitable DNS records were found for a peer group's DNS hostname.":"vSBC-Metaswitch: No suitable DNS records were found for a peer group's DNS hostname.","One or more SIP peers from a peer group have stopped responding to SIP OPTIONS pings":"vSBC-Metaswitch: One or more SIP peers from a peer group have stopped responding to SIP OPTIONS pings","An adjacency has failed as its service network does not match the service network on its associated peer group.":"vSBC-Metaswitch: An adjacency has failed as its service network does not match the service network on its associated peer group.","An adjacency has failed as its configured TLS certificate could not be found.":"vSBC-Metaswitch: An adjacency has failed as its configured TLS certificate could not be found.","The caching function has not been initialized properly.":"vSBC-Metaswitch: The caching function has not been initialized properly.","An adjacency has failed as the listen socket could not be created.":"vSBC-Metaswitch: An adjacency has failed as the listen socket could not be created.","An adjacency is congested and may be rejecting calls.":"vSBC-Metaswitch: An adjacency is congested and may be rejecting calls.","There is an issue with a Diameter peer.":"vSBC-Metaswitch: There is an issue with a Diameter peer.","A realm is no longer reachable via any configured peers.":"vSBC-Metaswitch: A realm is no longer reachable via any configured peers.","An FQDN for a configured Diameter peer has failed to resolve to a valid IP address.":"vSBC-Metaswitch: An FQDN for a configured Diameter peer has failed to resolve to a valid IP address.","One or more peers resolved from a DNS lookup of a configured peer's address cannot be contacted":"vSBC-Metaswitch: One or more peers resolved from a DNS lookup of a configured peer's address cannot be contacted","An interface ARP or NDP probe has failed.":"vSBC-Metaswitch: An interface ARP or NDP probe has failed.","One or more IP address conflicts have been detected on service interfaces with zero criticality. If there are other probe failures, this alarm will remain raised until all conflicts are resolved.":"vSBC-Metaswitch: One or more IP address conflicts have been detected on service interfaces with zero criticality. If there are other probe failures, this alarm will remain raised until all conflicts are resolved.","One or more IP address conflicts have been detected on service interfaces with non-zero criticality. If there are other probe failures, this alarm will remain raised until all conflicts are resolved.":"vSBC-Metaswitch: One or more IP address conflicts have been detected on service interfaces with non-zero criticality. If there are other probe failures, this alarm will remain raised until all conflicts are resolved.","An interface device is running below the expected speed. This alarm was originally triggered by a probe failure on a service interface.":"vSBC-Metaswitch: An interface device is running below the expected speed. This alarm was originally triggered by a probe failure on a service interface.","An interface device is running above the expected speed.":"vSBC-Metaswitch: An interface device is running above the expected speed.","An IP address conflict has been detected on a management interface.":"vSBC-Metaswitch: An IP address conflict has been detected on a management interface.","An interface ICMP probe has failed.":"vSBC-Metaswitch: An interface ICMP probe has failed.","A High-Availability link has detected a connectivity issue.":"vSBC-Metaswitch: A High-Availability link has detected a connectivity issue.","An HA-link device is being reported as underspeed.":"vSBC-Metaswitch: An HA-link device is being reported as underspeed.","An IP address conflict has been detected on a replication interface.":"vSBC-Metaswitch: An IP address conflict has been detected on a replication interface.","The Session Controller has started.":"vSBC-Metaswitch: The Session Controller has started.","A statistic exceeded its configured thresholds.":"vSBC-Metaswitch: A statistic exceeded its configured thresholds.","One or more statistic has not been retrieved at least 3 times in a row.":"vSBC-Metaswitch: One or more statistic has not been retrieved at least 3 times in a row.","A Refresh Alarms request was triggered. Alarms not re-raised will be cleared in 5 minutes.":"vSBC-Metaswitch: A Refresh Alarms request was triggered. Alarms not re-raised will be cleared in 5 minutes.","A statistic has exceeded its configured thresholds.":"vSBC-Metaswitch: A statistic has exceeded its configured thresholds.","A Fallback Operation will soon be started":"vSBG: A Fallback Operation will soon be started","BRM, Auto Export Backup Failed":"vSBG: BRM, Auto Export Backup Failed","BRM, Scheduled Backup Failed":"vSBG: BRM, Scheduled Backup Failed","COM SA, AMF Component Cleanup Failed":"vSBG: COM SA, AMF Component Cleanup Failed","COM SA, AMF Component Instantiation Failed":"vSBG: COM SA, AMF Component Instantiation Failed","COM SA, AMF SI Unassigned":"vSBG: COM SA, AMF SI Unassigned","COM SA, CLM Cluster Node Unavailable":"vSBG: COM SA, CLM Cluster Node Unavailable","COM SA, MDF Detected Model Error":"vSBG: COM SA, MDF Detected Model Error","COM SA, Proxy Status of a Component Changed to Unproxied":"vSBG: COM SA, Proxy Status of a Component Changed to Unproxied","File Management, Number of Files in FileGroup Exceeded":"vSBG: File Management, Number of Files in FileGroup Exceeded","File Management, Max Size in FileGroup Exceeded":"vSBG: File Management, Max Size in FileGroup Exceeded","LOTC Disk Replication Communication":"vSBG: LOTC Disk Replication Communication","LOTC Disk Replication Consistency":"vSBG: LOTC Disk Replication Consistency","LOTC Disk Usage":"vSBG: LOTC Disk Usage","LOTC memory Usage":"vSBG: LOTC memory Usage","LOTC Time Synchronization":"vSBG: LOTC Time Synchronization","SBG, BGF Control Link Down":"vSBG: SBG, BGF Control Link Down","SBG, BGF Control Link Disabled":"vSBG: SBG, BGF Control Link Disabled","SBG, BGF Control Link Enabled":"vSBG: SBG, BGF Control Link Enabled","SBG, BGF Control Link Remote Locked":"vSBG: SBG, BGF Control Link Remote Locked","SBG, Charging Data Storage Maximum Records Reached":"vSBG: SBG, Charging Data Storage Maximum Records Reached","SBG, Charging Server Rejects Charging Data":"vSBG: SBG, Charging Server Rejects Charging Data","SBG, Excessive Packet Rate Detected ":"vSBG: SBG, Excessive Packet Rate Detected ","SBG, High Amount of Malformed Packets Received":"vSBG: SBG, High Amount of Malformed Packets Received","SBG, High Amount of STUN Packets Detected":"vSBG: SBG, High Amount of STUN Packets Detected","SBG, High Amount of TCP SYN Packets Received":"vSBG: SBG, High Amount of TCP SYN Packets Received","SBG, High Amount of UDP Packets Received ":"vSBG: SBG, High Amount of UDP Packets Received ","SBG, IP Address Blocked Due to Excessive Packet Rate":"vSBG: SBG, IP Address Blocked Due to Excessive Packet Rate","SBG, Lost Connectivity to Diameter Server":"vSBG: SBG, Lost Connectivity to Diameter Server","SBG, Mated Pair out of Service":"vSBG: SBG, Mated Pair out of Service","SBG, Network Unavailable for Media Handling":"vSBG: SBG, Network Unavailable for Media Handling","SBG, Non-emergency Call Released to Free Resources for Emergency Call":"vSBG: SBG, Non-emergency Call Released to Free Resources for Emergency Call","SBG, Not Enough Disk Space for Storing Charging Data":"vSBG: SBG, Not Enough Disk Space for Storing Charging Data","SBG, Payload Mated Pair Failure":"vSBG: SBG, Payload Mated Pair Failure","SBG, Payload Processor Failure":"vSBG: SBG, Payload Processor Failure","SBG, Processor Overloaded":"vSBG: SBG, Processor Overloaded","SBG, Registered User Set in Quarantine":"vSBG: SBG, Registered User Set in Quarantine","SBG, Registration Contacts Exceed Configured Threshold":"vSBG: SBG, Registration Contacts Exceed Configured Threshold","SBG, Sequential Restart Initiated":"vSBG: SBG, Sequential Restart Initiated","SBG, SIP Abuse Detected":"vSBG: SBG, SIP Abuse Detected","SBG, SIP Network Locked":"vSBG: SBG, SIP Network Locked","SBG, SIP Next Hop Reachable":"vSBG: SBG, SIP Next Hop Reachable","SBG, SIP Next Hop Unreachable":"vSBG: SBG, SIP Next Hop Unreachable","SBG, SIP Request Rejected by Network Throttling":"vSBG: SBG, SIP Request Rejected by Network Throttling","SBG, TLS Certificate Imported":"vSBG: SBG, TLS Certificate Imported","SBG, Trace Recording Session Number Limit Reached":"vSBG: SBG, Trace Recording Session Number Limit Reached","SBG, Trace Session Deactivated":"vSBG: SBG, Trace Session Deactivated","SBG, Trace Session Times Out":"vSBG: SBG, Trace Session Times Out","SBG, Unknown Media Type or Payload Type":"vSBG: SBG, Unknown Media Type or Payload Type"}
-#
-# if action.test.override is true, then any action will be marked as test=true (even if incoming action request had test=false); otherwise, test flag will be unchanged on the action request
-action.test.override=false
-# if action.insert.test.event is true, then insert event even if the action is set to test
-action.insert.test.event=false
-CLDS_SERVICE_CACHE_MAX_SECONDS=14400
-#
-globalProps={"collector": {"topicPublishes": {"DCAE-COLLECTOR-UCSNMP": "DCAE-COLLECTOR-UCSNMP", "GFP-IP-SNMP-TRAPS" : "GFP-IP-SNMP-TRAPS" } }, "string_match": { "topicPublishes": { "DCAE-CL-EVENT": "DCAE-CL-EVENT" }, "aaiMatchingFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "ProvStatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "aaiSendFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "Provstatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "eventSourceType": { "f5BigIP": "f5BigIP", "vSBG_Alarms": "vSBG_Alarms", "vCTS_Alarms": "vCTS_Alarms" }, "eventSeverity": { "NORMAL": "NORMAL", "not-NORMAL": "not-NORMAL", "WARNING": "WARNING", "MINOR": "MINOR", "MAJOR": "MAJOR", "CRITICAL": "CRITICAL" }, "timeWindow": 0, "ageLimit": 1600, "outputEventName": { "": "", "OnSet": "OnSet", "Abatement": "Abatement" }, "createClosedLoopEventId": { "Initial": "Initial", "Close": "Close" } }, "global": { "service": { "": "", "vUSP": "vUSP", "vSCP": "vSCP", "vProbes": "vProbes" } }, "policy": { "timeout": 5, "recipe": { "": "", "restart": "Restart", "rebuild": "Rebuild", "migrate": "Migrate" }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { "vCTS": "vCTS", "v3CDB": "v3CDB", "vUDR": "vUDR", "vCOM": "vCOM", "vRAR": "vRAR", "vLCS": "vLCS", "vUDR-BE": "vUDR-BE", "vDBE": "vDBE" }, "parentPolicyConditions": { "Failure_Retries": "Failure: Max Retries Exceeded", "Failure_Timeout": "Failure: Time Limit Exceeded", "Failure_Exception": "Failure: Exception", "Failure": "Failure: Other", "Success": "Success" } }, "shared": { "byService": { "": { "vf": { }, "vfc": { }, "location": { }, "alarmCondition": { } }, "vSCP": { "vf": { "frwl_scp": "FW" }, "vfc": { "FW": "FW" }, "location": { "AKRNOHAH": "Akron", "ALLNTXSA": "Allen-2" }, "alarmCondition": { "authenticationFailure": "authenticationFailure", "bigipActive": "bigipActive", "bigipActiveActive": "bigipActiveActive", "bigipAgentRestart": "bigipAgentRestart", "bigipAgentShutdown": "bigipAgentShutdown", "bigipAgentStart": "bigipAgentStart", "bigipAggrReaperStateChange": "bigipAggrReaperStateChange", "bigipAomCpuTempTooHigh": "bigipAomCpuTempTooHigh", "bigipARPConflict": "bigipARPConflict", "bigipAsmBruteForceAttackDetected": "bigipAsmBruteForceAttackDetected", "bigipAsmDosAttackDetected": "bigipAsmDosAttackDetected", "bigipAsmFtpRequestBlocked": "bigipAsmFtpRequestBlocked", "bigipAsmFtpRequestViolation": "bigipAsmFtpRequestViolation", "bigipAsmRequestBlocked": "bigipAsmRequestBlocked", "bigipAsmRequestViolation": "bigipAsmRequestViolation", "bigipAsmSmtpRequestBlocked": "bigipAsmSmtpRequestBlocked", "bigipAsmSmtpRequestViolation": "bigipAsmSmtpRequestViolation", "bigipAuthFailed": "bigipAuthFailed", "bigipAvrAlertsMetricSmtp": "bigipAvrAlertsMetricSmtp", "bigipAvrAlertsMetricSnmp": "bigipAvrAlertsMetricSnmp", "bigipBladeNoPower": "bigipBladeNoPower", "bigipBladeOffline": "bigipBladeOffline", "bigipBladeTempHigh": "bigipBladeTempHigh", "bigipChassisFanBad": "bigipChassisFanBad", "bigipChassisPowerSupplyBad": "bigipChassisPowerSupplyBad", "bigipChassisTempHigh": "bigipChassisTempHigh", "bigipChmandAlertFanTrayBad": "bigipChmandAlertFanTrayBad", "bigipClusterdNoResponse": "bigipClusterdNoResponse", "bigipClusterPrimaryChanged": "bigipClusterPrimaryChanged", "bigipCompLimitExceeded": "bigipCompLimitExceeded", "bigipConfigLoaded": "bigipConfigLoaded", "bigipCpuFanSpeedBad": "bigipCpuFanSpeedBad", "bigipCpuFanSpeedLow": "bigipCpuFanSpeedLow", "bigipCpuTempHigh": "bigipCpuTempHigh", "bigipDiskPartitionGrowth": "bigipDiskPartitionGrowth", "bigipDiskPartitionWarn": "bigipDiskPartitionWarn", "bigipDnsRequestRateLimiterEngaged": "bigipDnsRequestRateLimiterEngaged", "bigipDosAttackStart": "bigipDosAttackStart", "bigipDosAttackStop": "bigipDosAttackStop", "bigipExternalLinkChange": "bigipExternalLinkChange", "bigipFeatureFailed": "bigipFeatureFailed", "bigipFeatureOnline": "bigipFeatureOnline", "bigipFipsDeviceError": "bigipFipsDeviceError", "bigipGtmAppAvail": "bigipGtmAppAvail", "bigipGtmAppNotAvail": "bigipGtmAppNotAvail", "bigipGtmAppObjAvail": "bigipGtmAppObjAvail", "bigipGtmAppObjNotAvail": "bigipGtmAppObjNotAvail", "bigipGtmBig3dSslCertExpired": "bigipGtmBig3dSslCertExpired", "bigipGtmBig3dSslCertWillExpire": "bigipGtmBig3dSslCertWillExpire", "bigipGtmBoxAvail": "bigipGtmBoxAvail", "bigipGtmBoxNotAvail": "bigipGtmBoxNotAvail", "bigipGtmDcAvail": "bigipGtmDcAvail", "bigipGtmDcDisabled": "bigipGtmDcDisabled", "bigipGtmDcEnabled": "bigipGtmDcEnabled", "bigipGtmDcNotAvail": "bigipGtmDcNotAvail", "bigipGtmJoinedGroup": "bigipGtmJoinedGroup", "bigipGtmKeyGenerationExpiration": "bigipGtmKeyGenerationExpiration", "bigipGtmKeyGenerationRollover": "bigipGtmKeyGenerationRollover", "bigipGtmLeftGroup": "bigipGtmLeftGroup", "bigipGtmLinkAvail": "bigipGtmLinkAvail", "bigipGtmLinkDisabled": "bigipGtmLinkDisabled", "bigipGtmLinkEnabled": "bigipGtmLinkEnabled", "bigipGtmLinkNotAvail": "bigipGtmLinkNotAvail", "bigipGtmPoolAvail": "bigipGtmPoolAvail", "bigipGtmPoolDisabled": "bigipGtmPoolDisabled", "bigipGtmPoolEnabled": "bigipGtmPoolEnabled", "bigipGtmPoolMbrAvail": "bigipGtmPoolMbrAvail", "bigipGtmPoolMbrDisabled": "bigipGtmPoolMbrDisabled", "bigipGtmPoolMbrEnabled": "bigipGtmPoolMbrEnabled", "bigipGtmPoolMbrNotAvail": "bigipGtmPoolMbrNotAvail", "bigipGtmPoolNotAvail": "bigipGtmPoolNotAvail", "bigipGtmProberPoolDisabled": "bigipGtmProberPoolDisabled", "bigipGtmProberPoolEnabled": "bigipGtmProberPoolEnabled", "bigipGtmProberPoolMbrDisabled": "bigipGtmProberPoolMbrDisabled", "bigipGtmProberPoolMbrEnabled": "bigipGtmProberPoolMbrEnabled", "bigipGtmProberPoolMbrStatusChange": "bigipGtmProberPoolMbrStatusChange", "bigipGtmProberPoolMbrStatusChangeReason": "bigipGtmProberPoolMbrStatusChangeReason", "bigipGtmProberPoolStatusChange": "bigipGtmProberPoolStatusChange", "bigipGtmProberPoolStatusChangeReason": "bigipGtmProberPoolStatusChangeReason", "bigipGtmRequestRateLimiterEngaged": "bigipGtmRequestRateLimiterEngaged", "bigipGtmServerAvail": "bigipGtmServerAvail", "bigipGtmServerDisabled": "bigipGtmServerDisabled", "bigipGtmServerEnabled": "bigipGtmServerEnabled", "bigipGtmServerNotAvail": "bigipGtmServerNotAvail", "bigipGtmSslCertExpired": "bigipGtmSslCertExpired", "bigipGtmSslCertWillExpire": "bigipGtmSslCertWillExpire", "bigipGtmVsAvail": "bigipGtmVsAvail", "bigipGtmVsDisabled": "bigipGtmVsDisabled", "bigipGtmVsEnabled": "bigipGtmVsEnabled", "bigipGtmVsNotAvail": "bigipGtmVsNotAvail", "bigipGtmWideIpAvail": "bigipGtmWideIpAvail", "bigipGtmWideIpDisabled": "bigipGtmWideIpDisabled", "bigipGtmWideIpEnabled": "bigipGtmWideIpEnabled", "bigipGtmWideIpNotAvail": "bigipGtmWideIpNotAvail", "bigipHardDiskFailure": "bigipHardDiskFailure", "bigipInetPortExhaustion": "bigipInetPortExhaustion", "bigipLibhalBladePoweredOff": "bigipLibhalBladePoweredOff", "bigipLibhalDiskBayRemoved": "bigipLibhalDiskBayRemoved", "bigipLibhalSensorAlarmCritical": "bigipLibhalSensorAlarmCritical", "bigipLibhalSsdLogicalDiskRemoved": "bigipLibhalSsdLogicalDiskRemoved", "bigipLibhalSsdPhysicalDiskRemoved": "bigipLibhalSsdPhysicalDiskRemoved", "bigipLicenseExpired": "bigipLicenseExpired", "bigipLicenseFailed": "bigipLicenseFailed", "bigipLogAlert": "bigipLogAlert", "bigipLogCrit": "bigipLogCrit", "bigipLogEmerg": "bigipLogEmerg", "bigipLogErr": "bigipLogErr", "bigipLogWarning": "bigipLogWarning", "bigipLtmVsAvail": "bigipLtmVsAvail", "bigipLtmVsDisabled": "bigipLtmVsDisabled", "bigipLtmVsEnabled": "bigipLtmVsEnabled", "bigipLtmVsUnavail": "bigipLtmVsUnavail", "bigipMemberRate": "bigipMemberRate", "bigipNetLinkDown": "bigipNetLinkDown", "bigipNodeDown": "bigipNodeDown", "bigipNodeRate": "bigipNodeRate", "bigipNodeUp": "bigipNodeUp", "bigipPacketRejected": "bigipPacketRejected", "bigipPsAbsent": "bigipPsAbsent", "bigipPsPowerOff": "bigipPsPowerOff", "bigipPsPowerOn": "bigipPsPowerOn", "bigipRaidDiskFailure": "bigipRaidDiskFailure", "bigipServiceDown": "bigipServiceDown", "bigipServiceUp": "bigipServiceUp", "bigipSsdMwiNearThreshold": "bigipSsdMwiNearThreshold", "bigipSsdMwiReachedThreshold": "bigipSsdMwiReachedThreshold", "bigipSslLimitExceeded": "bigipSslLimitExceeded", "bigipStandby": "bigipStandby", "bigipStandByFail": "bigipStandByFail", "bigipSystemCheckAlertCurrentHigh": "bigipSystemCheckAlertCurrentHigh", "bigipSystemCheckAlertCurrentLow": "bigipSystemCheckAlertCurrentLow", "bigipSystemCheckAlertFanSpeedLow": "bigipSystemCheckAlertFanSpeedLow", "bigipSystemCheckAlertMilliVoltageHigh": "bigipSystemCheckAlertMilliVoltageHigh", "bigipSystemCheckAlertMilliVoltageLow": "bigipSystemCheckAlertMilliVoltageLow", "bigipSystemCheckAlertPowerHigh": "bigipSystemCheckAlertPowerHigh", "bigipSystemCheckAlertPowerLow": "bigipSystemCheckAlertPowerLow", "bigipSystemCheckAlertTempHigh": "bigipSystemCheckAlertTempHigh", "bigipSystemCheckAlertVoltageHigh": "bigipSystemCheckAlertVoltageHigh", "bigipSystemCheckAlertVoltageLow": "bigipSystemCheckAlertVoltageLow", "bigipSystemShutdown": "bigipSystemShutdown", "bigipTamdAlert": "bigipTamdAlert", "bigipTrafficGroupActivate": "bigipTrafficGroupActivate", "bigipTrafficGroupActive": "bigipTrafficGroupActive", "bigipTrafficGroupDeactivate": "bigipTrafficGroupDeactivate", "bigipTrafficGroupForcedOffline": "bigipTrafficGroupForcedOffline", "bigipTrafficGroupOffline": "bigipTrafficGroupOffline", "bigipTrafficGroupStandby": "bigipTrafficGroupStandby", "bigipUnsolicitedRepliesExceededThreshold": "bigipUnsolicitedRepliesExceededThreshold", "bigipUpdateError": "bigipUpdateError", "bigipUpdatePriority": "bigipUpdatePriority", "bigipUpdateServer": "bigipUpdateServer", "bigipVcmpAlertsVcmpHBDetected": "bigipVcmpAlertsVcmpHBDetected", "bigipVcmpAlertsVcmpHBLost": "bigipVcmpAlertsVcmpHBLost", "bigipVcmpAlertsVcmpPowerOff": "bigipVcmpAlertsVcmpPowerOff", "bigipVcmpAlertsVcmpPowerOn": "bigipVcmpAlertsVcmpPowerOn", "bigipVirtualRate": "bigipVirtualRate", "coldStart": "coldStart", "emASMSigInstallComplete": "emASMSigInstallComplete", "emASMSigInstallFailed": "emASMSigInstallFailed", "emASMSigUpdateAvailable": "emASMSigUpdateAvailable", "emASMSigUpdateFailed": "emASMSigUpdateFailed", "emCertificateExpiration": "emCertificateExpiration", "emCpuUsage": "emCpuUsage", "emDeviceActiveMode": "emDeviceActiveMode", "emDeviceClockSkew": "emDeviceClockSkew", "emDeviceConfigSettingChanged": "emDeviceConfigSettingChanged", "emDeviceConfigSync": "emDeviceConfigSync", "emDeviceForcedOfflineMode": "emDeviceForcedOfflineMode", "emDeviceImpaired": "emDeviceImpaired", "emDeviceOfflineMode": "emDeviceOfflineMode", "emDeviceStandbyMode": "emDeviceStandbyMode", "emDeviceUnreachable": "emDeviceUnreachable", "emDiskUsage": "emDiskUsage", "emGatherServiceContractFailure": "emGatherServiceContractFailure", "emHaSyncFailed": "emHaSyncFailed", "emHotfixInstallComplete": "emHotfixInstallComplete", "emHotfixInstallFailed": "emHotfixInstallFailed", "emMemoryUsage": "emMemoryUsage", "emPerformanceStorageCap": "emPerformanceStorageCap", "emPerformanceStorageDays": "emPerformanceStorageDays", "emPerformanceThreshold": "emPerformanceThreshold", "emRaidDriveFailureDetected": "emRaidDriveFailureDetected", "emRaidDriveRebuildComplete": "emRaidDriveRebuildComplete", "emSchedBackupFailed": "emSchedBackupFailed", "emScheduledArchiveFailed": "emScheduledArchiveFailed", "emServiceContractExpiry": "emServiceContractExpiry", "emSoftwareInstallComplete": "emSoftwareInstallComplete", "emSoftwareInstallFailed": "emSoftwareInstallFailed", "emStatsCollectionRateCap": "emStatsCollectionRateCap", "emStatsDBConnectivityLost": "emStatsDBConnectivityLost", "emStatsDBConnectivityRestored": "emStatsDBConnectivityRestored", "fallingAlarm": "fallingAlarm", "ipv6IfStateChange": "ipv6IfStateChange", "linkDown": "linkDown", "linkUp": "linkUp", "mteEventSetFailure": "mteEventSetFailure", "mteTriggerFailure": "mteTriggerFailure", "mteTriggerFalling": "mteTriggerFalling", "mteTriggerFired": "mteTriggerFired", "mteTriggerRising": "mteTriggerRising", "netSnmpExampleHeartbeatNotification": "netSnmpExampleHeartbeatNotification", "newRoot": "newRoot", "nsNotifyRestart": "nsNotifyRestart", "nsNotifyShutdown": "nsNotifyShutdown", "nsNotifyStart": "nsNotifyStart", "risingAlarm": "risingAlarm", "schedActionFailure": "schedActionFailure", "smScriptAbort": "smScriptAbort", "smScriptException": "smScriptException", "smScriptResult": "smScriptResult", "topologyChange": "topologyChange", "ucdShutdown": "ucdShutdown", "ucdStart": "ucdStart", "warmStart": "warmStart" } }, "vUSP": { "vf": { "ctsf-xxx": "vCTS" }, "vfc": { "vCTS - CFED": "vCTS - CFED", "vCTS - Config": "vCTS - Config", "vCTS - DFED": "vCTS - DFED", "vCTS - TAFE-fsd": "vCTS - TAFE-fsd", "vCTS - GLS": "vCTS - GLS", "vCTS - XXX": "vCTS - XXX", "vCTS - Management Interface": "vCTS - Management Interface", "vCTS - SPFE-pfe": "vCTS - SPFE-pfe", "vCTS - DNS": "vCTS - DNS", "vCTS - SPFE-spd": "vCTS - SPFE-spd", "vCTS - SPFE-spt": "vCTS - SPFE-spt", "vCTS - TAFE-tas": "vCTS - TAFE-tas" }, "location": { "SNDGCA06": "San Diego(core site) A06", "SNDGCA64": "San Diego(core site) A64", "SNANTXCA": "San Antonio(core site)", "KSCYMO09": "Kansas City(core site)", "kings_mountain": "Kings Mountain(AMG)", "Secaucus": "Secaucus(AMG)", "lisle": "Lisle(AMG)", "concord": "Concord(AMG)", "houston": "Houston(AMG)", "akron": "Akron(AMG)" }, "alarmCondition": { "acrTemporaryBufferOverload": "acrTemporaryBufferOverload", "adnsExtendedTTLcaching": "adnsExtendedTTLcaching", "adnsQueryFailureCaching": "adnsQueryFailureCaching", "adnsQueueCongestion": "adnsQueueCongestion", "asdaCommunicationFailure": "asdaCommunicationFailure", "asdaRequestQueue": "asdaRequestQueue", "capacityLicenseKeyExpiration": "capacityLicenseKeyExpiration", "capacityLicenseKeyNearExpiration": "capacityLicenseKeyNearExpiration", "capacityLicenseKeyValidationError": "capacityLicenseKeyValidationError", "cardConnectionLost": "cardConnectionLost", "ccdbCommunicationFailure": "ccdbCommunicationFailure", "cpiAlrmCritical": "cpiAlrmCritical", "cpiAlrmMajor": "cpiAlrmMajor", "cpiAlrmMinor": "cpiAlrmMinor", "cpiAlrmWarning": "cpiAlrmWarning", "cpiAsrtEsc": "cpiAsrtEsc", "cpiAsrtNonEsc": "cpiAsrtNonEsc", "cpiAsrtNonEscCritical": "cpiAsrtNonEscCritical", "cpiAsrtNonEscMajor": "cpiAsrtNonEscMajor", "cpiAsrtNonEscMinor": "cpiAsrtNonEscMinor", "cpiAudErrCount": "cpiAudErrCount", "cpiAudManAct": "cpiAudManAct", "cpiAudNewEvent": "cpiAudNewEvent", "cpiCompleteRateAlarm": "cpiCompleteRateAlarm", "cpiCTS3xxFailRate": "cpiCTS3xxFailRate", "cpiCTS4xxFailRate": "cpiCTS4xxFailRate", "cpiCTS5xxFailRate": "cpiCTS5xxFailRate", "cpiCTS6xxFailRate": "cpiCTS6xxFailRate", "cpiCTSSIPRetransmitInvite": "cpiCTSSIPRetransmitInvite", "cpiCTSSIPRetransmitNonInvite": "cpiCTSSIPRetransmitNonInvite", "cpiDropMGAllocConnReq": "cpiDropMGAllocConnReq", "cpiDropRateAlarm": "cpiDropRateAlarm", "cpiExceptionService": "cpiExceptionService", "cpiFailRateAlarm": "cpiFailRateAlarm", "cpiFailSCTPFastRetransIncr": "cpiFailSCTPFastRetransIncr", "cpiFailSCTPFastRetransRate": "cpiFailSCTPFastRetransRate", "cpiFailSCTPSRTT1Incr": "cpiFailSCTPSRTT1Incr", "cpiFailSCTPSRTT2Incr": "cpiFailSCTPSRTT2Incr", "cpiFailSCTPT3RetransIncr": "cpiFailSCTPT3RetransIncr", "cpiFailSCTPT3RetransRate": "cpiFailSCTPT3RetransRate", "cpiFileSysUsage": "cpiFileSysUsage", "cpiMemAllocFail": "cpiMemAllocFail", "cpiNumOfLICDRDel": "cpiNumOfLICDRDel", "cpiReinitServiceSelf": "cpiReinitServiceSelf", "cpiSIPRetransmitInvite": "cpiSIPRetransmitInvite", "cpiSIPRetransmitNonInvite": "cpiSIPRetransmitNonInvite", "cpiSS7DropSCTPPktsRcvd": "cpiSS7DropSCTPPktsRcvd", "cpiSS7FailSCTPFastRetransRate": "cpiSS7FailSCTPFastRetransRate", "cpiStabilityAlarm": "cpiStabilityAlarm", "cpuOverload": "cpuOverload", "databaseConnectionLost": "databaseConnectionLost", "databaseReplicationLinkDown": "databaseReplicationLinkDown", "databaseSizeExhausted": "databaseSizeExhausted", "dbHighCpuUtilization": "dbHighCpuUtilization", "dbOffline": "dbOffline", "dbStatusUnexpected": "dbStatusUnexpected", "degradedResource": "degradedResource", "degrow": "degrow", "deviceServerCxnLost": "deviceServerCxnLost", "diamLinkDown": "diamLinkDown", "diamMaxClientsExceeded": "diamMaxClientsExceeded", "dnsThreshold": "dnsThreshold", "ethernetError": "ethernetError", "ethernetLinkDown": "ethernetLinkDown", "externalConnectivity": "externalConnectivity", "featureLicenseExpiration": "featureLicenseExpiration", "featureLicenseKeyNearExpiration": "featureLicenseKeyNearExpiration", "featureLockValidationError": "featureLockValidationError", "fqdnError": "fqdnError", "fru": "fru", "gatewayCongestion": "gatewayCongestion", "gatewayForcedOOS": "gatewayForcedOOS", "gatewayProvisioningError": "gatewayProvisioningError", "gatewayUnreachable": "gatewayUnreachable", "gatewayUnregistered": "gatewayUnregistered", "globalParameterNotFound": "globalParameterNotFound", "glsInvalidCellId": "glsInvalidCellId", "glsServerUnavailable": "glsServerUnavailable", "grow": "grow", "h248MessageBufferDepletion": "h248MessageBufferDepletion", "hlrSyncConnection": "hlrSyncConnection", "hlrSyncQueue": "hlrSyncQueue", "hostDown": "hostDown", "hostReset": "hostReset", "invalidGateway": "invalidGateway", "iriLinkDown": "iriLinkDown", "ldapServerConnectionLost": "ldapServerConnectionLost", "lispBufferFullExternalLIG": "lispBufferFullExternalLIG", "llcDown": "llcDown", "logicalLinkDown": "logicalLinkDown", "logicalLinkNotFound": "logicalLinkNotFound", "logRotateThreshold": "logRotateThreshold", "memoryOverload": "memoryOverload", "nodeConfigFailure": "nodeConfigFailure", "nodeGroupOOS": "nodeGroupOOS", "nodeOOS": "nodeOOS", "nonCompliantFaultGroupMemberState": "nonCompliantFaultGroupMemberState", "nonCsAddrChannelDepletion": "nonCsAddrChannelDepletion", "numberOfTuplesInUse": "numberOfTuplesInUse", "osSecInfoModificationDetected": "osSecInfoModificationDetected", "osSecInformationMissing": "osSecInformationMissing", "osSecUnexpectedInformation": "osSecUnexpectedInformation", "pdnsMySqlReplication": "pdnsMySqlReplication", "pktCorruptionDetectedViaRCCLANCheck": "pktCorruptionDetectedViaRCCLANCheck", "platformCommandFailure": "platformCommandFailure", "pmDataNotCollected": "pmDataNotCollected", "prdbConnectWithAlternateFailure": "prdbConnectWithAlternateFailure", "prdbSyncDataToAlternateFailure": "prdbSyncDataToAlternateFailure", "preAllocatedResourceOverload": "preAllocatedResourceOverload", "prifSocketError": "prifSocketError", "processDown": "processDown", "processNotStarted": "processNotStarted", "provisioningInhibitedMode": "provisioningInhibitedMode", "prsCallInstanceExceeded": "prsCallInstanceExceeded", "prsCpuOverload": "prsCpuOverload", "prsDatabaseMigrationFailure": "prsDatabaseMigrationFailure", "prsFailureToConnectWithPRDB": "prsFailureToConnectWithPRDB", "prsQueueExceeded": "prsQueueExceeded", "rccInhibitedMode": "rccInhibitedMode", "remotedbLinkDown": "remotedbLinkDown", "remoteQueryServerFailure": "remoteQueryServerFailure", "restore": "restore", "serviceCFGDataTimestampError": "serviceCFGDataTimestampError", "serviceCommCxnLost": "serviceCommCxnLost", "serviceOnewayCommunication": "serviceOnewayCommunication", "sheddingOverload": "sheddingOverload", "simxml": "simxml", "sipLinkSetMaxQuarantineList": "sipLinkSetMaxQuarantineList", "sipLinkSetUnavailable": "sipLinkSetUnavailable", "sipLinkUnavailable": "sipLinkUnavailable", "smdiSocketError": "smdiSocketError", "socketError": "socketError", "softwareAllocatedResourceOverload": "softwareAllocatedResourceOverload", "softwareComponentDown": "softwareComponentDown", "softwareComponentStandbyNotReady": "softwareComponentStandbyNotReady", "softwareLicense": "softwareLicense", "svcdegrow": "svcdegrow", "svcgrow": "svcgrow", "swVersionMismatch": "swVersionMismatch", "tftpDownloadCorrupt": "tftpDownloadCorrupt", "timeStampValueOutOfSystemRange": "timeStampValueOutOfSystemRange", "tlsInitError": "tlsInitError", "transactionHandlerBlockDepletion": "transactionHandlerBlockDepletion", "upgrade": "upgrade", "usageOfSyncTable": "usageOfSyncTable", "utHttpProxyConnectionDown": "utHttpProxyConnectionDown", "wpifSocketError": "wpifSocketError", "BackupFailure": "BackupFailure", "Configuration": "Configuration", "COTRecordTransferFailure": "COTRecordTransferFailure", "CPMUSERDATAINCONSITENCY": "CPMUSERDATAINCONSITENCY", "CPMUSERDATARESTORED": "CPMUSERDATARESTORED", "EventQueueCapacity": "EventQueueCapacity", "ICMPFailure": "ICMPFailure", "IPsecConfig": "IPsecConfig", "LinkDown": "LinkDown", "NotifyDisabled": "NotifyDisabled", "NotifyLocked": "NotifyLocked", "NumTL1MeasThresh": "NumTL1MeasThresh", "RADIUSTOLDAPFAILURE": "RADIUSTOLDAPFAILURE", "ROOTACCESSDENIED": "ROOTACCESSDENIED", "ROOTFTPVIOLATION": "ROOTFTPVIOLATION", "ROOTLOGINVIOLATION": "ROOTLOGINVIOLATION", "ROOTSSHLOGINVIOLATION": "ROOTSSHLOGINVIOLATION", "SetupAAAFailure": "SetupAAAFailure", "SNETrapOverload": "SNETrapOverload", "SNMPAuthenticationFailure": "SNMPAuthenticationFailure", "SNMPFailure": "SNMPFailure", "SUTOROOTFAILURE": "SUTOROOTFAILURE", "SYSTEMTrapOverload": "SYSTEMTrapOverload", "ThresholdCrossed": "ThresholdCrossed", "UndiscoveredObject": "UndiscoveredObject", "WriteAAAFailure": "WriteAAAFailure" } }, "Trinity": { "vf": { "aSBG": "aSBG", "nSBG": "nSBG", "tSBG": "tSBG" }, "vfc": { "pld": "PL - Payload Processor", "scr": "SC - System Controller" }, "location": { "SNDGCA64": "San Diego SAN3", "ALPRGAED": "Alpharetta PDK1", "LSLEILAA":"Lisle DPA3" }, "alarmCondition": { "A+Fallback+Operation+will+soon+be+started":"A Fallback Operation will soon be started", "BRM%2C+Auto+Export+Backup+Failed":"BRM, Auto Export Backup Failed", "BRM%2C+Scheduled+Backup+Failed":"BRM, Scheduled Backup Failed", "COM+SA%2C+AMF+Component+Cleanup+Failed":"COM SA, AMF Component Cleanup Failed", "COM+SA%2C+AMF+Component+Instantiation+Failed":"COM SA, AMF Component Instantiation Failed", "COM+SA%2C+AMF+SI+Unassigned":"COM SA, AMF SI Unassigned", "COM+SA%2C+CLM+Cluster+Node+Unavailable":"COM SA, CLM Cluster Node Unavailable", "COM+SA%2C+MDF+Detected+Model+Error":"COM SA, MDF Detected Model Error", "COM+SA%2C+Proxy+Status+of+a+Component+Changed+to+Unproxied":"COM SA, Proxy Status of a Component Changed to Unproxied", "File+Management%2C+Number+of+Files+in+FileGroup+Exceeded":"File Management, Number of Files in FileGroup Exceeded", "File+Management%2C+Max+Size+in+FileGroup+Exceeded":"File Management, Max Size in FileGroup Exceeded", "LOTC+Disk+Replication+Communication":"LOTC Disk Replication Communication", "LOTC+Disk+Replication+Consistency":"LOTC Disk Replication Consistency", "LOTC+Disk+Usage":"LOTC Disk Usage", "LOTC+memory+Usage":"LOTC memory Usage", "LOTC+Time+Synchronization":"LOTC Time Synchronization", "SBG%2C+BGF+Control+Link+Down":"SBG, BGF Control Link Down", "SBG%2C+BGF+Control+Link+Disabled":"SBG, BGF Control Link Disabled", "SBG%2C+BGF+Control+Link+Enabled":"SBG, BGF Control Link Enabled", "SBG%2C+BGF+Control+Link+Remote+Locked":"SBG, BGF Control Link Remote Locked", "SBG%2C+Charging+Data+Storage+Maximum+Records+Reached":"SBG, Charging Data Storage Maximum Records Reached", "SBG%2C+Charging+Server+Rejects+Charging+Data":"SBG, Charging Server Rejects Charging Data", "SBG%2C+Excessive+Packet+Rate+Detected+":"SBG, Excessive Packet Rate Detected ", "SBG%2C+High+Amount+of+Malformed+Packets+Received":"SBG, High Amount of Malformed Packets Received", "SBG%2C+High+Amount+of+STUN+Packets+Detected":"SBG, High Amount of STUN Packets Detected", "SBG%2C+High+Amount+of+TCP+SYN+Packets+Received":"SBG, High Amount of TCP SYN Packets Received", "SBG%2C+High+Amount+of+UDP+Packets+Received+":"SBG, High Amount of UDP Packets Received ", "SBG%2C+IP+Address+Blocked+Due+to+Excessive+Packet+Rate":"SBG, IP Address Blocked Due to Excessive Packet Rate", "SBG%2C+Lost+Connectivity+to+Diameter+Server":"SBG, Lost Connectivity to Diameter Server", "SBG%2C+Mated+Pair+out+of+Service":"SBG, Mated Pair out of Service", "SBG%2C+Network+Unavailable+for+Media+Handling":"SBG, Network Unavailable for Media Handling", "SBG%2C+Non-emergency+Call+Released+to+Free+Resources+for+Emergency+Call":"SBG, Non-emergency Call Released to Free Resources for Emergency Call", "SBG%2C+Not+Enough+Disk+Space+for+Storing+Charging+Data":"SBG, Not Enough Disk Space for Storing Charging Data", "SBG%2C+Payload+Mated+Pair+Failure":"SBG, Payload Mated Pair Failure", "SBG%2C+Payload+Processor+Failure":"SBG, Payload Processor Failure", "SBG%2C+Processor+Overloaded":"SBG, Processor Overloaded", "SBG%2C+Registered+User+Set+in+Quarantine":"SBG, Registered User Set in Quarantine", "SBG%2C+Registration+Contacts+Exceed+Configured+Threshold":"SBG, Registration Contacts Exceed Configured Threshold", "SBG%2C+Sequential+Restart+Initiated":"SBG, Sequential Restart Initiated", "SBG%2C+SIP+Abuse+Detected":"SBG, SIP Abuse Detected", "SBG%2C+SIP+Network+Locked":"SBG, SIP Network Locked", "SBG%2C+SIP+Next+Hop+Reachable":"SBG, SIP Next Hop Reachable", "SBG%2C+SIP+Next+Hop+Unreachable":"SBG, SIP Next Hop Unreachable", "SBG%2C+SIP+Request+Rejected+by+Network+Throttling":"SBG, SIP Request Rejected by Network Throttling", "SBG%2C+TLS+Certificate+Imported":"SBG, TLS Certificate Imported", "SBG%2C+Trace+Recording+Session+Number+Limit+Reached":"SBG, Trace Recording Session Number Limit Reached", "SBG%2C+Trace+Session+Deactivated":"SBG, Trace Session Deactivated", "SBG%2C+Trace+Session+Times+Out":"SBG, Trace Session Times Out", "SBG%2C+Unknown+Media+Type+or+Payload+Type":"SBG, Unknown Media Type or Payload Type" } }, "vProbes": { "vf": { }, "vfc": { }, "location": { }, "alarmCondition": { } } } } }
-globalPropsPartial={"collector": {"topicPublishes": {"DCAE-COLLECTOR-UCSNMP": "DCAE-COLLECTOR-UCSNMP", "GFP-IP--SNMP-TRAPS" : "GFP-IP--SNMP-TRAPS" } }, "string_match": { "topicPublishes": { "DCAE-CL-EVENT": "DCAE-CL-EVENT" }, "aaiMatchingFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "ProvStatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "aaiSendFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "Provstatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "eventSourceType": { "f5BigIP": "f5BigIP", "vSBG_Alarms": "vSBG_Alarms", "vCTS_Alarms": "vCTS_Alarms" }, "eventSeverity": { "NORMAL": "NORMAL", "not-NORMAL": "not-NORMAL", "WARNING": "WARNING", "MINOR": "MINOR", "MAJOR": "MAJOR", "CRITICAL": "CRITICAL" }, "timeWindow": 0, "ageLimit": 1600, "outputEventName": { "": "", "OnSet": "OnSet", "Abatement": "Abatement" }, "createClosedLoopEventId": { "Initial": "Initial", "Close": "Close" } }, "global": { "service": { "": "", "vUSP": "vUSP", "vSCP": "vSCP", "vProbes": "vProbes" } }, "policy": { "timeout": 5, "recipe": { "": "", "restart": "Restart", "rebuild": "Rebuild", "migrate": "Migrate" }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { "vCTS": "vCTS", "v3CDB": "v3CDB", "vUDR": "vUDR", "vCOM": "vCOM", "vRAR": "vRAR", "vLCS": "vLCS", "vUDR-BE": "vUDR-BE", "vDBE": "vDBE" }, "parentPolicyConditions": { "Failure_Retries": "Failure: Max Retries Exceeded", "Failure_Timeout": "Failure: Time Limit Exceeded", "Failure_Exception": "Failure: Exception", "Failure": "Failure: Other", "Success": "Success" } } }
-globalPropsTest={"collector": {"topicPublishes": {"DCAE-COLLECTOR-UCSNMP": "DCAE-COLLECTOR-UCSNMP", "GFP-IP--SNMP-TRAPS" : "GFP-IP--SNMP-TRAPS" } }, "string_match": { "topicPublishes": { "DCAE-CL-EVENT": "DCAE-CL-EVENT" }, "aaiMatchingFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "ProvStatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "aaiSendFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "Provstatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "eventSourceType": { "f5BigIP": "f5BigIP", "vSBG_Alarms": "vSBG_Alarms", "vCTS_Alarms": "vCTS_Alarms" }, "eventSeverity": { "NORMAL": "NORMAL", "not-NORMAL": "not-NORMAL", "WARNING": "WARNING", "MINOR": "MINOR", "MAJOR": "MAJOR", "CRITICAL": "CRITICAL" }, "timeWindow": 0, "ageLimit": 1600, "outputEventName": { "": "", "OnSet": "OnSet", "Abatement": "Abatement" }, "createClosedLoopEventId": { "Initial": "Initial", "Close": "Close" } }, "global": { "service": { "": "", "vUSP": "vUSP", "vSCP": "vSCP", "vProbes": "vProbes" } }, "policy": { "timeout": 5, "recipe": { "": "", "restart": "Restart", "rebuild": "Rebuild", "migrate": "Migrate" }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { "vCTS": "vCTS", "v3CDB": "v3CDB", "vUDR": "vUDR", "vCOM": "vCOM", "vRAR": "vRAR", "vLCS": "vLCS", "vUDR-BE": "vUDR-BE", "vDBE": "vDBE" }, "parentPolicyConditions": { "Failure_Retries": "Failure: Max Retries Exceeded", "Failure_Timeout": "Failure: Time Limit Exceeded", "Failure_Exception": "Failure: Exception", "Failure": "Failure: Other", "Success": "Success" } }, "shared": { "byService": { "": { "vf": { }, "vfc": { }, "location": { }, "alarmCondition": { } }, "vSCP": { "vf": { "frwl_scp": "FW" }, "vfc": { "FW": "FW" }, "location": { "AKRNOHAH": "Akron", "ALLNTXSA": "Allen-2" }, "alarmCondition": { "authenticationFailure": "authenticationFailure", "bigipActive": "bigipActive", "bigipActiveActive": "bigipActiveActive", "bigipAgentRestart": "bigipAgentRestart", "bigipAgentShutdown": "bigipAgentShutdown", "bigipAgentStart": "bigipAgentStart", "bigipAggrReaperStateChange": "bigipAggrReaperStateChange", "bigipAomCpuTempTooHigh": "bigipAomCpuTempTooHigh", "bigipARPConflict": "bigipARPConflict", "bigipAsmBruteForceAttackDetected": "bigipAsmBruteForceAttackDetected", "bigipAsmDosAttackDetected": "bigipAsmDosAttackDetected", "bigipAsmFtpRequestBlocked": "bigipAsmFtpRequestBlocked", "bigipAsmFtpRequestViolation": "bigipAsmFtpRequestViolation", "bigipAsmRequestBlocked": "bigipAsmRequestBlocked", "bigipAsmRequestViolation": "bigipAsmRequestViolation", "bigipAsmSmtpRequestBlocked": "bigipAsmSmtpRequestBlocked", "bigipAsmSmtpRequestViolation": "bigipAsmSmtpRequestViolation", "bigipAuthFailed": "bigipAuthFailed", "bigipAvrAlertsMetricSmtp": "bigipAvrAlertsMetricSmtp", "bigipAvrAlertsMetricSnmp": "bigipAvrAlertsMetricSnmp", "bigipBladeNoPower": "bigipBladeNoPower", "bigipBladeOffline": "bigipBladeOffline", "bigipBladeTempHigh": "bigipBladeTempHigh", "bigipChassisFanBad": "bigipChassisFanBad", "bigipChassisPowerSupplyBad": "bigipChassisPowerSupplyBad", "bigipChassisTempHigh": "bigipChassisTempHigh", "bigipChmandAlertFanTrayBad": "bigipChmandAlertFanTrayBad", "bigipClusterdNoResponse": "bigipClusterdNoResponse", "bigipClusterPrimaryChanged": "bigipClusterPrimaryChanged", "bigipCompLimitExceeded": "bigipCompLimitExceeded", "bigipConfigLoaded": "bigipConfigLoaded", "bigipCpuFanSpeedBad": "bigipCpuFanSpeedBad", "bigipCpuFanSpeedLow": "bigipCpuFanSpeedLow", "bigipCpuTempHigh": "bigipCpuTempHigh", "bigipDiskPartitionGrowth": "bigipDiskPartitionGrowth", "bigipDiskPartitionWarn": "bigipDiskPartitionWarn", "bigipDnsRequestRateLimiterEngaged": "bigipDnsRequestRateLimiterEngaged", "bigipDosAttackStart": "bigipDosAttackStart", "bigipDosAttackStop": "bigipDosAttackStop", "bigipExternalLinkChange": "bigipExternalLinkChange", "bigipFeatureFailed": "bigipFeatureFailed", "bigipFeatureOnline": "bigipFeatureOnline", "bigipFipsDeviceError": "bigipFipsDeviceError", "bigipGtmAppAvail": "bigipGtmAppAvail", "bigipGtmAppNotAvail": "bigipGtmAppNotAvail", "bigipGtmAppObjAvail": "bigipGtmAppObjAvail", "bigipGtmAppObjNotAvail": "bigipGtmAppObjNotAvail", "bigipGtmBig3dSslCertExpired": "bigipGtmBig3dSslCertExpired", "bigipGtmBig3dSslCertWillExpire": "bigipGtmBig3dSslCertWillExpire", "bigipGtmBoxAvail": "bigipGtmBoxAvail", "bigipGtmBoxNotAvail": "bigipGtmBoxNotAvail", "bigipGtmDcAvail": "bigipGtmDcAvail", "bigipGtmDcDisabled": "bigipGtmDcDisabled", "bigipGtmDcEnabled": "bigipGtmDcEnabled", "bigipGtmDcNotAvail": "bigipGtmDcNotAvail", "bigipGtmJoinedGroup": "bigipGtmJoinedGroup", "bigipGtmKeyGenerationExpiration": "bigipGtmKeyGenerationExpiration", "bigipGtmKeyGenerationRollover": "bigipGtmKeyGenerationRollover", "bigipGtmLeftGroup": "bigipGtmLeftGroup", "bigipGtmLinkAvail": "bigipGtmLinkAvail", "bigipGtmLinkDisabled": "bigipGtmLinkDisabled", "bigipGtmLinkEnabled": "bigipGtmLinkEnabled", "bigipGtmLinkNotAvail": "bigipGtmLinkNotAvail", "bigipGtmPoolAvail": "bigipGtmPoolAvail", "bigipGtmPoolDisabled": "bigipGtmPoolDisabled", "bigipGtmPoolEnabled": "bigipGtmPoolEnabled", "bigipGtmPoolMbrAvail": "bigipGtmPoolMbrAvail", "bigipGtmPoolMbrDisabled": "bigipGtmPoolMbrDisabled", "bigipGtmPoolMbrEnabled": "bigipGtmPoolMbrEnabled", "bigipGtmPoolMbrNotAvail": "bigipGtmPoolMbrNotAvail", "bigipGtmPoolNotAvail": "bigipGtmPoolNotAvail", "bigipGtmProberPoolDisabled": "bigipGtmProberPoolDisabled", "bigipGtmProberPoolEnabled": "bigipGtmProberPoolEnabled", "bigipGtmProberPoolMbrDisabled": "bigipGtmProberPoolMbrDisabled", "bigipGtmProberPoolMbrEnabled": "bigipGtmProberPoolMbrEnabled", "bigipGtmProberPoolMbrStatusChange": "bigipGtmProberPoolMbrStatusChange", "bigipGtmProberPoolMbrStatusChangeReason": "bigipGtmProberPoolMbrStatusChangeReason", "bigipGtmProberPoolStatusChange": "bigipGtmProberPoolStatusChange", "bigipGtmProberPoolStatusChangeReason": "bigipGtmProberPoolStatusChangeReason", "bigipGtmRequestRateLimiterEngaged": "bigipGtmRequestRateLimiterEngaged", "bigipGtmServerAvail": "bigipGtmServerAvail", "bigipGtmServerDisabled": "bigipGtmServerDisabled", "bigipGtmServerEnabled": "bigipGtmServerEnabled", "bigipGtmServerNotAvail": "bigipGtmServerNotAvail", "bigipGtmSslCertExpired": "bigipGtmSslCertExpired", "bigipGtmSslCertWillExpire": "bigipGtmSslCertWillExpire", "bigipGtmVsAvail": "bigipGtmVsAvail", "bigipGtmVsDisabled": "bigipGtmVsDisabled", "bigipGtmVsEnabled": "bigipGtmVsEnabled", "bigipGtmVsNotAvail": "bigipGtmVsNotAvail", "bigipGtmWideIpAvail": "bigipGtmWideIpAvail", "bigipGtmWideIpDisabled": "bigipGtmWideIpDisabled", "bigipGtmWideIpEnabled": "bigipGtmWideIpEnabled", "bigipGtmWideIpNotAvail": "bigipGtmWideIpNotAvail", "bigipHardDiskFailure": "bigipHardDiskFailure", "bigipInetPortExhaustion": "bigipInetPortExhaustion", "bigipLibhalBladePoweredOff": "bigipLibhalBladePoweredOff", "bigipLibhalDiskBayRemoved": "bigipLibhalDiskBayRemoved", "bigipLibhalSensorAlarmCritical": "bigipLibhalSensorAlarmCritical", "bigipLibhalSsdLogicalDiskRemoved": "bigipLibhalSsdLogicalDiskRemoved", "bigipLibhalSsdPhysicalDiskRemoved": "bigipLibhalSsdPhysicalDiskRemoved", "bigipLicenseExpired": "bigipLicenseExpired", "bigipLicenseFailed": "bigipLicenseFailed", "bigipLogAlert": "bigipLogAlert", "bigipLogCrit": "bigipLogCrit", "bigipLogEmerg": "bigipLogEmerg", "bigipLogErr": "bigipLogErr", "bigipLogWarning": "bigipLogWarning", "bigipLtmVsAvail": "bigipLtmVsAvail", "bigipLtmVsDisabled": "bigipLtmVsDisabled", "bigipLtmVsEnabled": "bigipLtmVsEnabled", "bigipLtmVsUnavail": "bigipLtmVsUnavail", "bigipMemberRate": "bigipMemberRate", "bigipNetLinkDown": "bigipNetLinkDown", "bigipNodeDown": "bigipNodeDown", "bigipNodeRate": "bigipNodeRate", "bigipNodeUp": "bigipNodeUp", "bigipPacketRejected": "bigipPacketRejected", "bigipPsAbsent": "bigipPsAbsent", "bigipPsPowerOff": "bigipPsPowerOff", "bigipPsPowerOn": "bigipPsPowerOn", "bigipRaidDiskFailure": "bigipRaidDiskFailure", "bigipServiceDown": "bigipServiceDown", "bigipServiceUp": "bigipServiceUp", "bigipSsdMwiNearThreshold": "bigipSsdMwiNearThreshold", "bigipSsdMwiReachedThreshold": "bigipSsdMwiReachedThreshold", "bigipSslLimitExceeded": "bigipSslLimitExceeded", "bigipStandby": "bigipStandby", "bigipStandByFail": "bigipStandByFail", "bigipSystemCheckAlertCurrentHigh": "bigipSystemCheckAlertCurrentHigh", "bigipSystemCheckAlertCurrentLow": "bigipSystemCheckAlertCurrentLow", "bigipSystemCheckAlertFanSpeedLow": "bigipSystemCheckAlertFanSpeedLow", "bigipSystemCheckAlertMilliVoltageHigh": "bigipSystemCheckAlertMilliVoltageHigh", "bigipSystemCheckAlertMilliVoltageLow": "bigipSystemCheckAlertMilliVoltageLow", "bigipSystemCheckAlertPowerHigh": "bigipSystemCheckAlertPowerHigh", "bigipSystemCheckAlertPowerLow": "bigipSystemCheckAlertPowerLow", "bigipSystemCheckAlertTempHigh": "bigipSystemCheckAlertTempHigh", "bigipSystemCheckAlertVoltageHigh": "bigipSystemCheckAlertVoltageHigh", "bigipSystemCheckAlertVoltageLow": "bigipSystemCheckAlertVoltageLow", "bigipSystemShutdown": "bigipSystemShutdown", "bigipTamdAlert": "bigipTamdAlert", "bigipTrafficGroupActivate": "bigipTrafficGroupActivate", "bigipTrafficGroupActive": "bigipTrafficGroupActive", "bigipTrafficGroupDeactivate": "bigipTrafficGroupDeactivate", "bigipTrafficGroupForcedOffline": "bigipTrafficGroupForcedOffline", "bigipTrafficGroupOffline": "bigipTrafficGroupOffline", "bigipTrafficGroupStandby": "bigipTrafficGroupStandby", "bigipUnsolicitedRepliesExceededThreshold": "bigipUnsolicitedRepliesExceededThreshold", "bigipUpdateError": "bigipUpdateError", "bigipUpdatePriority": "bigipUpdatePriority", "bigipUpdateServer": "bigipUpdateServer", "bigipVcmpAlertsVcmpHBDetected": "bigipVcmpAlertsVcmpHBDetected", "bigipVcmpAlertsVcmpHBLost": "bigipVcmpAlertsVcmpHBLost", "bigipVcmpAlertsVcmpPowerOff": "bigipVcmpAlertsVcmpPowerOff", "bigipVcmpAlertsVcmpPowerOn": "bigipVcmpAlertsVcmpPowerOn", "bigipVirtualRate": "bigipVirtualRate", "coldStart": "coldStart", "emASMSigInstallComplete": "emASMSigInstallComplete", "emASMSigInstallFailed": "emASMSigInstallFailed", "emASMSigUpdateAvailable": "emASMSigUpdateAvailable", "emASMSigUpdateFailed": "emASMSigUpdateFailed", "emCertificateExpiration": "emCertificateExpiration", "emCpuUsage": "emCpuUsage", "emDeviceActiveMode": "emDeviceActiveMode", "emDeviceClockSkew": "emDeviceClockSkew", "emDeviceConfigSettingChanged": "emDeviceConfigSettingChanged", "emDeviceConfigSync": "emDeviceConfigSync", "emDeviceForcedOfflineMode": "emDeviceForcedOfflineMode", "emDeviceImpaired": "emDeviceImpaired", "emDeviceOfflineMode": "emDeviceOfflineMode", "emDeviceStandbyMode": "emDeviceStandbyMode", "emDeviceUnreachable": "emDeviceUnreachable", "emDiskUsage": "emDiskUsage", "emGatherServiceContractFailure": "emGatherServiceContractFailure", "emHaSyncFailed": "emHaSyncFailed", "emHotfixInstallComplete": "emHotfixInstallComplete", "emHotfixInstallFailed": "emHotfixInstallFailed", "emMemoryUsage": "emMemoryUsage", "emPerformanceStorageCap": "emPerformanceStorageCap", "emPerformanceStorageDays": "emPerformanceStorageDays", "emPerformanceThreshold": "emPerformanceThreshold", "emRaidDriveFailureDetected": "emRaidDriveFailureDetected", "emRaidDriveRebuildComplete": "emRaidDriveRebuildComplete", "emSchedBackupFailed": "emSchedBackupFailed", "emScheduledArchiveFailed": "emScheduledArchiveFailed", "emServiceContractExpiry": "emServiceContractExpiry", "emSoftwareInstallComplete": "emSoftwareInstallComplete", "emSoftwareInstallFailed": "emSoftwareInstallFailed", "emStatsCollectionRateCap": "emStatsCollectionRateCap", "emStatsDBConnectivityLost": "emStatsDBConnectivityLost", "emStatsDBConnectivityRestored": "emStatsDBConnectivityRestored", "fallingAlarm": "fallingAlarm", "ipv6IfStateChange": "ipv6IfStateChange", "linkDown": "linkDown", "linkUp": "linkUp", "mteEventSetFailure": "mteEventSetFailure", "mteTriggerFailure": "mteTriggerFailure", "mteTriggerFalling": "mteTriggerFalling", "mteTriggerFired": "mteTriggerFired", "mteTriggerRising": "mteTriggerRising", "netSnmpExampleHeartbeatNotification": "netSnmpExampleHeartbeatNotification", "newRoot": "newRoot", "nsNotifyRestart": "nsNotifyRestart", "nsNotifyShutdown": "nsNotifyShutdown", "nsNotifyStart": "nsNotifyStart", "risingAlarm": "risingAlarm", "schedActionFailure": "schedActionFailure", "smScriptAbort": "smScriptAbort", "smScriptException": "smScriptException", "smScriptResult": "smScriptResult", "topologyChange": "topologyChange", "ucdShutdown": "ucdShutdown", "ucdStart": "ucdStart", "warmStart": "warmStart" } }, "vUSP": { "vf": { "ctsf-xxx": "vCTS" }, "vfc": { "vCTS - CFED": "vCTS - CFED", "vCTS - Config": "vCTS - Config", "vCTS - DFED": "vCTS - DFED", "vCTS - TAFE-fsd": "vCTS - TAFE-fsd", "vCTS - GLS": "vCTS - GLS", "vCTS - XXX": "vCTS - XXX", "vCTS - Management Interface": "vCTS - Management Interface", "vCTS - SPFE-pfe": "vCTS - SPFE-pfe", "vCTS - DNS": "vCTS - DNS", "vCTS - SPFE-spd": "vCTS - SPFE-spd", "vCTS - SPFE-spt": "vCTS - SPFE-spt", "vCTS - TAFE-tas": "vCTS - TAFE-tas" }, "location": { "SNDGCA06": "San Diego(core site) A06", "SNDGCA64": "San Diego(core site) A64", "SNANTXCA": "San Antonio(core site)", "KSCYMO09": "Kansas City(core site)", "kings_mountain": "Kings Mountain(AMG)", "Secaucus": "Secaucus(AMG)", "lisle": "Lisle(AMG)", "concord": "Concord(AMG)", "houston": "Houston(AMG)", "akron": "Akron(AMG)" }, "alarmCondition": { "acrTemporaryBufferOverload": "acrTemporaryBufferOverload", "adnsExtendedTTLcaching": "adnsExtendedTTLcaching", "adnsQueryFailureCaching": "adnsQueryFailureCaching", "adnsQueueCongestion": "adnsQueueCongestion", "asdaCommunicationFailure": "asdaCommunicationFailure", "asdaRequestQueue": "asdaRequestQueue", "capacityLicenseKeyExpiration": "capacityLicenseKeyExpiration", "capacityLicenseKeyNearExpiration": "capacityLicenseKeyNearExpiration", "capacityLicenseKeyValidationError": "capacityLicenseKeyValidationError", "cardConnectionLost": "cardConnectionLost", "ccdbCommunicationFailure": "ccdbCommunicationFailure", "cpiAlrmCritical": "cpiAlrmCritical", "cpiAlrmMajor": "cpiAlrmMajor", "cpiAlrmMinor": "cpiAlrmMinor", "cpiAlrmWarning": "cpiAlrmWarning", "cpiAsrtEsc": "cpiAsrtEsc", "cpiAsrtNonEsc": "cpiAsrtNonEsc", "cpiAsrtNonEscCritical": "cpiAsrtNonEscCritical", "cpiAsrtNonEscMajor": "cpiAsrtNonEscMajor", "cpiAsrtNonEscMinor": "cpiAsrtNonEscMinor", "cpiAudErrCount": "cpiAudErrCount", "cpiAudManAct": "cpiAudManAct", "cpiAudNewEvent": "cpiAudNewEvent", "cpiCompleteRateAlarm": "cpiCompleteRateAlarm", "cpiCTS3xxFailRate": "cpiCTS3xxFailRate", "cpiCTS4xxFailRate": "cpiCTS4xxFailRate", "cpiCTS5xxFailRate": "cpiCTS5xxFailRate", "cpiCTS6xxFailRate": "cpiCTS6xxFailRate", "cpiCTSSIPRetransmitInvite": "cpiCTSSIPRetransmitInvite", "cpiCTSSIPRetransmitNonInvite": "cpiCTSSIPRetransmitNonInvite", "cpiDropMGAllocConnReq": "cpiDropMGAllocConnReq", "cpiDropRateAlarm": "cpiDropRateAlarm", "cpiExceptionService": "cpiExceptionService", "cpiFailRateAlarm": "cpiFailRateAlarm", "cpiFailSCTPFastRetransIncr": "cpiFailSCTPFastRetransIncr", "cpiFailSCTPFastRetransRate": "cpiFailSCTPFastRetransRate", "cpiFailSCTPSRTT1Incr": "cpiFailSCTPSRTT1Incr", "cpiFailSCTPSRTT2Incr": "cpiFailSCTPSRTT2Incr", "cpiFailSCTPT3RetransIncr": "cpiFailSCTPT3RetransIncr", "cpiFailSCTPT3RetransRate": "cpiFailSCTPT3RetransRate", "cpiFileSysUsage": "cpiFileSysUsage", "cpiMemAllocFail": "cpiMemAllocFail", "cpiNumOfLICDRDel": "cpiNumOfLICDRDel", "cpiReinitServiceSelf": "cpiReinitServiceSelf", "cpiSIPRetransmitInvite": "cpiSIPRetransmitInvite", "cpiSIPRetransmitNonInvite": "cpiSIPRetransmitNonInvite", "cpiSS7DropSCTPPktsRcvd": "cpiSS7DropSCTPPktsRcvd", "cpiSS7FailSCTPFastRetransRate": "cpiSS7FailSCTPFastRetransRate", "cpiStabilityAlarm": "cpiStabilityAlarm", "cpuOverload": "cpuOverload", "databaseConnectionLost": "databaseConnectionLost", "databaseReplicationLinkDown": "databaseReplicationLinkDown", "databaseSizeExhausted": "databaseSizeExhausted", "dbHighCpuUtilization": "dbHighCpuUtilization", "dbOffline": "dbOffline", "dbStatusUnexpected": "dbStatusUnexpected", "degradedResource": "degradedResource", "degrow": "degrow", "deviceServerCxnLost": "deviceServerCxnLost", "diamLinkDown": "diamLinkDown", "diamMaxClientsExceeded": "diamMaxClientsExceeded", "dnsThreshold": "dnsThreshold", "ethernetError": "ethernetError", "ethernetLinkDown": "ethernetLinkDown", "externalConnectivity": "externalConnectivity", "featureLicenseExpiration": "featureLicenseExpiration", "featureLicenseKeyNearExpiration": "featureLicenseKeyNearExpiration", "featureLockValidationError": "featureLockValidationError", "fqdnError": "fqdnError", "fru": "fru", "gatewayCongestion": "gatewayCongestion", "gatewayForcedOOS": "gatewayForcedOOS", "gatewayProvisioningError": "gatewayProvisioningError", "gatewayUnreachable": "gatewayUnreachable", "gatewayUnregistered": "gatewayUnregistered", "globalParameterNotFound": "globalParameterNotFound", "glsInvalidCellId": "glsInvalidCellId", "glsServerUnavailable": "glsServerUnavailable", "grow": "grow", "h248MessageBufferDepletion": "h248MessageBufferDepletion", "hlrSyncConnection": "hlrSyncConnection", "hlrSyncQueue": "hlrSyncQueue", "hostDown": "hostDown", "hostReset": "hostReset", "invalidGateway": "invalidGateway", "iriLinkDown": "iriLinkDown", "ldapServerConnectionLost": "ldapServerConnectionLost", "lispBufferFullExternalLIG": "lispBufferFullExternalLIG", "llcDown": "llcDown", "logicalLinkDown": "logicalLinkDown", "logicalLinkNotFound": "logicalLinkNotFound", "logRotateThreshold": "logRotateThreshold", "memoryOverload": "memoryOverload", "nodeConfigFailure": "nodeConfigFailure", "nodeGroupOOS": "nodeGroupOOS", "nodeOOS": "nodeOOS", "nonCompliantFaultGroupMemberState": "nonCompliantFaultGroupMemberState", "nonCsAddrChannelDepletion": "nonCsAddrChannelDepletion", "numberOfTuplesInUse": "numberOfTuplesInUse", "osSecInfoModificationDetected": "osSecInfoModificationDetected", "osSecInformationMissing": "osSecInformationMissing", "osSecUnexpectedInformation": "osSecUnexpectedInformation", "pdnsMySqlReplication": "pdnsMySqlReplication", "pktCorruptionDetectedViaRCCLANCheck": "pktCorruptionDetectedViaRCCLANCheck", "platformCommandFailure": "platformCommandFailure", "pmDataNotCollected": "pmDataNotCollected", "prdbConnectWithAlternateFailure": "prdbConnectWithAlternateFailure", "prdbSyncDataToAlternateFailure": "prdbSyncDataToAlternateFailure", "preAllocatedResourceOverload": "preAllocatedResourceOverload", "prifSocketError": "prifSocketError", "processDown": "processDown", "processNotStarted": "processNotStarted", "provisioningInhibitedMode": "provisioningInhibitedMode", "prsCallInstanceExceeded": "prsCallInstanceExceeded", "prsCpuOverload": "prsCpuOverload", "prsDatabaseMigrationFailure": "prsDatabaseMigrationFailure", "prsFailureToConnectWithPRDB": "prsFailureToConnectWithPRDB", "prsQueueExceeded": "prsQueueExceeded", "rccInhibitedMode": "rccInhibitedMode", "remotedbLinkDown": "remotedbLinkDown", "remoteQueryServerFailure": "remoteQueryServerFailure", "restore": "restore", "serviceCFGDataTimestampError": "serviceCFGDataTimestampError", "serviceCommCxnLost": "serviceCommCxnLost", "serviceOnewayCommunication": "serviceOnewayCommunication", "sheddingOverload": "sheddingOverload", "simxml": "simxml", "sipLinkSetMaxQuarantineList": "sipLinkSetMaxQuarantineList", "sipLinkSetUnavailable": "sipLinkSetUnavailable", "sipLinkUnavailable": "sipLinkUnavailable", "smdiSocketError": "smdiSocketError", "socketError": "socketError", "softwareAllocatedResourceOverload": "softwareAllocatedResourceOverload", "softwareComponentDown": "softwareComponentDown", "softwareComponentStandbyNotReady": "softwareComponentStandbyNotReady", "softwareLicense": "softwareLicense", "svcdegrow": "svcdegrow", "svcgrow": "svcgrow", "swVersionMismatch": "swVersionMismatch", "tftpDownloadCorrupt": "tftpDownloadCorrupt", "timeStampValueOutOfSystemRange": "timeStampValueOutOfSystemRange", "tlsInitError": "tlsInitError", "transactionHandlerBlockDepletion": "transactionHandlerBlockDepletion", "upgrade": "upgrade", "usageOfSyncTable": "usageOfSyncTable", "utHttpProxyConnectionDown": "utHttpProxyConnectionDown", "wpifSocketError": "wpifSocketError", "BackupFailure": "BackupFailure", "Configuration": "Configuration", "COTRecordTransferFailure": "COTRecordTransferFailure", "CPMUSERDATAINCONSITENCY": "CPMUSERDATAINCONSITENCY", "CPMUSERDATARESTORED": "CPMUSERDATARESTORED", "EventQueueCapacity": "EventQueueCapacity", "ICMPFailure": "ICMPFailure", "IPsecConfig": "IPsecConfig", "LinkDown": "LinkDown", "NotifyDisabled": "NotifyDisabled", "NotifyLocked": "NotifyLocked", "NumTL1MeasThresh": "NumTL1MeasThresh", "RADIUSTOLDAPFAILURE": "RADIUSTOLDAPFAILURE", "ROOTACCESSDENIED": "ROOTACCESSDENIED", "ROOTFTPVIOLATION": "ROOTFTPVIOLATION", "ROOTLOGINVIOLATION": "ROOTLOGINVIOLATION", "ROOTSSHLOGINVIOLATION": "ROOTSSHLOGINVIOLATION", "SetupAAAFailure": "SetupAAAFailure", "SNETrapOverload": "SNETrapOverload", "SNMPAuthenticationFailure": "SNMPAuthenticationFailure", "SNMPFailure": "SNMPFailure", "SUTOROOTFAILURE": "SUTOROOTFAILURE", "SYSTEMTrapOverload": "SYSTEMTrapOverload", "ThresholdCrossed": "ThresholdCrossed", "UndiscoveredObject": "UndiscoveredObject", "WriteAAAFailure": "WriteAAAFailure" } }, "Trinity": { "vf": { "aSBG": "aSBG", "nSBG": "nSBG", "tSBG": "tSBG" }, "vfc": { "pld": "PL - Payload Processor", "scr": "SC - System Controller" }, "location": { "SNDGCA64": "San Diego SAN3", "ALPRGAED": "Alpharetta PDK1", "LSLEILAA":"Lisle DPA3" }, "alarmCondition": { "A+Fallback+Operation+will+soon+be+started":"A Fallback Operation will soon be started", "BRM%2C+Auto+Export+Backup+Failed":"BRM, Auto Export Backup Failed", "BRM%2C+Scheduled+Backup+Failed":"BRM, Scheduled Backup Failed", "COM+SA%2C+AMF+Component+Cleanup+Failed":"COM SA, AMF Component Cleanup Failed", "COM+SA%2C+AMF+Component+Instantiation+Failed":"COM SA, AMF Component Instantiation Failed", "COM+SA%2C+AMF+SI+Unassigned":"COM SA, AMF SI Unassigned", "COM+SA%2C+CLM+Cluster+Node+Unavailable":"COM SA, CLM Cluster Node Unavailable", "COM+SA%2C+MDF+Detected+Model+Error":"COM SA, MDF Detected Model Error", "COM+SA%2C+Proxy+Status+of+a+Component+Changed+to+Unproxied":"COM SA, Proxy Status of a Component Changed to Unproxied", "File+Management%2C+Number+of+Files+in+FileGroup+Exceeded":"File Management, Number of Files in FileGroup Exceeded", "File+Management%2C+Max+Size+in+FileGroup+Exceeded":"File Management, Max Size in FileGroup Exceeded", "LOTC+Disk+Replication+Communication":"LOTC Disk Replication Communication", "LOTC+Disk+Replication+Consistency":"LOTC Disk Replication Consistency", "LOTC+Disk+Usage":"LOTC Disk Usage", "LOTC+memory+Usage":"LOTC memory Usage", "LOTC+Time+Synchronization":"LOTC Time Synchronization", "SBG%2C+BGF+Control+Link+Down":"SBG, BGF Control Link Down", "SBG%2C+BGF+Control+Link+Disabled":"SBG, BGF Control Link Disabled", "SBG%2C+BGF+Control+Link+Enabled":"SBG, BGF Control Link Enabled", "SBG%2C+BGF+Control+Link+Remote+Locked":"SBG, BGF Control Link Remote Locked", "SBG%2C+Charging+Data+Storage+Maximum+Records+Reached":"SBG, Charging Data Storage Maximum Records Reached", "SBG%2C+Charging+Server+Rejects+Charging+Data":"SBG, Charging Server Rejects Charging Data", "SBG%2C+Excessive+Packet+Rate+Detected+":"SBG, Excessive Packet Rate Detected ", "SBG%2C+High+Amount+of+Malformed+Packets+Received":"SBG, High Amount of Malformed Packets Received", "SBG%2C+High+Amount+of+STUN+Packets+Detected":"SBG, High Amount of STUN Packets Detected", "SBG%2C+High+Amount+of+TCP+SYN+Packets+Received":"SBG, High Amount of TCP SYN Packets Received", "SBG%2C+High+Amount+of+UDP+Packets+Received+":"SBG, High Amount of UDP Packets Received ", "SBG%2C+IP+Address+Blocked+Due+to+Excessive+Packet+Rate":"SBG, IP Address Blocked Due to Excessive Packet Rate", "SBG%2C+Lost+Connectivity+to+Diameter+Server":"SBG, Lost Connectivity to Diameter Server", "SBG%2C+Mated+Pair+out+of+Service":"SBG, Mated Pair out of Service", "SBG%2C+Network+Unavailable+for+Media+Handling":"SBG, Network Unavailable for Media Handling", "SBG%2C+Non-emergency+Call+Released+to+Free+Resources+for+Emergency+Call":"SBG, Non-emergency Call Released to Free Resources for Emergency Call", "SBG%2C+Not+Enough+Disk+Space+for+Storing+Charging+Data":"SBG, Not Enough Disk Space for Storing Charging Data", "SBG%2C+Payload+Mated+Pair+Failure":"SBG, Payload Mated Pair Failure", "SBG%2C+Payload+Processor+Failure":"SBG, Payload Processor Failure", "SBG%2C+Processor+Overloaded":"SBG, Processor Overloaded", "SBG%2C+Registered+User+Set+in+Quarantine":"SBG, Registered User Set in Quarantine", "SBG%2C+Registration+Contacts+Exceed+Configured+Threshold":"SBG, Registration Contacts Exceed Configured Threshold", "SBG%2C+Sequential+Restart+Initiated":"SBG, Sequential Restart Initiated", "SBG%2C+SIP+Abuse+Detected":"SBG, SIP Abuse Detected", "SBG%2C+SIP+Network+Locked":"SBG, SIP Network Locked", "SBG%2C+SIP+Next+Hop+Reachable":"SBG, SIP Next Hop Reachable", "SBG%2C+SIP+Next+Hop+Unreachable":"SBG, SIP Next Hop Unreachable", "SBG%2C+SIP+Request+Rejected+by+Network+Throttling":"SBG, SIP Request Rejected by Network Throttling", "SBG%2C+TLS+Certificate+Imported":"SBG, TLS Certificate Imported", "SBG%2C+Trace+Recording+Session+Number+Limit+Reached":"SBG, Trace Recording Session Number Limit Reached", "SBG%2C+Trace+Session+Deactivated":"SBG, Trace Session Deactivated", "SBG%2C+Trace+Session+Times+Out":"SBG, Trace Session Times Out", "SBG%2C+Unknown+Media+Type+or+Payload+Type":"SBG, Unknown Media Type or Payload Type" } }, "vProbes": { "vf": { }, "vfc": { }, "location": { }, "alarmCondition": { } } } } }
-globalPropsPartialTest={"collector": {"topicPublishes": {"DCAE-COLLECTOR-UCSNMP": "DCAE-COLLECTOR-UCSNMP", "GFP-IP--SNMP-TRAPS" : "GFP-IP--SNMP-TRAPS" } }, "string_match": { "topicPublishes": { "DCAE-CL-EVENT": "DCAE-CL-EVENT" }, "aaiMatchingFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "ProvStatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "aaiSendFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "Provstatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "eventSourceType": { "f5BigIP": "f5BigIP", "vSBG_Alarms": "vSBG_Alarms", "vCTS_Alarms": "vCTS_Alarms" }, "eventSeverity": { "NORMAL": "NORMAL", "not-NORMAL": "not-NORMAL", "WARNING": "WARNING", "MINOR": "MINOR", "MAJOR": "MAJOR", "CRITICAL": "CRITICAL" }, "timeWindow": 0, "ageLimit": 1600, "outputEventName": { "": "", "OnSet": "OnSet", "Abatement": "Abatement" }, "createClosedLoopEventId": { "Initial": "Initial", "Close": "Close" } }, "global": { "service": { "": "", "vUSP": "vUSP", "vSCP": "vSCP", "vProbes": "vProbes" } }, "policy": { "timeout": 5, "recipe": { "": "", "restart": "Restart", "rebuild": "Rebuild", "migrate": "Migrate" }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { "vCTS": "vCTS", "v3CDB": "v3CDB", "vUDR": "vUDR", "vCOM": "vCOM", "vRAR": "vRAR", "vLCS": "vLCS", "vUDR-BE": "vUDR-BE", "vDBE": "vDBE" }, "parentPolicyConditions": { "Failure_Retries": "Failure: Max Retries Exceeded", "Failure_Timeout": "Failure: Time Limit Exceeded", "Failure_Exception": "Failure: Exception", "Failure": "Failure: Other", "Success": "Success" } }}
-ui.location.default={"location":{"SNDGCA64":"San Diego SAN3","ALPRGAED":"Alpharetta PDK1","LSLEILAA":"Lisle DPA3"}}
-ui.alarm.default={"alarmCondition":{"A+Fallback+Operation+will+soon+be+started":"A Fallback Operation will soon be started","BRM%2C+Auto+Export+Backup+Failed":"BRM, Auto Export Backup Failed","BRM%2C+Scheduled+Backup+Failed":"BRM, Scheduled Backup Failed","COM+SA%2C+AMF+Component+Cleanup+Failed":"COM SA, AMF Component Cleanup Failed","COM+SA%2C+AMF+Component+Instantiation+Failed":"COM SA, AMF Component Instantiation Failed","COM+SA%2C+AMF+SI+Unassigned":"COM SA, AMF SI Unassigned","COM+SA%2C+CLM+Cluster+Node+Unavailable":"COM SA, CLM Cluster Node Unavailable","COM+SA%2C+MDF+Detected+Model+Error":"COM SA, MDF Detected Model Error","COM+SA%2C+Proxy+Status+of+a+Component+Changed+to+Unproxied":"COM SA, Proxy Status of a Component Changed to Unproxied","File+Management%2C+Number+of+Files+in+FileGroup+Exceeded":"File Management, Number of Files in FileGroup Exceeded","File+Management%2C+Max+Size+in+FileGroup+Exceeded":"File Management, Max Size in FileGroup Exceeded","LOTC+Disk+Replication+Communication":"LOTC Disk Replication Communication","LOTC+Disk+Replication+Consistency":"LOTC Disk Replication Consistency","LOTC+Disk+Usage":"LOTC Disk Usage","LOTC+memory+Usage":"LOTC memory Usage","LOTC+Time+Synchronization":"LOTC Time Synchronization","SBG%2C+BGF+Control+Link+Down":"SBG, BGF Control Link Down","SBG%2C+BGF+Control+Link+Disabled":"SBG, BGF Control Link Disabled","SBG%2C+BGF+Control+Link+Enabled":"SBG, BGF Control Link Enabled","SBG%2C+BGF+Control+Link+Remote+Locked":"SBG, BGF Control Link Remote Locked","SBG%2C+Charging+Data+Storage+Maximum+Records+Reached":"SBG, Charging Data Storage Maximum Records Reached","SBG%2C+Charging+Server+Rejects+Charging+Data":"SBG, Charging Server Rejects Charging Data","SBG%2C+Excessive+Packet+Rate+Detected+":"SBG, Excessive Packet Rate Detected ","SBG%2C+High+Amount+of+Malformed+Packets+Received":"SBG, High Amount of Malformed Packets Received","SBG%2C+High+Amount+of+STUN+Packets+Detected":"SBG, High Amount of STUN Packets Detected","SBG%2C+High+Amount+of+TCP+SYN+Packets+Received":"SBG, High Amount of TCP SYN Packets Received","SBG%2C+High+Amount+of+UDP+Packets+Received+":"SBG, High Amount of UDP Packets Received ","SBG%2C+IP+Address+Blocked+Due+to+Excessive+Packet+Rate":"SBG, IP Address Blocked Due to Excessive Packet Rate","SBG%2C+Lost+Connectivity+to+Diameter+Server":"SBG, Lost Connectivity to Diameter Server","SBG%2C+Mated+Pair+out+of+Service":"SBG, Mated Pair out of Service","SBG%2C+Network+Unavailable+for+Media+Handling":"SBG, Network Unavailable for Media Handling","SBG%2C+Non-emergency+Call+Released+to+Free+Resources+for+Emergency+Call":"SBG, Non-emergency Call Released to Free Resources for Emergency Call","SBG%2C+Not+Enough+Disk+Space+for+Storing+Charging+Data":"SBG, Not Enough Disk Space for Storing Charging Data","SBG%2C+Payload+Mated+Pair+Failure":"SBG, Payload Mated Pair Failure","SBG%2C+Payload+Processor+Failure":"SBG, Payload Processor Failure","SBG%2C+Processor+Overloaded":"SBG, Processor Overloaded","SBG%2C+Registered+User+Set+in+Quarantine":"SBG, Registered User Set in Quarantine","SBG%2C+Registration+Contacts+Exceed+Configured+Threshold":"SBG, Registration Contacts Exceed Configured Threshold","SBG%2C+Sequential+Restart+Initiated":"SBG, Sequential Restart Initiated","SBG%2C+SIP+Abuse+Detected":"SBG, SIP Abuse Detected","SBG%2C+SIP+Network+Locked":"SBG, SIP Network Locked","SBG%2C+SIP+Next+Hop+Reachable":"SBG, SIP Next Hop Reachable","SBG%2C+SIP+Next+Hop+Unreachable":"SBG, SIP Next Hop Unreachable","SBG%2C+SIP+Request+Rejected+by+Network+Throttling":"SBG, SIP Request Rejected by Network Throttling","SBG%2C+TLS+Certificate+Imported":"SBG, TLS Certificate Imported","SBG%2C+Trace+Recording+Session+Number+Limit+Reached":"SBG, Trace Recording Session Number Limit Reached","SBG%2C+Trace+Session+Deactivated":"SBG, Trace Session Deactivated","SBG%2C+Trace+Session+Times+Out":"SBG, Trace Session Times Out","SBG%2C+Unknown+Media+Type+or+Payload+Type":"SBG, Unknown Media Type or Payload Type"}}
-
+###
+# ============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.
+###
+
+#
+# Poperties for CLDS
+#
+#
+#
+# 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":[]}
+
+#
+# DCAE request build properties
+#
+dcae.template={"properties":{"service_name":"","service_ids":[],"vnf_ids":[],"location_ids":[]},"template":{"string_matching":{"dcae":{"inputTopic":"","outputTopic":"","closedLoopControlName":"","closedLoopEventClient":"configuration.dcae.microservice.stringmatcher.xml","policyName":"","policyScope":"service=vSCP;resource=F5;type=configuration","policyVersion":"v0.0.1","serviceConfigurations":{}}}}}
+dcae.decode.service_ids={"vUSP":["vUSP - vCTS"],"Trinity":["ASBGv TLS VNF","ASBGv No TLS","ASBGv (NO TLS) VNF","ASBGv TLS","NSBGv VNF","NSBGv"],"vSCP":["AKRON_vSCP_F5_FW-SVC/vSCP_F5_FW 1","ALLEN_vSCP_F5_FW-SVC/vSCP_F5_FW 1"],"vProbes":["vProbes - FW"]}
+#
+# SDC request blueprint properties
+#
+sdc.template={}
+sdc.decode.service_ids={}
+#
+#
+# General Policy request properties
+#
+policy.ecomp.name=DCAE
+policy.pdp.group=default
+policy.ms.type=MicroService
+policy.ms.policyNamePrefix=Config_MS_
+policy.op.type=BRMS_Param
+policy.op.policyNamePrefix=Config_BRMS_Param_
+
+# by service: xxx
+#
+#
+# String Match MicroService Policy request build properties
+#
+# default
+sm.template={"service":"StringMatchingConfiguration","location":"Edge","uuid":"TestUUID","policyName":"???","description":"from clds","configName":"com.att.d2.policy.StringMatchingConfiguration","templateVersion":"1604","priority":"4","version":"1610","policyScope":"resource=F5,service=vSCP,type=configuration,closedLoopControlName=vSCP_F5_Firewall_d925ed73-8231-4d02-9545-db4e101f88f8","content":{"serviceConfigurations":{}}}
+# by service: vSCP
+sm.template.vSCP={"service":"StringMatchingConfiguration","location":"Edge","uuid":"TestUUID","policyName":"???","description":"from clds","configName":"com.att.d2.policy.StringMatchingConfiguration","templateVersion":"1604","priority":"4","version":"0.1.0-SNAPSHOT","policyScope":"resource=F5,service=vSCP,type=configuration,closedLoopControlName=vSCP_F5_Firewall_d925ed73-8231-4d02-9545-db4e101f88f8","content":{"serviceConfigurations":{}}}
+sm.sc.template={}
+#
+# default
+sm.rulegroup=true
+# by service: vSCP
+sm.rulegroup.vSCP=false
+#
+#
+# Operational Policy request build properties
+#
+op.policyDescription=from clds
+# default
+op.templateName=ClosedLoopGuardvUSP
+op.operationTopic=APPC-CL
+op.notificationTopic=POLICY-CL-MGT
+op.controller=1610-vUSP
+# by service: vSCP
+op.templateName.vSCP=ClosedLoopTemplate
+op.controller.vSCP=1607-f5fw
+op.eNodeB.templateName=CLeNodeB
+op.eNodeB.operationTopic=com.onap.sdnr.RanCLRequest-v00
+op.eNodeB.notificationTopic=com.onap-policy.IST-ENODEB-CL
+op.eNodeB.controller=ClosedLoop-eNodeB
+op.eNodeB.recipe={"eNodeBRecipes":[{"Actor":"AOTS","Recipe":"checkENodeBTicketHours","ParentPolicy":"","PPConditions":"","Retry":"0","TimeLimit":"120"},{"Actor":"AOTS","Recipe":"checkEquipmentStatus","ParentPolicy":"checkENodeBTicketHours","PPConditions":"Success","Retry":"0","TimeLimit":"120"},{"Actor":"AOTS","Recipe":"checkEimStatus","ParentPolicy":"checkEquipmentStatus","PPConditions":"Success","Retry":"0","TimeLimit":"120"},{"Actor":"AOTS","Recipe":"checkMaintenanceWindow","ParentPolicy":"checkEimStatus","PPConditions":"Success","Retry":"0","TimeLimit":"120"},{"Actor":"SDNR","Recipe":"Reset","ParentPolicy":"checkMaintenanceWindow","PPConditions":"Success","Retry":"","TimeLimit":""}]}
+op.eNodeB.timeWindow=35
+op.eNodeB.limit=2
+op.eNodeB.period=10s
+#
+# sdc service properties
+sdc.catalog.url=http://127.0.0.1:8080/sdc/v1/catalog/
+sdc.hostUrl=http://127.0.0.1:8080
+sdc.serviceUrl=http://127.0.0.1:8080/sdc/v1/catalog/services
+sdc.serviceUsername=test
+sdc.servicePassword=123456
+sdc.artifactLabel=blueprintclampcockpit
+sdc.sdcX-InstanceID=CLAMP
+sdc.artifactType=DCAE_INVENTORY_BLUEPRINT
+sdc.locationArtifactLabel=LocationClampCockpit
+sdc.locationArtifactType=DCAE_INVENTORY_JSON
+sdc.InstanceID=X-ONAP-InstanceID
+#
+#
+#
+ui.location.default={"SNDGCA64":"San Diego SAN3","ALPRGAED":"Alpharetta PDK1","LSLEILAA":"Lisle DPA3","MDTWNJC1":"FTL_C_location1","MDTWNJC2":"FTL_C_location2","MDTWNJ21":"FTL_L_location1","MDTWNJ22":"FTL_L_location2","RDM2WAGPLCP":"ISTFTL_location"}
+ui.alarm.default={"Reports a transient alarm condition when an incoming CDR cannot be decoded successfully":"vCCF: Reports a transient alarm condition when an incoming CDR cannot be decoded successfully","Reports a transient alarm condition when an incoming ACR message cannot be decoded successfully":"vCCF: Reports a transient alarm condition when an incoming ACR message cannot be decoded successfully","Reports a transient alarm condition when a CDR validation fails":"vCCF: Reports a transient alarm condition when a CDR validation fails","Reports a transient alarm condition when an incoming GTP' message cannot be decoded successfully":"vCCF: Reports a transient alarm condition when an incoming GTP' message cannot be decoded successfully","Reports a transient alarm condition when an incoming CDR file cannot be decoded successfully":"vCCF: Reports a transient alarm condition when an incoming CDR file cannot be decoded successfully","Reports a transient alarm condition when an incoming Sh/Dh file cannot be decoded successfully":"vCCF: Reports a transient alarm condition when an incoming Sh/Dh file cannot be decoded successfully","Reports a transient alarm condition when an incoming ACR message is in conflict with former ACR in one diameter session":"vCCF: Reports a transient alarm condition when an incoming ACR message is in conflict with former ACR in one diameter session","Reports a transient alarm condition when an outgoing Ro message send fails":"vCCF: Reports a transient alarm condition when an outgoing Ro message send fails","Reports a transient alarm condition when an outgoing GTP' message send fails":"vCCF: Reports a transient alarm condition when an outgoing GTP' message send fails","Reports a transient alarm condition when an outgoing Sh/Dh message send fails":"vCCF: Reports a transient alarm condition when an outgoing Sh/Dh message send fails","Reports an alarm when build or send Rf message fail":"vCCF: Reports an alarm when build or send Rf message fail","Reports a transient alarm condition when an abnormal incoming CCA message":"vCCF: Reports a transient alarm condition when an abnormal incoming CCA message","Reports a transient alarm condition when there is an abnormal incoming Sh/Dh message":"vCCF: Reports a transient alarm condition when there is an abnormal incoming Sh/Dh message","For Rf interface, if IeCCF receives a message with incorrect value for session id.":"vCCF: For Rf interface, if IeCCF receives a message with incorrect value for session id.","Reports an alarm when CPU usage exceeds the major threshold, the local database exceeds the critical threshold, or the ACR partition exceeds the major threshold":"vCCF: Reports an alarm when CPU usage exceeds the major threshold, the local database exceeds the critical threshold, or the ACR partition exceeds the major threshold","Reports an alarm when CPU usage exceeds the minor threshold, the local database exceeds the major threshold, or the ACR partition exceeds the minor threshold":"vCCF: Reports an alarm when CPU usage exceeds the minor threshold, the local database exceeds the major threshold, or the ACR partition exceeds the minor threshold","Reports an alarm when CPU usage exceeds the critical threshold, the local database exceeds the major threshold, or the CDR partition exceeds the critical threshold":"vCCF: Reports an alarm when CPU usage exceeds the critical threshold, the local database exceeds the major threshold, or the CDR partition exceeds the critical threshold","Reports an alarm when CPU usage exceeds the major threshold or CDR partition exceeds the major threshold":"vCCF: Reports an alarm when CPU usage exceeds the major threshold or CDR partition exceeds the major threshold","Reports an alarm when external DB usage exceeds the major threshold":"vCCF: Reports an alarm when external DB usage exceeds the major threshold","If IeCCF comes to the status \\"Stop processing ACR records in ACRDB\\".":"vCCF: If IeCCF comes to the status \\"Stop processing ACR records in ACRDB\\".","If IeCCF comes to the status \\"Flush ACR is invoked\\".":"vCCF: If IeCCF comes to the status \\"Flush ACR is invoked\\".","Reports a transient alarm condition when the workflow definition table is provisioned wrongly":"vCCF: Reports a transient alarm condition when the workflow definition table is provisioned wrongly","Reports a transient alarm condition when the Action Definition table is provisioned wrongly":"vCCF: Reports a transient alarm condition when the Action Definition table is provisioned wrongly","Reports a transient alarm condition when the Ro Host Configuration is provisioned wrongly":"vCCF: Reports a transient alarm condition when the Ro Host Configuration is provisioned wrongly","Reports a transient alarm condition when the Sh Host Configuration is provisioned wrongly":"vCCF: Reports a transient alarm condition when the Sh Host Configuration is provisioned wrongly","Reports a transient alarm condition when a specific dictionary or rule does not exist":"vCCF: Reports a transient alarm condition when a specific dictionary or rule does not exist","Reports a transient alarm condition when failure occurs when mapping Rf message to XDR":"vCCF: Reports a transient alarm condition when failure occurs when mapping Rf message to XDR","Reports a transient alarm condition when failure occurs in aggregating process":"vCCF: Reports a transient alarm condition when failure occurs in aggregating process","Reports a transient alarm condition when failure happens in correlating process":"vCCF: Reports a transient alarm condition when failure happens in correlating process","Reports a transient alarm condition when failure occurs in generating CDR":"vCCF: Reports a transient alarm condition when failure occurs in generating CDR","Reports a transient alarm condition when failure occurs in constructing CCR message from XDR":"vCCF: Reports a transient alarm condition when failure occurs in constructing CCR message from XDR","Reports a transient alarm condition when an ACR/XER/BER/INC record write to bad file":"vCCF: Reports a transient alarm condition when an ACR/XER/BER/INC record write to bad file","Reports an alarm condition when aggregation or correlation central database connection is lost":"vCCF: Reports an alarm condition when aggregation or correlation central database connection is lost","Reports an alarm condition when a specific failure happens in database operations":"vCCF: Reports an alarm condition when a specific failure happens in database operations","Reports an alarm condition when DB capacity has been consumed to critical threshold":"vCCF: Reports an alarm condition when DB capacity has been consumed to critical threshold","Reports an alarm condition when DB capacity has been consumed to major threshold":"vCCF: Reports an alarm condition when DB capacity has been consumed to major threshold","Reports an alarm condition when DB capacity has been consumed to minor threshold.":"vCCF: Reports an alarm condition when DB capacity has been consumed to minor threshold.","Reports an alarm condition when application cannot deliver CDR to CDRSCH subsystem":"vCCF: Reports an alarm condition when application cannot deliver CDR to CDRSCH subsystem","Reports an alarm condition when some fields of ACR file header have error value and this ACR file cannot be processed further":"vCCF: Reports an alarm condition when some fields of ACR file header have error value and this ACR file cannot be processed further","Reports an alarm condition when some fields of ACR file header have invalid value and this ACR file can be processed further":"vCCF: Reports an alarm condition when some fields of ACR file header have invalid value and this ACR file can be processed further","Reports an alarm condition when the ACR file loses some ACR records":"vCCF: Reports an alarm condition when the ACR file loses some ACR records","Reports an alarm condition when some fields of ACR record header have error value and this ACR record and the following ACR records cannot be processed further":"vCCF: Reports an alarm condition when some fields of ACR record header have error value and this ACR record and the following ACR records cannot be processed further","Reports an alarm condition when error occurs in processing CDR/ACR files":"vCCF: Reports an alarm condition when error occurs in processing CDR/ACR files","Reports an alarm condition when CDR partition has been consumed to critical threshold":"vCCF: Reports an alarm condition when CDR partition has been consumed to critical threshold","Reports an alarm condition when CDR partition has been consumed to major threshold.":"vCCF: Reports an alarm condition when CDR partition has been consumed to major threshold.","Reports an alarm condition when CDR partition has been consumed to minor threshold":"vCCF: Reports an alarm condition when CDR partition has been consumed to minor threshold","Reports an alarm condition when ACR partition has been consumed to critical threshold":"vCCF: Reports an alarm condition when ACR partition has been consumed to critical threshold","Reports an alarm condition when ACR partition has been consumed to major threshold":"vCCF: Reports an alarm condition when ACR partition has been consumed to major threshold","Reports an alarm condition when ACR partition has been consumed to minor threshold":"vCCF: Reports an alarm condition when ACR partition has been consumed to minor threshold","Reports an alarm condition when CPU consumption reaches critical threshold":"vCCF: Reports an alarm condition when CPU consumption reaches critical threshold","Reports an alarm condition when CPU consumption reaches major threshold":"vCCF: Reports an alarm condition when CPU consumption reaches major threshold","Reports an alarm condition when CPU consumption reaches minor threshold":"vCCF: Reports an alarm condition when CPU consumption reaches minor threshold","Service shall monitor * number of partial CDR * number of incompleted CDR * number of unacceptable CDR If any one exceeds a configurable threshold in a configrable interval.":"vCCF: Service shall monitor * number of partial CDR * number of incompleted CDR * number of unacceptable CDR If any one exceeds a configurable threshold in a configrable interval.","CDR size exceed the platform capacity.":"vCCF: CDR size exceed the platform capacity.","Service shall monitor number of ACR without AII AVP, If it exceeds a configurable threshold in a configurable interval.":"vCCF: Service shall monitor number of ACR without AII AVP, If it exceeds a configurable threshold in a configurable interval.","Service shall monitor CDR cut due to ECCF_ACRNUMBER_IN_DB, If it exceeds a configurable threshold in a configurable interval.":"vCCF: Service shall monitor CDR cut due to ECCF_ACRNUMBER_IN_DB, If it exceeds a configurable threshold in a configurable interval.","External Node of this Cluster is overload":"vCCF: External Node of this Cluster is overload","bdb_high_latency":"vCCF-vDB: bdb_high_latency","bdb_high_throughput":"vCCF-vDB: bdb_high_throughput","bdb_size":"vCCF-vDB: bdb_size","cluster_inconsistent_rl_sw":"vCCF-vDB: cluster_inconsistent_rl_sw","cluster_node_remove_abort_failed":"vCCF-vDB: cluster_node_remove_abort_failed","cluster_node_remove_failed":"vCCF-vDB: cluster_node_remove_failed","cluster_ram_overcommit":"vCCF-vDB: cluster_ram_overcommit","cluster_rebalance_failed":"vCCF-vDB: cluster_rebalance_failed","cluster_too_few_nodes_for_replication":"vCCF-vDB: cluster_too_few_nodes_for_replication","node_cpu_utilization":"vCCF-vDB: node_cpu_utilization","node_ephemeral_storage":"vCCF-vDB: node_ephemeral_storage","node_failed":"vCCF-vDB: node_failed","node_memory":"vCCF-vDB: node_memory","node_net_throughput":"vCCF-vDB: node_net_throughput","node_offline_failed":"vCCF-vDB: node_offline_failed","node_offline_abort_failed":"vCCF-vDB: node_offline_abort_failed","node_online_failed":"vCCF-vDB: node_online_failed","OAM NODE-<OAME-hostname> IS NOT ACTIVE ":"vCCF-vDB: OAM NODE-<OAME-hostname> IS NOT ACTIVE ","LSS_asdaCommunicationFailure":"vCTS: LSS_asdaCommunicationFailure","LSS_ccdbCommunicationFailure":"vCTS: LSS_ccdbCommunicationFailure","LSS_cpiCTS3xxFailRate":"vCTS: LSS_cpiCTS3xxFailRate","LSS_cpiCTS4xxFailRate":"vCTS: LSS_cpiCTS4xxFailRate","LSS_cpiCTS5xxFailRate":"vCTS: LSS_cpiCTS5xxFailRate","LSS_cpiCTS6xxFailRate":"vCTS: LSS_cpiCTS6xxFailRate","LSS_cpiCTSSIPRetransmitInvite":"vCTS: LSS_cpiCTSSIPRetransmitInvite","LSS_cpiCTSSIPRetransmitNonInvite":"vCTS: LSS_cpiCTSSIPRetransmitNonInvite","LSS_glsInvalidCellId":"vCTS: LSS_glsInvalidCellId","LSS_glsServerUnavailable":"vCTS: LSS_glsServerUnavailable","LSS_hlrSyncConnection":"vCTS: LSS_hlrSyncConnection","LSS_hlrSyncQueue":"vCTS: LSS_hlrSyncQueue","LSS_lispBufferFullExternalLIG":"vCTS: LSS_lispBufferFullExternalLIG","LSS_prdbConnectWithAlternateFailure":"vCTS: LSS_prdbConnectWithAlternateFailure","LSS_prdbSyncDataToAlternateFailure":"vCTS: LSS_prdbSyncDataToAlternateFailure","LSS_preAllocatedResourceOverload":"vCTS: LSS_preAllocatedResourceOverload","LSS_prifSocketError":"vCTS: LSS_prifSocketError","LSS_prsCallInstanceExceeded":"vCTS: LSS_prsCallInstanceExceeded","LSS_prsCpuOverload":"vCTS: LSS_prsCpuOverload","LSS_prsDatabaseMigrationFailure":"vCTS: LSS_prsDatabaseMigrationFailure","LSS_prsFailureToConnectWithPRDB":"vCTS: LSS_prsFailureToConnectWithPRDB","LSS_prsQueueExceeded":"vCTS: LSS_prsQueueExceeded","LSS_smdiSocketError":"vCTS: LSS_smdiSocketError","LSS_socketError":"vCTS: LSS_socketError","LSS_softwareComponentDown":"vCTS: LSS_softwareComponentDown","LSS_tlsInitError":"vCTS: LSS_tlsInitError","LSS_usageOfSyncTable":"vCTS: LSS_usageOfSyncTable","LSS_utHttpProxyConnectionDown ":"vCTS: LSS_utHttpProxyConnectionDown ","LSS_wpifSocketError":"vCTS: LSS_wpifSocketError","LSS_acrTemporaryBufferOverload":"vCTS: LSS_acrTemporaryBufferOverload","LSS_adnsExtendedTTLcaching":"vCTS: LSS_adnsExtendedTTLcaching","LSS_adnsQueryFailureCaching":"vCTS: LSS_adnsQueryFailureCaching","LSS_adnsQueueCongestion":"vCTS: LSS_adnsQueueCongestion","LSS_asdaRequestQueue":"vCTS: LSS_asdaRequestQueue","LSS_capacityLicenseKeyExpiration":"vCTS: LSS_capacityLicenseKeyExpiration","LSS_capacityLicenseKeyNearExpiration":"vCTS: LSS_capacityLicenseKeyNearExpiration","LSS_capacityLicenseKeyValidationError":"vCTS: LSS_capacityLicenseKeyValidationError","LSS_cardConnectionLost":"vCTS: LSS_cardConnectionLost","LSS_cpiAlrmCritical":"vCTS: LSS_cpiAlrmCritical","LSS_cpiAlrmMajor":"vCTS: LSS_cpiAlrmMajor","LSS_cpiAlrmMinor":"vCTS: LSS_cpiAlrmMinor","LSS_cpiAlrmWarning":"vCTS: LSS_cpiAlrmWarning","LSS_cpiAsrtEsc":"vCTS: LSS_cpiAsrtEsc","LSS_cpiAsrtNonEsc":"vCTS: LSS_cpiAsrtNonEsc","LSS_cpiAsrtNonEscCritical":"vCTS: LSS_cpiAsrtNonEscCritical","LSS_cpiAsrtNonEscMajor":"vCTS: LSS_cpiAsrtNonEscMajor","LSS_cpiAsrtNonEscMinor":"vCTS: LSS_cpiAsrtNonEscMinor","LSS_cpiAudErrCount":"vCTS: LSS_cpiAudErrCount","LSS_cpiAudManAct":"vCTS: LSS_cpiAudManAct","LSS_cpiAudNewEvent":"vCTS: LSS_cpiAudNewEvent","LSS_cpiCompleteRateAlarm":"vCTS: LSS_cpiCompleteRateAlarm","LSS_cpiDropMGAllocConnReq":"vCTS: LSS_cpiDropMGAllocConnReq","LSS_cpiDropRateAlarm":"vCTS: LSS_cpiDropRateAlarm","LSS_cpiExceptionService":"vCTS: LSS_cpiExceptionService","LSS_cpiFailRateAlarm":"vCTS: LSS_cpiFailRateAlarm","LSS_cpiFailSCTPFastRetransIncr":"vCTS: LSS_cpiFailSCTPFastRetransIncr","LSS_cpiFailSCTPFastRetransRate":"vCTS: LSS_cpiFailSCTPFastRetransRate","LSS_cpiFailSCTPSRTT1Incr":"vCTS: LSS_cpiFailSCTPSRTT1Incr","LSS_cpiFailSCTPSRTT2Incr":"vCTS: LSS_cpiFailSCTPSRTT2Incr","LSS_cpiFailSCTPT3RetransIncr":"vCTS: LSS_cpiFailSCTPT3RetransIncr","LSS_cpiFailSCTPT3RetransRate":"vCTS: LSS_cpiFailSCTPT3RetransRate","LSS_cpiFileSysUsage":"vCTS: LSS_cpiFileSysUsage","LSS_cpiMemAllocFail":"vCTS: LSS_cpiMemAllocFail","LSS_cpiNumOfLICDRDel":"vCTS: LSS_cpiNumOfLICDRDel","LSS_cpiReinitServiceSelf":"vCTS: LSS_cpiReinitServiceSelf","LSS_cpiSIPRetransmitInvite":"vCTS: LSS_cpiSIPRetransmitInvite","LSS_cpiSIPRetransmitNonInvite":"vCTS: LSS_cpiSIPRetransmitNonInvite","LSS_cpiSS7DropSCTPPktsRcvd":"vCTS: LSS_cpiSS7DropSCTPPktsRcvd","LSS_cpiSS7FailSCTPFastRetransRate":"vCTS: LSS_cpiSS7FailSCTPFastRetransRate","LSS_cpiStabilityAlarm":"vCTS: LSS_cpiStabilityAlarm","LSS_cpuOverload":"vCTS: LSS_cpuOverload","LSS_databaseConnectionLost":"vCTS: LSS_databaseConnectionLost","LSS_databaseReplicationLinkDown":"vCTS: LSS_databaseReplicationLinkDown","LSS_databaseSizeExhausted":"vCTS: LSS_databaseSizeExhausted","LSS_dbHighCpuUtilization":"vCTS: LSS_dbHighCpuUtilization","LSS_dbOffline":"vCTS: LSS_dbOffline","LSS_dbStatusUnexpected":"vCTS: LSS_dbStatusUnexpected","LSS_degradedResource":"vCTS: LSS_degradedResource","LSS_degrow":"vCTS: LSS_degrow","LSS_deviceServerCxnLost":"vCTS: LSS_deviceServerCxnLost","LSS_diamLinkDown":"vCTS: LSS_diamLinkDown","LSS_diamMaxClientsExceeded":"vCTS: LSS_diamMaxClientsExceeded","LSS_dnsThreshold":"vCTS: LSS_dnsThreshold","LSS_ethernetError":"vCTS: LSS_ethernetError","LSS_ethernetLinkDown":"vCTS: LSS_ethernetLinkDown","LSS_externalConnectivity":"vCTS: LSS_externalConnectivity","LSS_featureLicenseExpiration":"vCTS: LSS_featureLicenseExpiration","LSS_featureLicenseKeyNearExpiration":"vCTS: LSS_featureLicenseKeyNearExpiration","LSS_featureLockValidationError":"vCTS: LSS_featureLockValidationError","LSS_fqdnError":"vCTS: LSS_fqdnError","LSS_fru":"vCTS: LSS_fru","LSS_gatewayCongestion":"vCTS: LSS_gatewayCongestion","LSS_gatewayForcedOOS":"vCTS: LSS_gatewayForcedOOS","LSS_gatewayProvisioningError":"vCTS: LSS_gatewayProvisioningError","LSS_gatewayUnreachable":"vCTS: LSS_gatewayUnreachable","LSS_gatewayUnregistered":"vCTS: LSS_gatewayUnregistered","LSS_globalParameterNotFound":"vCTS: LSS_globalParameterNotFound","LSS_grow":"vCTS: LSS_grow","LSS_h248MessageBufferDepletion":"vCTS: LSS_h248MessageBufferDepletion","LSS_hostDown":"vCTS: LSS_hostDown","LSS_hostReset":"vCTS: LSS_hostReset","LSS_invalidGateway":"vCTS: LSS_invalidGateway","LSS_iriLinkDown":"vCTS: LSS_iriLinkDown","LSS_ldapServerConnectionLost":"vCTS: LSS_ldapServerConnectionLost","LSS_llcDown":"vCTS: LSS_llcDown","LSS_logicalLinkDown":"vCTS: LSS_logicalLinkDown","LSS_logicalLinkNotFound":"vCTS: LSS_logicalLinkNotFound","LSS_logRotateThreshold":"vCTS: LSS_logRotateThreshold","LSS_memoryOverload":"vCTS: LSS_memoryOverload","LSS_nodeConfigFailure":"vCTS: LSS_nodeConfigFailure","LSS_nodeGroupOOS":"vCTS: LSS_nodeGroupOOS","LSS_nodeOOS":"vCTS: LSS_nodeOOS","LSS_nonCompliantFaultGroupMemberState":"vCTS: LSS_nonCompliantFaultGroupMemberState","LSS_nonCsAddrChannelDepletion":"vCTS: LSS_nonCsAddrChannelDepletion","LSS_numberOfTuplesInUse":"vCTS: LSS_numberOfTuplesInUse","LSS_osSecInfoModificationDetected":"vCTS: LSS_osSecInfoModificationDetected","LSS_osSecInformationMissing":"vCTS: LSS_osSecInformationMissing","LSS_osSecUnexpectedInformation":"vCTS: LSS_osSecUnexpectedInformation","LSS_pdnsMySqlReplication":"vCTS: LSS_pdnsMySqlReplication","LSS_pktCorruptionDetectedViaRCCLANCheck":"vCTS: LSS_pktCorruptionDetectedViaRCCLANCheck","LSS_platformCommandFailure":"vCTS: LSS_platformCommandFailure","LSS_pmDataNotCollected":"vCTS: LSS_pmDataNotCollected","LSS_processDown":"vCTS: LSS_processDown","LSS_processNotStarted":"vCTS: LSS_processNotStarted","LSS_provisioningInhibitedMode":"vCTS: LSS_provisioningInhibitedMode","LSS_rccInhibitedMode":"vCTS: LSS_rccInhibitedMode","LSS_remotedbLinkDown":"vCTS: LSS_remotedbLinkDown","LSS_remoteQueryServerFailure":"vCTS: LSS_remoteQueryServerFailure","LSS_restore":"vCTS: LSS_restore","LSS_serviceCFGDataTimestampError":"vCTS: LSS_serviceCFGDataTimestampError","LSS_serviceCommCxnLost":"vCTS: LSS_serviceCommCxnLost","LSS_serviceOnewayCommunication":"vCTS: LSS_serviceOnewayCommunication","LSS_sheddingOverload":"vCTS: LSS_sheddingOverload","LSS_simxml":"vCTS: LSS_simxml","LSS_sipLinkSetMaxQuarantineList":"vCTS: LSS_sipLinkSetMaxQuarantineList","LSS_sipLinkSetUnavailable":"vCTS: LSS_sipLinkSetUnavailable","LSS_sipLinkUnavailable":"vCTS: LSS_sipLinkUnavailable","LSS_softwareAllocatedResourceOverload":"vCTS: LSS_softwareAllocatedResourceOverload","LSS_softwareComponentStandbyNotReady":"vCTS: LSS_softwareComponentStandbyNotReady","LSS_softwareLicense":"vCTS: LSS_softwareLicense","LSS_svcdegrow":"vCTS: LSS_svcdegrow","LSS_svcgrow":"vCTS: LSS_svcgrow","LSS_swVersionMismatch":"vCTS: LSS_swVersionMismatch","LSS_tftpDownloadCorrupt":"vCTS: LSS_tftpDownloadCorrupt","LSS_timeStampValueOutOfSystemRange":"vCTS: LSS_timeStampValueOutOfSystemRange","LSS_transactionHandlerBlockDepletion":"vCTS: LSS_transactionHandlerBlockDepletion","LSS_upgrade":"vCTS: LSS_upgrade","SYS_BackupFailure":"vCTS: SYS_BackupFailure","SYS_Configuration":"vCTS: SYS_Configuration","SYS_COTRecordTransferFailure":"vCTS: SYS_COTRecordTransferFailure","SYS_CPM_USERDATA_INCONSITENCY":"vCTS: SYS_CPM_USERDATA_INCONSITENCY","SYS_CPM_USERDATA_RESTORED":"vCTS: SYS_CPM_USERDATA_RESTORED","SYS_EventQueueCapacity":"vCTS: SYS_EventQueueCapacity","SYS_ICMPFailure":"vCTS: SYS_ICMPFailure","SYS_IPsecConfig":"vCTS: SYS_IPsecConfig","SYS_LinkDown":"vCTS: SYS_LinkDown","SYS_NotifyDisabled":"vCTS: SYS_NotifyDisabled","SYS_NotifyLocked":"vCTS: SYS_NotifyLocked","SYS_NumTL1MeasThresh":"vCTS: SYS_NumTL1MeasThresh","SYS_RADIUS_TO_LDAP_FAILURE":"vCTS: SYS_RADIUS_TO_LDAP_FAILURE","SYS_ROOT_ACCESS_DENIED":"vCTS: SYS_ROOT_ACCESS_DENIED","SYS_ROOT_FTP_VIOLATION":"vCTS: SYS_ROOT_FTP_VIOLATION","SYS_ROOT_LOGIN_VIOLATION":"vCTS: SYS_ROOT_LOGIN_VIOLATION","SYS_ROOT_SSH_LOGIN_VIOLATION":"vCTS: SYS_ROOT_SSH_LOGIN_VIOLATION","SYS_SetupAAAFailure":"vCTS: SYS_SetupAAAFailure","SYS_SNETrapOverload":"vCTS: SYS_SNETrapOverload","SYS_SNMPAuthenticationFailure":"vCTS: SYS_SNMPAuthenticationFailure","SYS_SNMPFailure":"vCTS: SYS_SNMPFailure","SYS_SU_TO_ROOT_FAILURE":"vCTS: SYS_SU_TO_ROOT_FAILURE","SYS_SYSTEMTrapOverload":"vCTS: SYS_SYSTEMTrapOverload","SYS_ThresholdCrossed":"vCTS: SYS_ThresholdCrossed","SYS_UndiscoveredObject":"vCTS: SYS_UndiscoveredObject","SYS_WriteAAAFailure":"vCTS: SYS_WriteAAAFailure","jnxSpaceDiskUsageRising":"vDBE-EMS-Juniper: jnxSpaceDiskUsageRising","jnxSpaceDiskUsageRisingCleared":"vDBE-EMS-Juniper: jnxSpaceDiskUsageRisingCleared","jnxSpaceSwapUsageRising":"vDBE-EMS-Juniper: jnxSpaceSwapUsageRising","jnxSpaceSwapUsageRisingCleared":"vDBE-EMS-Juniper: jnxSpaceSwapUsageRisingCleared","jnxSpaceCPULARising":"vDBE-EMS-Juniper: jnxSpaceCPULARising","jnxSpaceCPULARisingCleared":"vDBE-EMS-Juniper: jnxSpaceCPULARisingCleared","jnxSpaceWebpProxyProcessDown":"vDBE-EMS-Juniper: jnxSpaceWebpProxyProcessDown","jnxSpaceWebpProxyProcessUp":"vDBE-EMS-Juniper: jnxSpaceWebpProxyProcessUp","jnxSpaceNMAProcessDown":"vDBE-EMS-Juniper: jnxSpaceNMAProcessDown","jnxSpaceNMAProcessUp":"vDBE-EMS-Juniper: jnxSpaceNMAProcessUp","jnxSpaceJbossProcessDown":"vDBE-EMS-Juniper: jnxSpaceJbossProcessDown","jnxSpaceJbossProcessUp":"vDBE-EMS-Juniper: jnxSpaceJbossProcessUp","jnxSpaceMysqlProcessDown":"vDBE-EMS-Juniper: jnxSpaceMysqlProcessDown","jnxSpaceMysqlProcessUp":"vDBE-EMS-Juniper: jnxSpaceMysqlProcessUp","jnxSpacePostgresqlProcessDown":"vDBE-EMS-Juniper: jnxSpacePostgresqlProcessDown","jnxSpacePostgresqlProcessUp":"vDBE-EMS-Juniper: jnxSpacePostgresqlProcessUp","jnxSpaceWatchdogStopped":"vDBE-EMS-Juniper: jnxSpaceWatchdogStopped","jnxSpaceWatchdogStarted":"vDBE-EMS-Juniper: jnxSpaceWatchdogStarted","jnxSpaceSNAProcessDown":"vDBE-EMS-Juniper: jnxSpaceSNAProcessDown","jnxSpaceSNAProcessUp":"vDBE-EMS-Juniper: jnxSpaceSNAProcessUp","jnxSpaceNodeDown":"vDBE-EMS-Juniper: jnxSpaceNodeDown","jnxSpaceNodeUp":"vDBE-EMS-Juniper: jnxSpaceNodeUp"," jnxSpaceNodeRemoval":"vDBE-EMS-Juniper: jnxSpaceNodeRemoval","jnxCmCfgChange":"vDBE-Juniper: jnxCmCfgChange","jnxCmRescueChange":"vDBE-Juniper: jnxCmRescueChange","jnxEventTrap":"vDBE-Juniper: jnxEventTrap","jnxJsFwAuthFailure":"vDBE-Juniper: jnxJsFwAuthFailure","jnxJsFwAuthServiceUp":"vDBE-Juniper: jnxJsFwAuthServiceUp","jnxJsFwAuthServiceDown":"vDBE-Juniper: jnxJsFwAuthServiceDown","jnxJsFwAuthCapacityExceeded":"vDBE-Juniper: jnxJsFwAuthCapacityExceeded","jnxJsIdpSignatureUpdate":"vDBE-Juniper: jnxJsIdpSignatureUpdate","jnxJsIdpAttackLog":"vDBE-Juniper: jnxJsIdpAttackLog","jnxJsSrcNatPoolThresholdStatus":"vDBE-Juniper: jnxJsSrcNatPoolThresholdStatus","jnxJsNatRuleThresholdStatus":"vDBE-Juniper: jnxJsNatRuleThresholdStatus","jnxJsScreenAttack":"vDBE-Juniper: jnxJsScreenAttack","jnxJsScreenCfgChange":"vDBE-Juniper: jnxJsScreenCfgChange","jnxJsAvPatternUpdateTrap":"vDBE-Juniper: jnxJsAvPatternUpdateTrap","jnxJsChassisClusterSwitchover":"vDBE-Juniper: jnxJsChassisClusterSwitchover","jnxJsChClusterIntfTrap":"vDBE-Juniper: jnxJsChClusterIntfTrap","jnxJsChClusterSpuMismatchTrap":"vDBE-Juniper: jnxJsChClusterSpuMismatchTrap","jnxJsChClusterWeightTrap":"vDBE-Juniper: jnxJsChClusterWeightTrap","jnxLicenseGraceExpired":"vDBE-Juniper: jnxLicenseGraceExpired","jnxLicenseGraceAboutToExpire":"vDBE-Juniper: jnxLicenseGraceAboutToExpire","jnxLicenseAboutToExpire":"vDBE-Juniper: jnxLicenseAboutToExpire","jnxLicenseInfringeCumulative":"vDBE-Juniper: jnxLicenseInfringeCumulative","jnxLicenseInfringeSingle":"vDBE-Juniper: jnxLicenseInfringeSingle","jnxNatAddrPoolThresholdStatus":"vDBE-Juniper: jnxNatAddrPoolThresholdStatus","jnxSyslogTrap":"vDBE-Juniper: jnxSyslogTrap","jnxAccessAuthServiceUp":"vDBE-Juniper: jnxAccessAuthServiceUp","jnxAccessAuthServiceDown":"vDBE-Juniper: jnxAccessAuthServiceDown","jnxAccessAuthServerDisabled":"vDBE-Juniper: jnxAccessAuthServerDisabled","jnxAccessAuthServerEnabled":"vDBE-Juniper: jnxAccessAuthServerEnabled","jnxAccessAuthAddressPoolHighThreshold":"vDBE-Juniper: jnxAccessAuthAddressPoolHighThreshold","jnxAccessAuthAddressPoolAbateThreshold":"vDBE-Juniper: jnxAccessAuthAddressPoolAbateThreshold","jnxAccessAuthAddressPoolOutOfAddresses":"vDBE-Juniper: jnxAccessAuthAddressPoolOutOfAddresses","jnxAccessAuthAddressPoolOutOfMemory":"vDBE-Juniper: jnxAccessAuthAddressPoolOutOfMemory","LEVEL_WARNING_CPU":"vMRF: LEVEL_WARNING_CPU","LEVEL_MAJOR_CPU":"vMRF: LEVEL_MAJOR_CPU","LEVEL_CRITICAL_CPU":"vMRF: LEVEL_CRITICAL_CPU","LEVEL_WARNING_MEM":"vMRF: LEVEL_WARNING_MEM","LEVEL_MAJOR_MEM":"vMRF: LEVEL_MAJOR_MEM","LEVEL_CRITICAL_MEM":"vMRF: LEVEL_CRITICAL_MEM","LEVEL_WARNING_DISK":"vMRF: LEVEL_WARNING_DISK","LEVEL_MAJOR_DISK":"vMRF: LEVEL_MAJOR_DISK","LEVEL_CRITICAL_DISK":"vMRF: LEVEL_CRITICAL_DISK","LEVEL_WARNING_RTPBANDWIDTH":"vMRF: LEVEL_WARNING_RTPBANDWIDTH","LEVEL_MAJOR_RTPBANDWIDTH":"vMRF: LEVEL_MAJOR_RTPBANDWIDTH","LEVEL_CRITICAL_RTPBANDWIDTH":"vMRF: LEVEL_CRITICAL_RTPBANDWIDTH","LEVEL_WARNING_RTPINPACKETLOSS":"vMRF: LEVEL_WARNING_RTPINPACKETLOSS","LEVEL_MAJOR_RTPINPACKETLOSS":"vMRF: LEVEL_MAJOR_RTPINPACKETLOSS","LEVEL_CRITICAL_RTPINPACKETLOSS":"vMRF: LEVEL_CRITICAL_RTPINPACKETLOSS","LEVEL_WARNING_RTPOUTPACKETLOSS":"vMRF: LEVEL_WARNING_RTPOUTPACKETLOSS","LEVEL_MAJOR_RTPOUTPACKETLOSS":"vMRF: LEVEL_MAJOR_RTPOUTPACKETLOSS","LEVEL_CRITICAL_RTPOUTPACKETLOSS":"vMRF: LEVEL_CRITICAL_RTPOUTPACKETLOSS","LEVEL_WARNING_TCPLOSTRETRANSMITRATE":"vMRF: LEVEL_WARNING_TCPLOSTRETRANSMITRATE","LEVEL_MAJOR_TCPLOSTRETRANSMITRATE":"vMRF: LEVEL_MAJOR_TCPLOSTRETRANSMITRATE","LEVEL_CRITICAL_TCPLOSTRETRANSMITRATE":"vMRF: LEVEL_CRITICAL_TCPLOSTRETRANSMITRATE","LEVEL_WARNING_TCPLOSSFAILURERATE":"vMRF: LEVEL_WARNING_TCPLOSSFAILURERATE","LEVEL_MAJOR_TCPLOSSFAILURERATE":"vMRF: LEVEL_MAJOR_TCPLOSSFAILURERATE","LEVEL_CRITICAL_TCPLOSSFAILURERATE":"vMRF: LEVEL_CRITICAL_TCPLOSSFAILURERATE","LEVEL_CRITICAL_RTPLINKDOWN":"vMRF: LEVEL_CRITICAL_RTPLINKDOWN","TARGET_REACHABLE":"vMRF: TARGET_REACHABLE","PUBLICATION_ERROR":"vMRF: PUBLICATION_ERROR","REMOTE_SERVER_SYNCHRONIZATION_ERROR":"vMRF: REMOTE_SERVER_SYNCHRONIZATION_ERROR","TRANSCODER_TOOL_EXEC_ERROR":"vMRF: TRANSCODER_TOOL_EXEC_ERROR","CLIENT_SYNCHRONIZATION_ERROR":"vMRF: CLIENT_SYNCHRONIZATION_ERROR","CLUSTER_UNREACHABLE":"vMRF: CLUSTER_UNREACHABLE","REMOTE_NODE_OFFLINE":"vMRF: REMOTE_NODE_OFFLINE","IPADDR_STOPPED":"vMRF: IPADDR_STOPPED","MRFC_STOPPED":"vMRF: MRFC_STOPPED","MNGT_STOPPED":"vMRF: MNGT_STOPPED","IPADDR_STARTED":"vMRF: IPADDR_STARTED","MRFC_STARTED":"vMRF: MRFC_STARTED","MNGT_STARTED":"vMRF: MNGT_STARTED","VOLATTACH_FAILED":"vMRF: VOLATTACH_FAILED","VOLDETACH_FAILED":"vMRF: VOLDETACH_FAILED","VOLDEL":"vMRF: VOLDEL","VOLCORRUPT":"vMRF: VOLCORRUPT","VOLFOREIGN":"vMRF: VOLFOREIGN","ACTIVE_ALARM_TABLE_PURGE":"vMRF: ACTIVE_ALARM_TABLE_PURGE","GENERIC_FORMER_STATELESS":"vMRF: GENERIC_FORMER_STATELESS","GENERIC_FORMER_STATEFUL":"vMRF: GENERIC_FORMER_STATEFUL","NO_MORE_ALARM_DESCRIPTION":"vMRF: NO_MORE_ALARM_DESCRIPTION","SERVICE_PROCESS_ENDS":"vMRF: SERVICE_PROCESS_ENDS","DEFENSE_STOPPED":"vMRF: DEFENSE_STOPPED","USER_ACCOUNT_LOCKED":"vMRF: USER_ACCOUNT_LOCKED","CONNECTION_SQL_NOT_ESTABLISHED":"vMRF: CONNECTION_SQL_NOT_ESTABLISHED","FALSE_ALARM":"vMRF: FALSE_ALARM","RADIUS SERVER HS":"vMRF: RADIUS SERVER HS","DRM_PACKAGER_IS_NOT_AVAILABLE":"vMRF: DRM_PACKAGER_IS_NOT_AVAILABLE","DRM_LICENSE_BUILDER_IS_NOT_AVAILABLE":"vMRF: DRM_LICENSE_BUILDER_IS_NOT_AVAILABLE","ERROR_WHILE_CREATING_PLAYLIST_MANAGER_FILE":"vMRF: ERROR_WHILE_CREATING_PLAYLIST_MANAGER_FILE","ERROR_WHILE_BUILDING_PLAYLIST_XML_REPRESENTATION":"vMRF: ERROR_WHILE_BUILDING_PLAYLIST_XML_REPRESENTATION","PLAYLIST_FILE_TO_PUBLISH_NOT_FOUND":"vMRF: PLAYLIST_FILE_TO_PUBLISH_NOT_FOUND","COULD_NOT_CONNECT_TO_PVNS_SERVER":"vMRF: COULD_NOT_CONNECT_TO_PVNS_SERVER","HTTP_OR_HTTPCLIENT_EXCEPTION_HAS_OCCURRED":"vMRF: HTTP_OR_HTTPCLIENT_EXCEPTION_HAS_OCCURRED","I/O_ERROR_WHILE_PUBLISHING_PLAYLIST_FILE":"vMRF: I/O_ERROR_WHILE_PUBLISHING_PLAYLIST_FILE","ERROR_WHILE_REQUESTING_SDP_FILE":"vMRF: ERROR_WHILE_REQUESTING_SDP_FILE","ERROR_WHILE_REQUESTING_SDP_FILE:_REMOTE_EXCEPTION":"vMRF: ERROR_WHILE_REQUESTING_SDP_FILE:_REMOTE_EXCEPTION","NO_STREAMING_RESOURCES":"vMRF: NO_STREAMING_RESOURCES","NO_STREAMING_MODULES_REGISTERED":"vMRF: NO_STREAMING_MODULES_REGISTERED","SM_FAILURE":"vMRF: SM_FAILURE","MISSING_FILE_OR_ENCODER":"vMRF: MISSING_FILE_OR_ENCODER","INVALID_RANGE":"vMRF: INVALID_RANGE","THRESHOLD_VALUE_EXCEEDED":"vMRF: THRESHOLD_VALUE_EXCEEDED","TICKET_QUEUE_FULL":"vMRF: TICKET_QUEUE_FULL","PARSING_INITIALIZATION_EXCEPTION":"vMRF: PARSING_INITIALIZATION_EXCEPTION","CUSTOMERCARE_INTERNAL_EXCEPTION":"vMRF: CUSTOMERCARE_INTERNAL_EXCEPTION","PARSING_EXCEPTION":"vMRF: PARSING_EXCEPTION","I/O_PROBLEM":"vMRF: I/O_PROBLEM","INEXISTENT_FILE_OR_FOLDER":"vMRF: INEXISTENT_FILE_OR_FOLDER","FILE_NOT_IN_XML_FORMAT":"vMRF: FILE_NOT_IN_XML_FORMAT","SERVICE_STATE_CHANGE":"vMRF: SERVICE_STATE_CHANGE","MONITORED_FILE_UPDATE_ERROR":"vMRF: MONITORED_FILE_UPDATE_ERROR","MONITORED_RPM_DELETED_ERROR":"vMRF: MONITORED_RPM_DELETED_ERROR","MONITORED_RPM_ADDED_ERROR":"vMRF: MONITORED_RPM_ADDED_ERROR","MONITORED_CHMOD_ERROR":"vMRF: MONITORED_CHMOD_ERROR","MONITORED_CHOWN_ERROR":"vMRF: MONITORED_CHOWN_ERROR","PASSWD_ROOT_ERROR":"vMRF: PASSWD_ROOT_ERROR","PASSWD_ERROR":"vMRF: PASSWD_ERROR","ROOTKIT_ERROR":"vMRF: ROOTKIT_ERROR","STARTUP_ERR_UNDEFINED_PORT":"vMRF: STARTUP_ERR_UNDEFINED_PORT","STARTUP_ERR_FAIL_FIND_HOSTNAME":"vMRF: STARTUP_ERR_FAIL_FIND_HOSTNAME","STARTUP_ERR_CF_MISSING":"vMRF: STARTUP_ERR_CF_MISSING","STARTUP_ERR_FAILED_TO_OPEN_CF":"vMRF: STARTUP_ERR_FAILED_TO_OPEN_CF","STARTUP_ERR_FAILED_TO_BIND_PORT":"vMRF: STARTUP_ERR_FAILED_TO_BIND_PORT","STARTUP_ERR_CFG_UNIT_MISSING":"vMRF: STARTUP_ERR_CFG_UNIT_MISSING","MCTR_INVALID_CODEC_NAME":"vMRF: MCTR_INVALID_CODEC_NAME","RTSP_SERVER_FAILURE":"vMRF: RTSP_SERVER_FAILURE","RTSP_SERVER_QUARANTINE":"vMRF: RTSP_SERVER_QUARANTINE","TRANSCODING_FAILURE":"vMRF: TRANSCODING_FAILURE","FILE_CACHE_FAILURE":"vMRF: FILE_CACHE_FAILURE","STARTUP_ERROR_INITIALIZATION_FAILED":"vMRF: STARTUP_ERROR_INITIALIZATION_FAILED","CONFERENCE_FAILURE":"vMRF: CONFERENCE_FAILURE","PLC_DEGRADATION_LOW":"vMRF: PLC_DEGRADATION_LOW","PLC_DEGRADATION_MEDIUM":"vMRF: PLC_DEGRADATION_MEDIUM","PLC_DEGRADATION_HIGH":"vMRF: PLC_DEGRADATION_HIGH","AUDIO_RESYNCH_LOW":"vMRF: AUDIO_RESYNCH_LOW","AUDIO_RESYNCH_MEDIUM":"vMRF: AUDIO_RESYNCH_MEDIUM","AUDIO_RESYNCH_HIGH":"vMRF: AUDIO_RESYNCH_HIGH","VIDEO_RESYNCH_LOW":"vMRF: VIDEO_RESYNCH_LOW","VIDEO_RESYNCH_MEDIUM":"vMRF: VIDEO_RESYNCH_MEDIUM","VIDEO_RESYNCH_HIGH":"vMRF: VIDEO_RESYNCH_HIGH","PLAY_FAILURES_LOW":"vMRF: PLAY_FAILURES_LOW","PLAY_FAILURES_MEDIUM":"vMRF: PLAY_FAILURES_MEDIUM","PLAY_FAILURES_HIGH":"vMRF: PLAY_FAILURES_HIGH","NOT_ENOUGH_FREE_CONFEREE":"vMRF: NOT_ENOUGH_FREE_CONFEREE","NO_LONGER_FREE_CONFERENCE_ROOM":"vMRF: NO_LONGER_FREE_CONFERENCE_ROOM","STARTUP_ERROR_FAIL_TO_READ_CF":"vMRF: STARTUP_ERROR_FAIL_TO_READ_CF","STARTUP_ERROR_SIP_ADAPTER_INIT":"vMRF: STARTUP_ERROR_SIP_ADAPTER_INIT","STARTUP_ERROR_MONITORING_INIT":"vMRF: STARTUP_ERROR_MONITORING_INIT","REGISTER_ERROR_FAILURE":"vMRF: REGISTER_ERROR_FAILURE","DRI_ERROR_FAILURE":"vMRF: DRI_ERROR_FAILURE","STARTUP_ERROR_STACK_CONFIGURATION":"vMRF: STARTUP_ERROR_STACK_CONFIGURATION","STARTUP_ERROR_CONF":"vMRF: STARTUP_ERROR_CONF","STARTUP_ERROR_UNDEFINED_PORT":"vMRF: STARTUP_ERROR_UNDEFINED_PORT","HOST_REMOVED":"vMRF: HOST_REMOVED","INTERCEPT_THRESHOLD_NB_DIALOG_ALLOCATED":"vMRF: INTERCEPT_THRESHOLD_NB_DIALOG_ALLOCATED","STARTUP_ERROR_STACK_CONF":"vMRF: STARTUP_ERROR_STACK_CONF","STARTUP_ERROR_CONFIGURATION":"vMRF: STARTUP_ERROR_CONFIGURATION","STARTUP_ERROR_FAILED_TO_RETRIEVE_HOSTNAME":"vMRF: STARTUP_ERROR_FAILED_TO_RETRIEVE_HOSTNAME","LEVEL_WARNING_CALL":"vMRF: LEVEL_WARNING_CALL","LEVEL_ALARM_MINOR_CALL":"vMRF: LEVEL_ALARM_MINOR_CALL","LEVEL_ALARM_MAJOR_CALL":"vMRF: LEVEL_ALARM_MAJOR_CALL","LEVEL_ALARM_MRFPoutOfService":"vMRF: LEVEL_ALARM_MRFPoutOfService","MRFP_CALL_REJECTED_Threshold #1":"vMRF: MRFP_CALL_REJECTED_Threshold #1","MRFP_CALL_REJECTED_Threshold #2":"vMRF: MRFP_CALL_REJECTED_Threshold #2","MRFP_CALL_REJECTED_Threshold #3":"vMRF: MRFP_CALL_REJECTED_Threshold #3","MRFP_CALL_RETRIED_Threshold #1":"vMRF: MRFP_CALL_RETRIED_Threshold #1","MRFP_CALL_RETRIED_Threshold #2":"vMRF: MRFP_CALL_RETRIED_Threshold #2","MRFP_CALL_RETRIED_Threshold #3":"vMRF: MRFP_CALL_RETRIED_Threshold #3","STARTUP_PUB_FILE_NOT_PRESENT":"vMRF: STARTUP_PUB_FILE_NOT_PRESENT","STARTUP_INF_FILE_NOT_PRESENT":"vMRF: STARTUP_INF_FILE_NOT_PRESENT","STARTUP_LIC_FILE_NOT_PRESENT":"vMRF: STARTUP_LIC_FILE_NOT_PRESENT","GENERIC_HARDWARE_PROBLEM":"vMRF: GENERIC_HARDWARE_PROBLEM","HARD_DRIVE_PROBLEM":"vMRF: HARD_DRIVE_PROBLEM","NETWORK_LINK_PROBLEM":"vMRF: NETWORK_LINK_PROBLEM","POWER_SUPPLY_PROBLEM":"vMRF: POWER_SUPPLY_PROBLEM","SMART_HARD_DRIVE_PROBLEM":"vMRF: SMART_HARD_DRIVE_PROBLEM","STARTUP_ERROR":"vMRF: STARTUP_ERROR","RESOURCE_NOT_ACCESSIBLE":"vMRF: RESOURCE_NOT_ACCESSIBLE","RESOURCE_ACCESSIBLE":"vMRF: RESOURCE_ACCESSIBLE","RESOURCE_FULL":"vMRF: RESOURCE_FULL","DRI_ALARM":"vMRF: DRI_ALARM","REGISTER_ERROR_CCF":"vMRF: REGISTER_ERROR_CCF","REGISTER_ERROR_EXTERNAL":"vMRF: REGISTER_ERROR_EXTERNAL","TIMEOUT_ERROR":"vMRF: TIMEOUT_ERROR","VXML_ERROR":"vMRF: VXML_ERROR","A Network Element is no longer available due to a connection failure":"vMVM: A Network Element is no longer available due to a connection failure","A MetaSphere server is reporting a fault with the configuration of its connection to MetaView":"vMVM: A MetaSphere server is reporting a fault with the configuration of its connection to MetaView","Configured OBS IPs don't match available OBS nodes. Configured but unavailable nodes include: [<IP address>]. Real nodes not configured include: []":"vMVM: Configured OBS IPs don't match available OBS nodes. Configured but unavailable nodes include: [<IP address>]. Real nodes not configured include: []","Service Assurance Server <IP address> cannot be contacted":"vMVM: Service Assurance Server <IP address> cannot be contacted","The primary MetaView Director has lost contact with the backup MetaView Director":"vMVM: The primary MetaView Director has lost contact with the backup MetaView Director","The active server has lost connection to the standby":"vMVM: The active server has lost connection to the standby","CrashCounter":"vprobes-vBE-Processing: CrashCounter","IsAlive":"vprobes-vBE-Processing: IsAlive","SwRestart":"vprobes-vLB: SwRestart","Repeated exceptions have occurred.":"vSBC-Metaswitch: Repeated exceptions have occurred.","A licensing limit is close to capacity.":"vSBC-Metaswitch: A licensing limit is close to capacity.","One or more feature packs have been breached.":"vSBC-Metaswitch: One or more feature packs have been breached.","The grace period on this Perimeta system will expire in less than 48 hours, after which calls will not be processed.":"vSBC-Metaswitch: The grace period on this Perimeta system will expire in less than 48 hours, after which calls will not be processed.","The grace period on this Perimeta system will expire in less than 7 days, after which calls will not be processed.":"vSBC-Metaswitch: The grace period on this Perimeta system will expire in less than 7 days, after which calls will not be processed.","The license on this Perimeta system will expire in less than 4 weeks.":"vSBC-Metaswitch: The license on this Perimeta system will expire in less than 4 weeks.","A Perimeta blade has become unlicensed.":"vSBC-Metaswitch: A Perimeta blade has become unlicensed.","Perimeta is licensed with a bypass certificate, which is valid until the time displayed.":"vSBC-Metaswitch: Perimeta is licensed with a bypass certificate, which is valid until the time displayed.","The number of licensed instances exceeded a threshold of the licensed limit.":"vSBC-Metaswitch: The number of licensed instances exceeded a threshold of the licensed limit.","The software token on the primary Distributed Capacity Manager will expire on the displayed date.":"vSBC-Metaswitch: The software token on the primary Distributed Capacity Manager will expire on the displayed date.","A capacity limit on the license installed on this Perimeta system does not match the largest limit across all systems in the deployment.":"vSBC-Metaswitch: A capacity limit on the license installed on this Perimeta system does not match the largest limit across all systems in the deployment.","An adjacency has voice quality alerts.":"vSBC-Metaswitch: An adjacency has voice quality alerts.","The number of calls being audited is congested.":"vSBC-Metaswitch: The number of calls being audited is congested.","Session Controller is rejecting calls because there is no valid active call policy set configured.":"vSBC-Metaswitch: Session Controller is rejecting calls because there is no valid active call policy set configured.","A call policy set is inactive because it has been misconfigured.":"vSBC-Metaswitch: A call policy set is inactive because it has been misconfigured.","Session Controller is inactive and rejecting calls.":"vSBC-Metaswitch: Session Controller is inactive and rejecting calls.","Sources have breached minor or major blacklist thresholds.":"vSBC-Metaswitch: Sources have breached minor or major blacklist thresholds.","Sources are blacklisted.":"vSBC-Metaswitch: Sources are blacklisted.","The blacklisting configuration will change as a result of upgrade and some configured blacklists or alerts will no longer be applied.":"vSBC-Metaswitch: The blacklisting configuration will change as a result of upgrade and some configured blacklists or alerts will no longer be applied.","A large number of downgrades and bans have been created as a result of blacklisting.":"vSBC-Metaswitch: A large number of downgrades and bans have been created as a result of blacklisting.","Session Controller is unable to track further sources for blacklisting.":"vSBC-Metaswitch: Session Controller is unable to track further sources for blacklisting.","A software protection switch was triggered.":"vSBC-Metaswitch: A software protection switch was triggered.","A disk area on a processor blade is nearly full.":"vSBC-Metaswitch: A disk area on a processor blade is nearly full.","Memory use is very high.":"vSBC-Metaswitch: Memory use is very high.","The primary processor-blade has lost contact with the backup.":"vSBC-Metaswitch: The primary processor-blade has lost contact with the backup.","An efix or patch has been applied to this system containing diagnostic versions of some software libraries.":"vSBC-Metaswitch: An efix or patch has been applied to this system containing diagnostic versions of some software libraries.","A software protection switch (SPS) was triggered. Call and registration state was lost.":"vSBC-Metaswitch: A software protection switch (SPS) was triggered. Call and registration state was lost.","The Ethernet Heartbeat between primary and backup processors has failed.":"vSBC-Metaswitch: The Ethernet Heartbeat between primary and backup processors has failed.","The Backplane Heartbeat between primary and backup processors has failed.":"vSBC-Metaswitch: The Backplane Heartbeat between primary and backup processors has failed.","A disk area on a processor blade reported an error.":"vSBC-Metaswitch: A disk area on a processor blade reported an error.","The system is upgrading.":"vSBC-Metaswitch: The system is upgrading.","An error with NTP functionality has been detected.":"vSBC-Metaswitch: An error with NTP functionality has been detected.","One or more users are locked out of the system.":"vSBC-Metaswitch: One or more users are locked out of the system.","The Craft Terminal user FTP directory on a processor blade is nearly full.":"vSBC-Metaswitch: The Craft Terminal user FTP directory on a processor blade is nearly full.","A scheduled configuration snapshot has failed.":"vSBC-Metaswitch: A scheduled configuration snapshot has failed.","The Session Controller is stopping as a result of administrator action.":"vSBC-Metaswitch: The Session Controller is stopping as a result of administrator action.","A Session Controller processor blade is stopping as a result of administrator action.":"vSBC-Metaswitch: A Session Controller processor blade is stopping as a result of administrator action.","An object could not be activated because its service address does not exist or is not fully specified.":"vSBC-Metaswitch: An object could not be activated because its service address does not exist or is not fully specified.","The hardware on a processor does not meet minimum requirements.":"vSBC-Metaswitch: The hardware on a processor does not meet minimum requirements.","The hardware expectations of the two processors are not the same.":"vSBC-Metaswitch: The hardware expectations of the two processors are not the same.","The read speed of the main hard disk on a processor blade is too slow.":"vSBC-Metaswitch: The read speed of the main hard disk on a processor blade is too slow.","An error has occurred reading from the hard disk on a processor blade.":"vSBC-Metaswitch: An error has occurred reading from the hard disk on a processor blade.","Backup and primary processor-blades have an inconsistent system role.":"vSBC-Metaswitch: Backup and primary processor-blades have an inconsistent system role.","Event: The system encountered a critical error and had to restart.":"vSBC-Metaswitch: Event: The system encountered a critical error and had to restart.","Event: A RADIUS server failed to respond to an authentication request.":"vSBC-Metaswitch: Event: A RADIUS server failed to respond to an authentication request.","Event: All configured RADIUS servers failed to respond to authentication requests.":"vSBC-Metaswitch: Event: All configured RADIUS servers failed to respond to authentication requests.","Event: The number of CPUs has changed.":"vSBC-Metaswitch: Event: The number of CPUs has changed.","Event: A user has been automatically deleted":"vSBC-Metaswitch: Event: A user has been automatically deleted","The primary processor blade has lost management connectivity":"vSBC-Metaswitch: The primary processor blade has lost management connectivity","Event: A processor blade is running with DPDK mode disabled when DPDK mode is,expected.":"vSBC-Metaswitch: Event: A processor blade is running with DPDK mode disabled when DPDK mode is,expected.","Event: Processor blade %1 is running with DPDK mode disabled when DPDK mode may be possible.":"vSBC-Metaswitch: Event: Processor blade %1 is running with DPDK mode disabled when DPDK mode may be possible.","Perimeta is attempting to resend cached billing records.":"vSBC-Metaswitch: Perimeta is attempting to resend cached billing records.","The Rf billing cache is full.":"vSBC-Metaswitch: The Rf billing cache is full.","The inbound call queue is congested.":"vSBC-Metaswitch: The inbound call queue is congested.","A configured realm group contains realms that are not available to the SBC.":"vSBC-Metaswitch: A configured realm group contains realms that are not available to the SBC.","An allowed MSC configuration is not connected to any physical MSCs.":"vSBC-Metaswitch: An allowed MSC configuration is not connected to any physical MSCs.","A SIP Peer has stopped responding to SIP OPTIONS pings. MSW: 20160303: Alarm text is changed in v3.9 software to read: \\"An adjacency has lost connectivity, according to SIP OPTIONS pings\\"":"vSBC-Metaswitch: A SIP Peer has stopped responding to SIP OPTIONS pings. MSW: 20160303: Alarm text is changed in v3.9 software to read: \\"An adjacency has lost connectivity, according to SIP OPTIONS pings\\"","An adjacency has failed as the listen socket could not be created. Check for configuration mismatches with the associated service interface.":"vSBC-Metaswitch: An adjacency has failed as the listen socket could not be created. Check for configuration mismatches with the associated service interface.","No suitable DNS records were found for a peer group's DNS hostname.":"vSBC-Metaswitch: No suitable DNS records were found for a peer group's DNS hostname.","One or more SIP peers from a peer group have stopped responding to SIP OPTIONS pings":"vSBC-Metaswitch: One or more SIP peers from a peer group have stopped responding to SIP OPTIONS pings","An adjacency has failed as its service network does not match the service network on its associated peer group.":"vSBC-Metaswitch: An adjacency has failed as its service network does not match the service network on its associated peer group.","An adjacency has failed as its configured TLS certificate could not be found.":"vSBC-Metaswitch: An adjacency has failed as its configured TLS certificate could not be found.","The caching function has not been initialized properly.":"vSBC-Metaswitch: The caching function has not been initialized properly.","An adjacency has failed as the listen socket could not be created.":"vSBC-Metaswitch: An adjacency has failed as the listen socket could not be created.","An adjacency is congested and may be rejecting calls.":"vSBC-Metaswitch: An adjacency is congested and may be rejecting calls.","There is an issue with a Diameter peer.":"vSBC-Metaswitch: There is an issue with a Diameter peer.","A realm is no longer reachable via any configured peers.":"vSBC-Metaswitch: A realm is no longer reachable via any configured peers.","An FQDN for a configured Diameter peer has failed to resolve to a valid IP address.":"vSBC-Metaswitch: An FQDN for a configured Diameter peer has failed to resolve to a valid IP address.","One or more peers resolved from a DNS lookup of a configured peer's address cannot be contacted":"vSBC-Metaswitch: One or more peers resolved from a DNS lookup of a configured peer's address cannot be contacted","An interface ARP or NDP probe has failed.":"vSBC-Metaswitch: An interface ARP or NDP probe has failed.","One or more IP address conflicts have been detected on service interfaces with zero criticality. If there are other probe failures, this alarm will remain raised until all conflicts are resolved.":"vSBC-Metaswitch: One or more IP address conflicts have been detected on service interfaces with zero criticality. If there are other probe failures, this alarm will remain raised until all conflicts are resolved.","One or more IP address conflicts have been detected on service interfaces with non-zero criticality. If there are other probe failures, this alarm will remain raised until all conflicts are resolved.":"vSBC-Metaswitch: One or more IP address conflicts have been detected on service interfaces with non-zero criticality. If there are other probe failures, this alarm will remain raised until all conflicts are resolved.","An interface device is running below the expected speed. This alarm was originally triggered by a probe failure on a service interface.":"vSBC-Metaswitch: An interface device is running below the expected speed. This alarm was originally triggered by a probe failure on a service interface.","An interface device is running above the expected speed.":"vSBC-Metaswitch: An interface device is running above the expected speed.","An IP address conflict has been detected on a management interface.":"vSBC-Metaswitch: An IP address conflict has been detected on a management interface.","An interface ICMP probe has failed.":"vSBC-Metaswitch: An interface ICMP probe has failed.","A High-Availability link has detected a connectivity issue.":"vSBC-Metaswitch: A High-Availability link has detected a connectivity issue.","An HA-link device is being reported as underspeed.":"vSBC-Metaswitch: An HA-link device is being reported as underspeed.","An IP address conflict has been detected on a replication interface.":"vSBC-Metaswitch: An IP address conflict has been detected on a replication interface.","The Session Controller has started.":"vSBC-Metaswitch: The Session Controller has started.","A statistic exceeded its configured thresholds.":"vSBC-Metaswitch: A statistic exceeded its configured thresholds.","One or more statistic has not been retrieved at least 3 times in a row.":"vSBC-Metaswitch: One or more statistic has not been retrieved at least 3 times in a row.","A Refresh Alarms request was triggered. Alarms not re-raised will be cleared in 5 minutes.":"vSBC-Metaswitch: A Refresh Alarms request was triggered. Alarms not re-raised will be cleared in 5 minutes.","A statistic has exceeded its configured thresholds.":"vSBC-Metaswitch: A statistic has exceeded its configured thresholds.","A Fallback Operation will soon be started":"vSBG: A Fallback Operation will soon be started","BRM, Auto Export Backup Failed":"vSBG: BRM, Auto Export Backup Failed","BRM, Scheduled Backup Failed":"vSBG: BRM, Scheduled Backup Failed","COM SA, AMF Component Cleanup Failed":"vSBG: COM SA, AMF Component Cleanup Failed","COM SA, AMF Component Instantiation Failed":"vSBG: COM SA, AMF Component Instantiation Failed","COM SA, AMF SI Unassigned":"vSBG: COM SA, AMF SI Unassigned","COM SA, CLM Cluster Node Unavailable":"vSBG: COM SA, CLM Cluster Node Unavailable","COM SA, MDF Detected Model Error":"vSBG: COM SA, MDF Detected Model Error","COM SA, Proxy Status of a Component Changed to Unproxied":"vSBG: COM SA, Proxy Status of a Component Changed to Unproxied","File Management, Number of Files in FileGroup Exceeded":"vSBG: File Management, Number of Files in FileGroup Exceeded","File Management, Max Size in FileGroup Exceeded":"vSBG: File Management, Max Size in FileGroup Exceeded","LOTC Disk Replication Communication":"vSBG: LOTC Disk Replication Communication","LOTC Disk Replication Consistency":"vSBG: LOTC Disk Replication Consistency","LOTC Disk Usage":"vSBG: LOTC Disk Usage","LOTC memory Usage":"vSBG: LOTC memory Usage","LOTC Time Synchronization":"vSBG: LOTC Time Synchronization","SBG, BGF Control Link Down":"vSBG: SBG, BGF Control Link Down","SBG, BGF Control Link Disabled":"vSBG: SBG, BGF Control Link Disabled","SBG, BGF Control Link Enabled":"vSBG: SBG, BGF Control Link Enabled","SBG, BGF Control Link Remote Locked":"vSBG: SBG, BGF Control Link Remote Locked","SBG, Charging Data Storage Maximum Records Reached":"vSBG: SBG, Charging Data Storage Maximum Records Reached","SBG, Charging Server Rejects Charging Data":"vSBG: SBG, Charging Server Rejects Charging Data","SBG, Excessive Packet Rate Detected ":"vSBG: SBG, Excessive Packet Rate Detected ","SBG, High Amount of Malformed Packets Received":"vSBG: SBG, High Amount of Malformed Packets Received","SBG, High Amount of STUN Packets Detected":"vSBG: SBG, High Amount of STUN Packets Detected","SBG, High Amount of TCP SYN Packets Received":"vSBG: SBG, High Amount of TCP SYN Packets Received","SBG, High Amount of UDP Packets Received ":"vSBG: SBG, High Amount of UDP Packets Received ","SBG, IP Address Blocked Due to Excessive Packet Rate":"vSBG: SBG, IP Address Blocked Due to Excessive Packet Rate","SBG, Lost Connectivity to Diameter Server":"vSBG: SBG, Lost Connectivity to Diameter Server","SBG, Mated Pair out of Service":"vSBG: SBG, Mated Pair out of Service","SBG, Network Unavailable for Media Handling":"vSBG: SBG, Network Unavailable for Media Handling","SBG, Non-emergency Call Released to Free Resources for Emergency Call":"vSBG: SBG, Non-emergency Call Released to Free Resources for Emergency Call","SBG, Not Enough Disk Space for Storing Charging Data":"vSBG: SBG, Not Enough Disk Space for Storing Charging Data","SBG, Payload Mated Pair Failure":"vSBG: SBG, Payload Mated Pair Failure","SBG, Payload Processor Failure":"vSBG: SBG, Payload Processor Failure","SBG, Processor Overloaded":"vSBG: SBG, Processor Overloaded","SBG, Registered User Set in Quarantine":"vSBG: SBG, Registered User Set in Quarantine","SBG, Registration Contacts Exceed Configured Threshold":"vSBG: SBG, Registration Contacts Exceed Configured Threshold","SBG, Sequential Restart Initiated":"vSBG: SBG, Sequential Restart Initiated","SBG, SIP Abuse Detected":"vSBG: SBG, SIP Abuse Detected","SBG, SIP Network Locked":"vSBG: SBG, SIP Network Locked","SBG, SIP Next Hop Reachable":"vSBG: SBG, SIP Next Hop Reachable","SBG, SIP Next Hop Unreachable":"vSBG: SBG, SIP Next Hop Unreachable","SBG, SIP Request Rejected by Network Throttling":"vSBG: SBG, SIP Request Rejected by Network Throttling","SBG, TLS Certificate Imported":"vSBG: SBG, TLS Certificate Imported","SBG, Trace Recording Session Number Limit Reached":"vSBG: SBG, Trace Recording Session Number Limit Reached","SBG, Trace Session Deactivated":"vSBG: SBG, Trace Session Deactivated","SBG, Trace Session Times Out":"vSBG: SBG, Trace Session Times Out","SBG, Unknown Media Type or Payload Type":"vSBG: SBG, Unknown Media Type or Payload Type"}
+#
+# if action.test.override is true, then any action will be marked as test=true (even if incoming action request had test=false); otherwise, test flag will be unchanged on the action request
+action.test.override=false
+# if action.insert.test.event is true, then insert event even if the action is set to test
+action.insert.test.event=false
+CLDS_SERVICE_CACHE_MAX_SECONDS=14400
+#
+globalProps={"collector": {"topicPublishes": {"DCAE-COLLECTOR-UCSNMP": "DCAE-COLLECTOR-UCSNMP", "GFP-IP-SNMP-TRAPS" : "GFP-IP-SNMP-TRAPS" } }, "string_match": { "topicPublishes": { "DCAE-CL-EVENT": "DCAE-CL-EVENT" }, "aaiMatchingFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "ProvStatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "aaiSendFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "Provstatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "eventSourceType": { "f5BigIP": "f5BigIP", "vSBG_Alarms": "vSBG_Alarms", "vCTS_Alarms": "vCTS_Alarms" }, "eventSeverity": { "NORMAL": "NORMAL", "not-NORMAL": "not-NORMAL", "WARNING": "WARNING", "MINOR": "MINOR", "MAJOR": "MAJOR", "CRITICAL": "CRITICAL" }, "timeWindow": 0, "ageLimit": 1600, "outputEventName": { "": "", "OnSet": "OnSet", "Abatement": "Abatement" }, "createClosedLoopEventId": { "Initial": "Initial", "Close": "Close" } }, "global": { "service": { "": "", "vUSP": "vUSP", "vSCP": "vSCP", "vProbes": "vProbes" } }, "policy": { "timeout": 5, "recipe": { "": "", "restart": "Restart", "rebuild": "Rebuild", "migrate": "Migrate" }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { "vCTS": "vCTS", "v3CDB": "v3CDB", "vUDR": "vUDR", "vCOM": "vCOM", "vRAR": "vRAR", "vLCS": "vLCS", "vUDR-BE": "vUDR-BE", "vDBE": "vDBE" }, "parentPolicyConditions": { "Failure_Retries": "Failure: Max Retries Exceeded", "Failure_Timeout": "Failure: Time Limit Exceeded", "Failure_Exception": "Failure: Exception", "Failure": "Failure: Other", "Success": "Success" } }, "shared": { "byService": { "": { "vf": { }, "vfc": { }, "location": { }, "alarmCondition": { } }, "vSCP": { "vf": { "frwl_scp": "FW" }, "vfc": { "FW": "FW" }, "location": { "AKRNOHAH": "Akron", "ALLNTXSA": "Allen-2" }, "alarmCondition": { "authenticationFailure": "authenticationFailure", "bigipActive": "bigipActive", "bigipActiveActive": "bigipActiveActive", "bigipAgentRestart": "bigipAgentRestart", "bigipAgentShutdown": "bigipAgentShutdown", "bigipAgentStart": "bigipAgentStart", "bigipAggrReaperStateChange": "bigipAggrReaperStateChange", "bigipAomCpuTempTooHigh": "bigipAomCpuTempTooHigh", "bigipARPConflict": "bigipARPConflict", "bigipAsmBruteForceAttackDetected": "bigipAsmBruteForceAttackDetected", "bigipAsmDosAttackDetected": "bigipAsmDosAttackDetected", "bigipAsmFtpRequestBlocked": "bigipAsmFtpRequestBlocked", "bigipAsmFtpRequestViolation": "bigipAsmFtpRequestViolation", "bigipAsmRequestBlocked": "bigipAsmRequestBlocked", "bigipAsmRequestViolation": "bigipAsmRequestViolation", "bigipAsmSmtpRequestBlocked": "bigipAsmSmtpRequestBlocked", "bigipAsmSmtpRequestViolation": "bigipAsmSmtpRequestViolation", "bigipAuthFailed": "bigipAuthFailed", "bigipAvrAlertsMetricSmtp": "bigipAvrAlertsMetricSmtp", "bigipAvrAlertsMetricSnmp": "bigipAvrAlertsMetricSnmp", "bigipBladeNoPower": "bigipBladeNoPower", "bigipBladeOffline": "bigipBladeOffline", "bigipBladeTempHigh": "bigipBladeTempHigh", "bigipChassisFanBad": "bigipChassisFanBad", "bigipChassisPowerSupplyBad": "bigipChassisPowerSupplyBad", "bigipChassisTempHigh": "bigipChassisTempHigh", "bigipChmandAlertFanTrayBad": "bigipChmandAlertFanTrayBad", "bigipClusterdNoResponse": "bigipClusterdNoResponse", "bigipClusterPrimaryChanged": "bigipClusterPrimaryChanged", "bigipCompLimitExceeded": "bigipCompLimitExceeded", "bigipConfigLoaded": "bigipConfigLoaded", "bigipCpuFanSpeedBad": "bigipCpuFanSpeedBad", "bigipCpuFanSpeedLow": "bigipCpuFanSpeedLow", "bigipCpuTempHigh": "bigipCpuTempHigh", "bigipDiskPartitionGrowth": "bigipDiskPartitionGrowth", "bigipDiskPartitionWarn": "bigipDiskPartitionWarn", "bigipDnsRequestRateLimiterEngaged": "bigipDnsRequestRateLimiterEngaged", "bigipDosAttackStart": "bigipDosAttackStart", "bigipDosAttackStop": "bigipDosAttackStop", "bigipExternalLinkChange": "bigipExternalLinkChange", "bigipFeatureFailed": "bigipFeatureFailed", "bigipFeatureOnline": "bigipFeatureOnline", "bigipFipsDeviceError": "bigipFipsDeviceError", "bigipGtmAppAvail": "bigipGtmAppAvail", "bigipGtmAppNotAvail": "bigipGtmAppNotAvail", "bigipGtmAppObjAvail": "bigipGtmAppObjAvail", "bigipGtmAppObjNotAvail": "bigipGtmAppObjNotAvail", "bigipGtmBig3dSslCertExpired": "bigipGtmBig3dSslCertExpired", "bigipGtmBig3dSslCertWillExpire": "bigipGtmBig3dSslCertWillExpire", "bigipGtmBoxAvail": "bigipGtmBoxAvail", "bigipGtmBoxNotAvail": "bigipGtmBoxNotAvail", "bigipGtmDcAvail": "bigipGtmDcAvail", "bigipGtmDcDisabled": "bigipGtmDcDisabled", "bigipGtmDcEnabled": "bigipGtmDcEnabled", "bigipGtmDcNotAvail": "bigipGtmDcNotAvail", "bigipGtmJoinedGroup": "bigipGtmJoinedGroup", "bigipGtmKeyGenerationExpiration": "bigipGtmKeyGenerationExpiration", "bigipGtmKeyGenerationRollover": "bigipGtmKeyGenerationRollover", "bigipGtmLeftGroup": "bigipGtmLeftGroup", "bigipGtmLinkAvail": "bigipGtmLinkAvail", "bigipGtmLinkDisabled": "bigipGtmLinkDisabled", "bigipGtmLinkEnabled": "bigipGtmLinkEnabled", "bigipGtmLinkNotAvail": "bigipGtmLinkNotAvail", "bigipGtmPoolAvail": "bigipGtmPoolAvail", "bigipGtmPoolDisabled": "bigipGtmPoolDisabled", "bigipGtmPoolEnabled": "bigipGtmPoolEnabled", "bigipGtmPoolMbrAvail": "bigipGtmPoolMbrAvail", "bigipGtmPoolMbrDisabled": "bigipGtmPoolMbrDisabled", "bigipGtmPoolMbrEnabled": "bigipGtmPoolMbrEnabled", "bigipGtmPoolMbrNotAvail": "bigipGtmPoolMbrNotAvail", "bigipGtmPoolNotAvail": "bigipGtmPoolNotAvail", "bigipGtmProberPoolDisabled": "bigipGtmProberPoolDisabled", "bigipGtmProberPoolEnabled": "bigipGtmProberPoolEnabled", "bigipGtmProberPoolMbrDisabled": "bigipGtmProberPoolMbrDisabled", "bigipGtmProberPoolMbrEnabled": "bigipGtmProberPoolMbrEnabled", "bigipGtmProberPoolMbrStatusChange": "bigipGtmProberPoolMbrStatusChange", "bigipGtmProberPoolMbrStatusChangeReason": "bigipGtmProberPoolMbrStatusChangeReason", "bigipGtmProberPoolStatusChange": "bigipGtmProberPoolStatusChange", "bigipGtmProberPoolStatusChangeReason": "bigipGtmProberPoolStatusChangeReason", "bigipGtmRequestRateLimiterEngaged": "bigipGtmRequestRateLimiterEngaged", "bigipGtmServerAvail": "bigipGtmServerAvail", "bigipGtmServerDisabled": "bigipGtmServerDisabled", "bigipGtmServerEnabled": "bigipGtmServerEnabled", "bigipGtmServerNotAvail": "bigipGtmServerNotAvail", "bigipGtmSslCertExpired": "bigipGtmSslCertExpired", "bigipGtmSslCertWillExpire": "bigipGtmSslCertWillExpire", "bigipGtmVsAvail": "bigipGtmVsAvail", "bigipGtmVsDisabled": "bigipGtmVsDisabled", "bigipGtmVsEnabled": "bigipGtmVsEnabled", "bigipGtmVsNotAvail": "bigipGtmVsNotAvail", "bigipGtmWideIpAvail": "bigipGtmWideIpAvail", "bigipGtmWideIpDisabled": "bigipGtmWideIpDisabled", "bigipGtmWideIpEnabled": "bigipGtmWideIpEnabled", "bigipGtmWideIpNotAvail": "bigipGtmWideIpNotAvail", "bigipHardDiskFailure": "bigipHardDiskFailure", "bigipInetPortExhaustion": "bigipInetPortExhaustion", "bigipLibhalBladePoweredOff": "bigipLibhalBladePoweredOff", "bigipLibhalDiskBayRemoved": "bigipLibhalDiskBayRemoved", "bigipLibhalSensorAlarmCritical": "bigipLibhalSensorAlarmCritical", "bigipLibhalSsdLogicalDiskRemoved": "bigipLibhalSsdLogicalDiskRemoved", "bigipLibhalSsdPhysicalDiskRemoved": "bigipLibhalSsdPhysicalDiskRemoved", "bigipLicenseExpired": "bigipLicenseExpired", "bigipLicenseFailed": "bigipLicenseFailed", "bigipLogAlert": "bigipLogAlert", "bigipLogCrit": "bigipLogCrit", "bigipLogEmerg": "bigipLogEmerg", "bigipLogErr": "bigipLogErr", "bigipLogWarning": "bigipLogWarning", "bigipLtmVsAvail": "bigipLtmVsAvail", "bigipLtmVsDisabled": "bigipLtmVsDisabled", "bigipLtmVsEnabled": "bigipLtmVsEnabled", "bigipLtmVsUnavail": "bigipLtmVsUnavail", "bigipMemberRate": "bigipMemberRate", "bigipNetLinkDown": "bigipNetLinkDown", "bigipNodeDown": "bigipNodeDown", "bigipNodeRate": "bigipNodeRate", "bigipNodeUp": "bigipNodeUp", "bigipPacketRejected": "bigipPacketRejected", "bigipPsAbsent": "bigipPsAbsent", "bigipPsPowerOff": "bigipPsPowerOff", "bigipPsPowerOn": "bigipPsPowerOn", "bigipRaidDiskFailure": "bigipRaidDiskFailure", "bigipServiceDown": "bigipServiceDown", "bigipServiceUp": "bigipServiceUp", "bigipSsdMwiNearThreshold": "bigipSsdMwiNearThreshold", "bigipSsdMwiReachedThreshold": "bigipSsdMwiReachedThreshold", "bigipSslLimitExceeded": "bigipSslLimitExceeded", "bigipStandby": "bigipStandby", "bigipStandByFail": "bigipStandByFail", "bigipSystemCheckAlertCurrentHigh": "bigipSystemCheckAlertCurrentHigh", "bigipSystemCheckAlertCurrentLow": "bigipSystemCheckAlertCurrentLow", "bigipSystemCheckAlertFanSpeedLow": "bigipSystemCheckAlertFanSpeedLow", "bigipSystemCheckAlertMilliVoltageHigh": "bigipSystemCheckAlertMilliVoltageHigh", "bigipSystemCheckAlertMilliVoltageLow": "bigipSystemCheckAlertMilliVoltageLow", "bigipSystemCheckAlertPowerHigh": "bigipSystemCheckAlertPowerHigh", "bigipSystemCheckAlertPowerLow": "bigipSystemCheckAlertPowerLow", "bigipSystemCheckAlertTempHigh": "bigipSystemCheckAlertTempHigh", "bigipSystemCheckAlertVoltageHigh": "bigipSystemCheckAlertVoltageHigh", "bigipSystemCheckAlertVoltageLow": "bigipSystemCheckAlertVoltageLow", "bigipSystemShutdown": "bigipSystemShutdown", "bigipTamdAlert": "bigipTamdAlert", "bigipTrafficGroupActivate": "bigipTrafficGroupActivate", "bigipTrafficGroupActive": "bigipTrafficGroupActive", "bigipTrafficGroupDeactivate": "bigipTrafficGroupDeactivate", "bigipTrafficGroupForcedOffline": "bigipTrafficGroupForcedOffline", "bigipTrafficGroupOffline": "bigipTrafficGroupOffline", "bigipTrafficGroupStandby": "bigipTrafficGroupStandby", "bigipUnsolicitedRepliesExceededThreshold": "bigipUnsolicitedRepliesExceededThreshold", "bigipUpdateError": "bigipUpdateError", "bigipUpdatePriority": "bigipUpdatePriority", "bigipUpdateServer": "bigipUpdateServer", "bigipVcmpAlertsVcmpHBDetected": "bigipVcmpAlertsVcmpHBDetected", "bigipVcmpAlertsVcmpHBLost": "bigipVcmpAlertsVcmpHBLost", "bigipVcmpAlertsVcmpPowerOff": "bigipVcmpAlertsVcmpPowerOff", "bigipVcmpAlertsVcmpPowerOn": "bigipVcmpAlertsVcmpPowerOn", "bigipVirtualRate": "bigipVirtualRate", "coldStart": "coldStart", "emASMSigInstallComplete": "emASMSigInstallComplete", "emASMSigInstallFailed": "emASMSigInstallFailed", "emASMSigUpdateAvailable": "emASMSigUpdateAvailable", "emASMSigUpdateFailed": "emASMSigUpdateFailed", "emCertificateExpiration": "emCertificateExpiration", "emCpuUsage": "emCpuUsage", "emDeviceActiveMode": "emDeviceActiveMode", "emDeviceClockSkew": "emDeviceClockSkew", "emDeviceConfigSettingChanged": "emDeviceConfigSettingChanged", "emDeviceConfigSync": "emDeviceConfigSync", "emDeviceForcedOfflineMode": "emDeviceForcedOfflineMode", "emDeviceImpaired": "emDeviceImpaired", "emDeviceOfflineMode": "emDeviceOfflineMode", "emDeviceStandbyMode": "emDeviceStandbyMode", "emDeviceUnreachable": "emDeviceUnreachable", "emDiskUsage": "emDiskUsage", "emGatherServiceContractFailure": "emGatherServiceContractFailure", "emHaSyncFailed": "emHaSyncFailed", "emHotfixInstallComplete": "emHotfixInstallComplete", "emHotfixInstallFailed": "emHotfixInstallFailed", "emMemoryUsage": "emMemoryUsage", "emPerformanceStorageCap": "emPerformanceStorageCap", "emPerformanceStorageDays": "emPerformanceStorageDays", "emPerformanceThreshold": "emPerformanceThreshold", "emRaidDriveFailureDetected": "emRaidDriveFailureDetected", "emRaidDriveRebuildComplete": "emRaidDriveRebuildComplete", "emSchedBackupFailed": "emSchedBackupFailed", "emScheduledArchiveFailed": "emScheduledArchiveFailed", "emServiceContractExpiry": "emServiceContractExpiry", "emSoftwareInstallComplete": "emSoftwareInstallComplete", "emSoftwareInstallFailed": "emSoftwareInstallFailed", "emStatsCollectionRateCap": "emStatsCollectionRateCap", "emStatsDBConnectivityLost": "emStatsDBConnectivityLost", "emStatsDBConnectivityRestored": "emStatsDBConnectivityRestored", "fallingAlarm": "fallingAlarm", "ipv6IfStateChange": "ipv6IfStateChange", "linkDown": "linkDown", "linkUp": "linkUp", "mteEventSetFailure": "mteEventSetFailure", "mteTriggerFailure": "mteTriggerFailure", "mteTriggerFalling": "mteTriggerFalling", "mteTriggerFired": "mteTriggerFired", "mteTriggerRising": "mteTriggerRising", "netSnmpExampleHeartbeatNotification": "netSnmpExampleHeartbeatNotification", "newRoot": "newRoot", "nsNotifyRestart": "nsNotifyRestart", "nsNotifyShutdown": "nsNotifyShutdown", "nsNotifyStart": "nsNotifyStart", "risingAlarm": "risingAlarm", "schedActionFailure": "schedActionFailure", "smScriptAbort": "smScriptAbort", "smScriptException": "smScriptException", "smScriptResult": "smScriptResult", "topologyChange": "topologyChange", "ucdShutdown": "ucdShutdown", "ucdStart": "ucdStart", "warmStart": "warmStart" } }, "vUSP": { "vf": { "ctsf-xxx": "vCTS" }, "vfc": { "vCTS - CFED": "vCTS - CFED", "vCTS - Config": "vCTS - Config", "vCTS - DFED": "vCTS - DFED", "vCTS - TAFE-fsd": "vCTS - TAFE-fsd", "vCTS - GLS": "vCTS - GLS", "vCTS - XXX": "vCTS - XXX", "vCTS - Management Interface": "vCTS - Management Interface", "vCTS - SPFE-pfe": "vCTS - SPFE-pfe", "vCTS - DNS": "vCTS - DNS", "vCTS - SPFE-spd": "vCTS - SPFE-spd", "vCTS - SPFE-spt": "vCTS - SPFE-spt", "vCTS - TAFE-tas": "vCTS - TAFE-tas" }, "location": { "SNDGCA06": "San Diego(core site) A06", "SNDGCA64": "San Diego(core site) A64", "SNANTXCA": "San Antonio(core site)", "KSCYMO09": "Kansas City(core site)", "kings_mountain": "Kings Mountain(AMG)", "Secaucus": "Secaucus(AMG)", "lisle": "Lisle(AMG)", "concord": "Concord(AMG)", "houston": "Houston(AMG)", "akron": "Akron(AMG)" }, "alarmCondition": { "acrTemporaryBufferOverload": "acrTemporaryBufferOverload", "adnsExtendedTTLcaching": "adnsExtendedTTLcaching", "adnsQueryFailureCaching": "adnsQueryFailureCaching", "adnsQueueCongestion": "adnsQueueCongestion", "asdaCommunicationFailure": "asdaCommunicationFailure", "asdaRequestQueue": "asdaRequestQueue", "capacityLicenseKeyExpiration": "capacityLicenseKeyExpiration", "capacityLicenseKeyNearExpiration": "capacityLicenseKeyNearExpiration", "capacityLicenseKeyValidationError": "capacityLicenseKeyValidationError", "cardConnectionLost": "cardConnectionLost", "ccdbCommunicationFailure": "ccdbCommunicationFailure", "cpiAlrmCritical": "cpiAlrmCritical", "cpiAlrmMajor": "cpiAlrmMajor", "cpiAlrmMinor": "cpiAlrmMinor", "cpiAlrmWarning": "cpiAlrmWarning", "cpiAsrtEsc": "cpiAsrtEsc", "cpiAsrtNonEsc": "cpiAsrtNonEsc", "cpiAsrtNonEscCritical": "cpiAsrtNonEscCritical", "cpiAsrtNonEscMajor": "cpiAsrtNonEscMajor", "cpiAsrtNonEscMinor": "cpiAsrtNonEscMinor", "cpiAudErrCount": "cpiAudErrCount", "cpiAudManAct": "cpiAudManAct", "cpiAudNewEvent": "cpiAudNewEvent", "cpiCompleteRateAlarm": "cpiCompleteRateAlarm", "cpiCTS3xxFailRate": "cpiCTS3xxFailRate", "cpiCTS4xxFailRate": "cpiCTS4xxFailRate", "cpiCTS5xxFailRate": "cpiCTS5xxFailRate", "cpiCTS6xxFailRate": "cpiCTS6xxFailRate", "cpiCTSSIPRetransmitInvite": "cpiCTSSIPRetransmitInvite", "cpiCTSSIPRetransmitNonInvite": "cpiCTSSIPRetransmitNonInvite", "cpiDropMGAllocConnReq": "cpiDropMGAllocConnReq", "cpiDropRateAlarm": "cpiDropRateAlarm", "cpiExceptionService": "cpiExceptionService", "cpiFailRateAlarm": "cpiFailRateAlarm", "cpiFailSCTPFastRetransIncr": "cpiFailSCTPFastRetransIncr", "cpiFailSCTPFastRetransRate": "cpiFailSCTPFastRetransRate", "cpiFailSCTPSRTT1Incr": "cpiFailSCTPSRTT1Incr", "cpiFailSCTPSRTT2Incr": "cpiFailSCTPSRTT2Incr", "cpiFailSCTPT3RetransIncr": "cpiFailSCTPT3RetransIncr", "cpiFailSCTPT3RetransRate": "cpiFailSCTPT3RetransRate", "cpiFileSysUsage": "cpiFileSysUsage", "cpiMemAllocFail": "cpiMemAllocFail", "cpiNumOfLICDRDel": "cpiNumOfLICDRDel", "cpiReinitServiceSelf": "cpiReinitServiceSelf", "cpiSIPRetransmitInvite": "cpiSIPRetransmitInvite", "cpiSIPRetransmitNonInvite": "cpiSIPRetransmitNonInvite", "cpiSS7DropSCTPPktsRcvd": "cpiSS7DropSCTPPktsRcvd", "cpiSS7FailSCTPFastRetransRate": "cpiSS7FailSCTPFastRetransRate", "cpiStabilityAlarm": "cpiStabilityAlarm", "cpuOverload": "cpuOverload", "databaseConnectionLost": "databaseConnectionLost", "databaseReplicationLinkDown": "databaseReplicationLinkDown", "databaseSizeExhausted": "databaseSizeExhausted", "dbHighCpuUtilization": "dbHighCpuUtilization", "dbOffline": "dbOffline", "dbStatusUnexpected": "dbStatusUnexpected", "degradedResource": "degradedResource", "degrow": "degrow", "deviceServerCxnLost": "deviceServerCxnLost", "diamLinkDown": "diamLinkDown", "diamMaxClientsExceeded": "diamMaxClientsExceeded", "dnsThreshold": "dnsThreshold", "ethernetError": "ethernetError", "ethernetLinkDown": "ethernetLinkDown", "externalConnectivity": "externalConnectivity", "featureLicenseExpiration": "featureLicenseExpiration", "featureLicenseKeyNearExpiration": "featureLicenseKeyNearExpiration", "featureLockValidationError": "featureLockValidationError", "fqdnError": "fqdnError", "fru": "fru", "gatewayCongestion": "gatewayCongestion", "gatewayForcedOOS": "gatewayForcedOOS", "gatewayProvisioningError": "gatewayProvisioningError", "gatewayUnreachable": "gatewayUnreachable", "gatewayUnregistered": "gatewayUnregistered", "globalParameterNotFound": "globalParameterNotFound", "glsInvalidCellId": "glsInvalidCellId", "glsServerUnavailable": "glsServerUnavailable", "grow": "grow", "h248MessageBufferDepletion": "h248MessageBufferDepletion", "hlrSyncConnection": "hlrSyncConnection", "hlrSyncQueue": "hlrSyncQueue", "hostDown": "hostDown", "hostReset": "hostReset", "invalidGateway": "invalidGateway", "iriLinkDown": "iriLinkDown", "ldapServerConnectionLost": "ldapServerConnectionLost", "lispBufferFullExternalLIG": "lispBufferFullExternalLIG", "llcDown": "llcDown", "logicalLinkDown": "logicalLinkDown", "logicalLinkNotFound": "logicalLinkNotFound", "logRotateThreshold": "logRotateThreshold", "memoryOverload": "memoryOverload", "nodeConfigFailure": "nodeConfigFailure", "nodeGroupOOS": "nodeGroupOOS", "nodeOOS": "nodeOOS", "nonCompliantFaultGroupMemberState": "nonCompliantFaultGroupMemberState", "nonCsAddrChannelDepletion": "nonCsAddrChannelDepletion", "numberOfTuplesInUse": "numberOfTuplesInUse", "osSecInfoModificationDetected": "osSecInfoModificationDetected", "osSecInformationMissing": "osSecInformationMissing", "osSecUnexpectedInformation": "osSecUnexpectedInformation", "pdnsMySqlReplication": "pdnsMySqlReplication", "pktCorruptionDetectedViaRCCLANCheck": "pktCorruptionDetectedViaRCCLANCheck", "platformCommandFailure": "platformCommandFailure", "pmDataNotCollected": "pmDataNotCollected", "prdbConnectWithAlternateFailure": "prdbConnectWithAlternateFailure", "prdbSyncDataToAlternateFailure": "prdbSyncDataToAlternateFailure", "preAllocatedResourceOverload": "preAllocatedResourceOverload", "prifSocketError": "prifSocketError", "processDown": "processDown", "processNotStarted": "processNotStarted", "provisioningInhibitedMode": "provisioningInhibitedMode", "prsCallInstanceExceeded": "prsCallInstanceExceeded", "prsCpuOverload": "prsCpuOverload", "prsDatabaseMigrationFailure": "prsDatabaseMigrationFailure", "prsFailureToConnectWithPRDB": "prsFailureToConnectWithPRDB", "prsQueueExceeded": "prsQueueExceeded", "rccInhibitedMode": "rccInhibitedMode", "remotedbLinkDown": "remotedbLinkDown", "remoteQueryServerFailure": "remoteQueryServerFailure", "restore": "restore", "serviceCFGDataTimestampError": "serviceCFGDataTimestampError", "serviceCommCxnLost": "serviceCommCxnLost", "serviceOnewayCommunication": "serviceOnewayCommunication", "sheddingOverload": "sheddingOverload", "simxml": "simxml", "sipLinkSetMaxQuarantineList": "sipLinkSetMaxQuarantineList", "sipLinkSetUnavailable": "sipLinkSetUnavailable", "sipLinkUnavailable": "sipLinkUnavailable", "smdiSocketError": "smdiSocketError", "socketError": "socketError", "softwareAllocatedResourceOverload": "softwareAllocatedResourceOverload", "softwareComponentDown": "softwareComponentDown", "softwareComponentStandbyNotReady": "softwareComponentStandbyNotReady", "softwareLicense": "softwareLicense", "svcdegrow": "svcdegrow", "svcgrow": "svcgrow", "swVersionMismatch": "swVersionMismatch", "tftpDownloadCorrupt": "tftpDownloadCorrupt", "timeStampValueOutOfSystemRange": "timeStampValueOutOfSystemRange", "tlsInitError": "tlsInitError", "transactionHandlerBlockDepletion": "transactionHandlerBlockDepletion", "upgrade": "upgrade", "usageOfSyncTable": "usageOfSyncTable", "utHttpProxyConnectionDown": "utHttpProxyConnectionDown", "wpifSocketError": "wpifSocketError", "BackupFailure": "BackupFailure", "Configuration": "Configuration", "COTRecordTransferFailure": "COTRecordTransferFailure", "CPMUSERDATAINCONSITENCY": "CPMUSERDATAINCONSITENCY", "CPMUSERDATARESTORED": "CPMUSERDATARESTORED", "EventQueueCapacity": "EventQueueCapacity", "ICMPFailure": "ICMPFailure", "IPsecConfig": "IPsecConfig", "LinkDown": "LinkDown", "NotifyDisabled": "NotifyDisabled", "NotifyLocked": "NotifyLocked", "NumTL1MeasThresh": "NumTL1MeasThresh", "RADIUSTOLDAPFAILURE": "RADIUSTOLDAPFAILURE", "ROOTACCESSDENIED": "ROOTACCESSDENIED", "ROOTFTPVIOLATION": "ROOTFTPVIOLATION", "ROOTLOGINVIOLATION": "ROOTLOGINVIOLATION", "ROOTSSHLOGINVIOLATION": "ROOTSSHLOGINVIOLATION", "SetupAAAFailure": "SetupAAAFailure", "SNETrapOverload": "SNETrapOverload", "SNMPAuthenticationFailure": "SNMPAuthenticationFailure", "SNMPFailure": "SNMPFailure", "SUTOROOTFAILURE": "SUTOROOTFAILURE", "SYSTEMTrapOverload": "SYSTEMTrapOverload", "ThresholdCrossed": "ThresholdCrossed", "UndiscoveredObject": "UndiscoveredObject", "WriteAAAFailure": "WriteAAAFailure" } }, "Trinity": { "vf": { "aSBG": "aSBG", "nSBG": "nSBG", "tSBG": "tSBG" }, "vfc": { "pld": "PL - Payload Processor", "scr": "SC - System Controller" }, "location": { "SNDGCA64": "San Diego SAN3", "ALPRGAED": "Alpharetta PDK1", "LSLEILAA":"Lisle DPA3" }, "alarmCondition": { "A+Fallback+Operation+will+soon+be+started":"A Fallback Operation will soon be started", "BRM%2C+Auto+Export+Backup+Failed":"BRM, Auto Export Backup Failed", "BRM%2C+Scheduled+Backup+Failed":"BRM, Scheduled Backup Failed", "COM+SA%2C+AMF+Component+Cleanup+Failed":"COM SA, AMF Component Cleanup Failed", "COM+SA%2C+AMF+Component+Instantiation+Failed":"COM SA, AMF Component Instantiation Failed", "COM+SA%2C+AMF+SI+Unassigned":"COM SA, AMF SI Unassigned", "COM+SA%2C+CLM+Cluster+Node+Unavailable":"COM SA, CLM Cluster Node Unavailable", "COM+SA%2C+MDF+Detected+Model+Error":"COM SA, MDF Detected Model Error", "COM+SA%2C+Proxy+Status+of+a+Component+Changed+to+Unproxied":"COM SA, Proxy Status of a Component Changed to Unproxied", "File+Management%2C+Number+of+Files+in+FileGroup+Exceeded":"File Management, Number of Files in FileGroup Exceeded", "File+Management%2C+Max+Size+in+FileGroup+Exceeded":"File Management, Max Size in FileGroup Exceeded", "LOTC+Disk+Replication+Communication":"LOTC Disk Replication Communication", "LOTC+Disk+Replication+Consistency":"LOTC Disk Replication Consistency", "LOTC+Disk+Usage":"LOTC Disk Usage", "LOTC+memory+Usage":"LOTC memory Usage", "LOTC+Time+Synchronization":"LOTC Time Synchronization", "SBG%2C+BGF+Control+Link+Down":"SBG, BGF Control Link Down", "SBG%2C+BGF+Control+Link+Disabled":"SBG, BGF Control Link Disabled", "SBG%2C+BGF+Control+Link+Enabled":"SBG, BGF Control Link Enabled", "SBG%2C+BGF+Control+Link+Remote+Locked":"SBG, BGF Control Link Remote Locked", "SBG%2C+Charging+Data+Storage+Maximum+Records+Reached":"SBG, Charging Data Storage Maximum Records Reached", "SBG%2C+Charging+Server+Rejects+Charging+Data":"SBG, Charging Server Rejects Charging Data", "SBG%2C+Excessive+Packet+Rate+Detected+":"SBG, Excessive Packet Rate Detected ", "SBG%2C+High+Amount+of+Malformed+Packets+Received":"SBG, High Amount of Malformed Packets Received", "SBG%2C+High+Amount+of+STUN+Packets+Detected":"SBG, High Amount of STUN Packets Detected", "SBG%2C+High+Amount+of+TCP+SYN+Packets+Received":"SBG, High Amount of TCP SYN Packets Received", "SBG%2C+High+Amount+of+UDP+Packets+Received+":"SBG, High Amount of UDP Packets Received ", "SBG%2C+IP+Address+Blocked+Due+to+Excessive+Packet+Rate":"SBG, IP Address Blocked Due to Excessive Packet Rate", "SBG%2C+Lost+Connectivity+to+Diameter+Server":"SBG, Lost Connectivity to Diameter Server", "SBG%2C+Mated+Pair+out+of+Service":"SBG, Mated Pair out of Service", "SBG%2C+Network+Unavailable+for+Media+Handling":"SBG, Network Unavailable for Media Handling", "SBG%2C+Non-emergency+Call+Released+to+Free+Resources+for+Emergency+Call":"SBG, Non-emergency Call Released to Free Resources for Emergency Call", "SBG%2C+Not+Enough+Disk+Space+for+Storing+Charging+Data":"SBG, Not Enough Disk Space for Storing Charging Data", "SBG%2C+Payload+Mated+Pair+Failure":"SBG, Payload Mated Pair Failure", "SBG%2C+Payload+Processor+Failure":"SBG, Payload Processor Failure", "SBG%2C+Processor+Overloaded":"SBG, Processor Overloaded", "SBG%2C+Registered+User+Set+in+Quarantine":"SBG, Registered User Set in Quarantine", "SBG%2C+Registration+Contacts+Exceed+Configured+Threshold":"SBG, Registration Contacts Exceed Configured Threshold", "SBG%2C+Sequential+Restart+Initiated":"SBG, Sequential Restart Initiated", "SBG%2C+SIP+Abuse+Detected":"SBG, SIP Abuse Detected", "SBG%2C+SIP+Network+Locked":"SBG, SIP Network Locked", "SBG%2C+SIP+Next+Hop+Reachable":"SBG, SIP Next Hop Reachable", "SBG%2C+SIP+Next+Hop+Unreachable":"SBG, SIP Next Hop Unreachable", "SBG%2C+SIP+Request+Rejected+by+Network+Throttling":"SBG, SIP Request Rejected by Network Throttling", "SBG%2C+TLS+Certificate+Imported":"SBG, TLS Certificate Imported", "SBG%2C+Trace+Recording+Session+Number+Limit+Reached":"SBG, Trace Recording Session Number Limit Reached", "SBG%2C+Trace+Session+Deactivated":"SBG, Trace Session Deactivated", "SBG%2C+Trace+Session+Times+Out":"SBG, Trace Session Times Out", "SBG%2C+Unknown+Media+Type+or+Payload+Type":"SBG, Unknown Media Type or Payload Type" } }, "vProbes": { "vf": { }, "vfc": { }, "location": { }, "alarmCondition": { } } } } }
+globalPropsPartial={"collector": {"topicPublishes": {"DCAE-COLLECTOR-UCSNMP": "DCAE-COLLECTOR-UCSNMP", "GFP-IP--SNMP-TRAPS" : "GFP-IP--SNMP-TRAPS" } }, "string_match": { "topicPublishes": { "DCAE-CL-EVENT": "DCAE-CL-EVENT" }, "aaiMatchingFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "ProvStatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "aaiSendFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "Provstatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "eventSourceType": { "f5BigIP": "f5BigIP", "vSBG_Alarms": "vSBG_Alarms", "vCTS_Alarms": "vCTS_Alarms" }, "eventSeverity": { "NORMAL": "NORMAL", "not-NORMAL": "not-NORMAL", "WARNING": "WARNING", "MINOR": "MINOR", "MAJOR": "MAJOR", "CRITICAL": "CRITICAL" }, "timeWindow": 0, "ageLimit": 1600, "outputEventName": { "": "", "OnSet": "OnSet", "Abatement": "Abatement" }, "createClosedLoopEventId": { "Initial": "Initial", "Close": "Close" } }, "global": { "service": { "": "", "vUSP": "vUSP", "vSCP": "vSCP", "vProbes": "vProbes" } }, "policy": { "timeout": 5, "recipe": { "": "", "restart": "Restart", "rebuild": "Rebuild", "migrate": "Migrate" }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { "vCTS": "vCTS", "v3CDB": "v3CDB", "vUDR": "vUDR", "vCOM": "vCOM", "vRAR": "vRAR", "vLCS": "vLCS", "vUDR-BE": "vUDR-BE", "vDBE": "vDBE" }, "parentPolicyConditions": { "Failure_Retries": "Failure: Max Retries Exceeded", "Failure_Timeout": "Failure: Time Limit Exceeded", "Failure_Exception": "Failure: Exception", "Failure": "Failure: Other", "Success": "Success" } } }
+globalPropsTest={"collector": {"topicPublishes": {"DCAE-COLLECTOR-UCSNMP": "DCAE-COLLECTOR-UCSNMP", "GFP-IP--SNMP-TRAPS" : "GFP-IP--SNMP-TRAPS" } }, "string_match": { "topicPublishes": { "DCAE-CL-EVENT": "DCAE-CL-EVENT" }, "aaiMatchingFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "ProvStatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "aaiSendFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "Provstatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "eventSourceType": { "f5BigIP": "f5BigIP", "vSBG_Alarms": "vSBG_Alarms", "vCTS_Alarms": "vCTS_Alarms" }, "eventSeverity": { "NORMAL": "NORMAL", "not-NORMAL": "not-NORMAL", "WARNING": "WARNING", "MINOR": "MINOR", "MAJOR": "MAJOR", "CRITICAL": "CRITICAL" }, "timeWindow": 0, "ageLimit": 1600, "outputEventName": { "": "", "OnSet": "OnSet", "Abatement": "Abatement" }, "createClosedLoopEventId": { "Initial": "Initial", "Close": "Close" } }, "global": { "service": { "": "", "vUSP": "vUSP", "vSCP": "vSCP", "vProbes": "vProbes" } }, "policy": { "timeout": 5, "recipe": { "": "", "restart": "Restart", "rebuild": "Rebuild", "migrate": "Migrate" }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { "vCTS": "vCTS", "v3CDB": "v3CDB", "vUDR": "vUDR", "vCOM": "vCOM", "vRAR": "vRAR", "vLCS": "vLCS", "vUDR-BE": "vUDR-BE", "vDBE": "vDBE" }, "parentPolicyConditions": { "Failure_Retries": "Failure: Max Retries Exceeded", "Failure_Timeout": "Failure: Time Limit Exceeded", "Failure_Exception": "Failure: Exception", "Failure": "Failure: Other", "Success": "Success" } }, "shared": { "byService": { "": { "vf": { }, "vfc": { }, "location": { }, "alarmCondition": { } }, "vSCP": { "vf": { "frwl_scp": "FW" }, "vfc": { "FW": "FW" }, "location": { "AKRNOHAH": "Akron", "ALLNTXSA": "Allen-2" }, "alarmCondition": { "authenticationFailure": "authenticationFailure", "bigipActive": "bigipActive", "bigipActiveActive": "bigipActiveActive", "bigipAgentRestart": "bigipAgentRestart", "bigipAgentShutdown": "bigipAgentShutdown", "bigipAgentStart": "bigipAgentStart", "bigipAggrReaperStateChange": "bigipAggrReaperStateChange", "bigipAomCpuTempTooHigh": "bigipAomCpuTempTooHigh", "bigipARPConflict": "bigipARPConflict", "bigipAsmBruteForceAttackDetected": "bigipAsmBruteForceAttackDetected", "bigipAsmDosAttackDetected": "bigipAsmDosAttackDetected", "bigipAsmFtpRequestBlocked": "bigipAsmFtpRequestBlocked", "bigipAsmFtpRequestViolation": "bigipAsmFtpRequestViolation", "bigipAsmRequestBlocked": "bigipAsmRequestBlocked", "bigipAsmRequestViolation": "bigipAsmRequestViolation", "bigipAsmSmtpRequestBlocked": "bigipAsmSmtpRequestBlocked", "bigipAsmSmtpRequestViolation": "bigipAsmSmtpRequestViolation", "bigipAuthFailed": "bigipAuthFailed", "bigipAvrAlertsMetricSmtp": "bigipAvrAlertsMetricSmtp", "bigipAvrAlertsMetricSnmp": "bigipAvrAlertsMetricSnmp", "bigipBladeNoPower": "bigipBladeNoPower", "bigipBladeOffline": "bigipBladeOffline", "bigipBladeTempHigh": "bigipBladeTempHigh", "bigipChassisFanBad": "bigipChassisFanBad", "bigipChassisPowerSupplyBad": "bigipChassisPowerSupplyBad", "bigipChassisTempHigh": "bigipChassisTempHigh", "bigipChmandAlertFanTrayBad": "bigipChmandAlertFanTrayBad", "bigipClusterdNoResponse": "bigipClusterdNoResponse", "bigipClusterPrimaryChanged": "bigipClusterPrimaryChanged", "bigipCompLimitExceeded": "bigipCompLimitExceeded", "bigipConfigLoaded": "bigipConfigLoaded", "bigipCpuFanSpeedBad": "bigipCpuFanSpeedBad", "bigipCpuFanSpeedLow": "bigipCpuFanSpeedLow", "bigipCpuTempHigh": "bigipCpuTempHigh", "bigipDiskPartitionGrowth": "bigipDiskPartitionGrowth", "bigipDiskPartitionWarn": "bigipDiskPartitionWarn", "bigipDnsRequestRateLimiterEngaged": "bigipDnsRequestRateLimiterEngaged", "bigipDosAttackStart": "bigipDosAttackStart", "bigipDosAttackStop": "bigipDosAttackStop", "bigipExternalLinkChange": "bigipExternalLinkChange", "bigipFeatureFailed": "bigipFeatureFailed", "bigipFeatureOnline": "bigipFeatureOnline", "bigipFipsDeviceError": "bigipFipsDeviceError", "bigipGtmAppAvail": "bigipGtmAppAvail", "bigipGtmAppNotAvail": "bigipGtmAppNotAvail", "bigipGtmAppObjAvail": "bigipGtmAppObjAvail", "bigipGtmAppObjNotAvail": "bigipGtmAppObjNotAvail", "bigipGtmBig3dSslCertExpired": "bigipGtmBig3dSslCertExpired", "bigipGtmBig3dSslCertWillExpire": "bigipGtmBig3dSslCertWillExpire", "bigipGtmBoxAvail": "bigipGtmBoxAvail", "bigipGtmBoxNotAvail": "bigipGtmBoxNotAvail", "bigipGtmDcAvail": "bigipGtmDcAvail", "bigipGtmDcDisabled": "bigipGtmDcDisabled", "bigipGtmDcEnabled": "bigipGtmDcEnabled", "bigipGtmDcNotAvail": "bigipGtmDcNotAvail", "bigipGtmJoinedGroup": "bigipGtmJoinedGroup", "bigipGtmKeyGenerationExpiration": "bigipGtmKeyGenerationExpiration", "bigipGtmKeyGenerationRollover": "bigipGtmKeyGenerationRollover", "bigipGtmLeftGroup": "bigipGtmLeftGroup", "bigipGtmLinkAvail": "bigipGtmLinkAvail", "bigipGtmLinkDisabled": "bigipGtmLinkDisabled", "bigipGtmLinkEnabled": "bigipGtmLinkEnabled", "bigipGtmLinkNotAvail": "bigipGtmLinkNotAvail", "bigipGtmPoolAvail": "bigipGtmPoolAvail", "bigipGtmPoolDisabled": "bigipGtmPoolDisabled", "bigipGtmPoolEnabled": "bigipGtmPoolEnabled", "bigipGtmPoolMbrAvail": "bigipGtmPoolMbrAvail", "bigipGtmPoolMbrDisabled": "bigipGtmPoolMbrDisabled", "bigipGtmPoolMbrEnabled": "bigipGtmPoolMbrEnabled", "bigipGtmPoolMbrNotAvail": "bigipGtmPoolMbrNotAvail", "bigipGtmPoolNotAvail": "bigipGtmPoolNotAvail", "bigipGtmProberPoolDisabled": "bigipGtmProberPoolDisabled", "bigipGtmProberPoolEnabled": "bigipGtmProberPoolEnabled", "bigipGtmProberPoolMbrDisabled": "bigipGtmProberPoolMbrDisabled", "bigipGtmProberPoolMbrEnabled": "bigipGtmProberPoolMbrEnabled", "bigipGtmProberPoolMbrStatusChange": "bigipGtmProberPoolMbrStatusChange", "bigipGtmProberPoolMbrStatusChangeReason": "bigipGtmProberPoolMbrStatusChangeReason", "bigipGtmProberPoolStatusChange": "bigipGtmProberPoolStatusChange", "bigipGtmProberPoolStatusChangeReason": "bigipGtmProberPoolStatusChangeReason", "bigipGtmRequestRateLimiterEngaged": "bigipGtmRequestRateLimiterEngaged", "bigipGtmServerAvail": "bigipGtmServerAvail", "bigipGtmServerDisabled": "bigipGtmServerDisabled", "bigipGtmServerEnabled": "bigipGtmServerEnabled", "bigipGtmServerNotAvail": "bigipGtmServerNotAvail", "bigipGtmSslCertExpired": "bigipGtmSslCertExpired", "bigipGtmSslCertWillExpire": "bigipGtmSslCertWillExpire", "bigipGtmVsAvail": "bigipGtmVsAvail", "bigipGtmVsDisabled": "bigipGtmVsDisabled", "bigipGtmVsEnabled": "bigipGtmVsEnabled", "bigipGtmVsNotAvail": "bigipGtmVsNotAvail", "bigipGtmWideIpAvail": "bigipGtmWideIpAvail", "bigipGtmWideIpDisabled": "bigipGtmWideIpDisabled", "bigipGtmWideIpEnabled": "bigipGtmWideIpEnabled", "bigipGtmWideIpNotAvail": "bigipGtmWideIpNotAvail", "bigipHardDiskFailure": "bigipHardDiskFailure", "bigipInetPortExhaustion": "bigipInetPortExhaustion", "bigipLibhalBladePoweredOff": "bigipLibhalBladePoweredOff", "bigipLibhalDiskBayRemoved": "bigipLibhalDiskBayRemoved", "bigipLibhalSensorAlarmCritical": "bigipLibhalSensorAlarmCritical", "bigipLibhalSsdLogicalDiskRemoved": "bigipLibhalSsdLogicalDiskRemoved", "bigipLibhalSsdPhysicalDiskRemoved": "bigipLibhalSsdPhysicalDiskRemoved", "bigipLicenseExpired": "bigipLicenseExpired", "bigipLicenseFailed": "bigipLicenseFailed", "bigipLogAlert": "bigipLogAlert", "bigipLogCrit": "bigipLogCrit", "bigipLogEmerg": "bigipLogEmerg", "bigipLogErr": "bigipLogErr", "bigipLogWarning": "bigipLogWarning", "bigipLtmVsAvail": "bigipLtmVsAvail", "bigipLtmVsDisabled": "bigipLtmVsDisabled", "bigipLtmVsEnabled": "bigipLtmVsEnabled", "bigipLtmVsUnavail": "bigipLtmVsUnavail", "bigipMemberRate": "bigipMemberRate", "bigipNetLinkDown": "bigipNetLinkDown", "bigipNodeDown": "bigipNodeDown", "bigipNodeRate": "bigipNodeRate", "bigipNodeUp": "bigipNodeUp", "bigipPacketRejected": "bigipPacketRejected", "bigipPsAbsent": "bigipPsAbsent", "bigipPsPowerOff": "bigipPsPowerOff", "bigipPsPowerOn": "bigipPsPowerOn", "bigipRaidDiskFailure": "bigipRaidDiskFailure", "bigipServiceDown": "bigipServiceDown", "bigipServiceUp": "bigipServiceUp", "bigipSsdMwiNearThreshold": "bigipSsdMwiNearThreshold", "bigipSsdMwiReachedThreshold": "bigipSsdMwiReachedThreshold", "bigipSslLimitExceeded": "bigipSslLimitExceeded", "bigipStandby": "bigipStandby", "bigipStandByFail": "bigipStandByFail", "bigipSystemCheckAlertCurrentHigh": "bigipSystemCheckAlertCurrentHigh", "bigipSystemCheckAlertCurrentLow": "bigipSystemCheckAlertCurrentLow", "bigipSystemCheckAlertFanSpeedLow": "bigipSystemCheckAlertFanSpeedLow", "bigipSystemCheckAlertMilliVoltageHigh": "bigipSystemCheckAlertMilliVoltageHigh", "bigipSystemCheckAlertMilliVoltageLow": "bigipSystemCheckAlertMilliVoltageLow", "bigipSystemCheckAlertPowerHigh": "bigipSystemCheckAlertPowerHigh", "bigipSystemCheckAlertPowerLow": "bigipSystemCheckAlertPowerLow", "bigipSystemCheckAlertTempHigh": "bigipSystemCheckAlertTempHigh", "bigipSystemCheckAlertVoltageHigh": "bigipSystemCheckAlertVoltageHigh", "bigipSystemCheckAlertVoltageLow": "bigipSystemCheckAlertVoltageLow", "bigipSystemShutdown": "bigipSystemShutdown", "bigipTamdAlert": "bigipTamdAlert", "bigipTrafficGroupActivate": "bigipTrafficGroupActivate", "bigipTrafficGroupActive": "bigipTrafficGroupActive", "bigipTrafficGroupDeactivate": "bigipTrafficGroupDeactivate", "bigipTrafficGroupForcedOffline": "bigipTrafficGroupForcedOffline", "bigipTrafficGroupOffline": "bigipTrafficGroupOffline", "bigipTrafficGroupStandby": "bigipTrafficGroupStandby", "bigipUnsolicitedRepliesExceededThreshold": "bigipUnsolicitedRepliesExceededThreshold", "bigipUpdateError": "bigipUpdateError", "bigipUpdatePriority": "bigipUpdatePriority", "bigipUpdateServer": "bigipUpdateServer", "bigipVcmpAlertsVcmpHBDetected": "bigipVcmpAlertsVcmpHBDetected", "bigipVcmpAlertsVcmpHBLost": "bigipVcmpAlertsVcmpHBLost", "bigipVcmpAlertsVcmpPowerOff": "bigipVcmpAlertsVcmpPowerOff", "bigipVcmpAlertsVcmpPowerOn": "bigipVcmpAlertsVcmpPowerOn", "bigipVirtualRate": "bigipVirtualRate", "coldStart": "coldStart", "emASMSigInstallComplete": "emASMSigInstallComplete", "emASMSigInstallFailed": "emASMSigInstallFailed", "emASMSigUpdateAvailable": "emASMSigUpdateAvailable", "emASMSigUpdateFailed": "emASMSigUpdateFailed", "emCertificateExpiration": "emCertificateExpiration", "emCpuUsage": "emCpuUsage", "emDeviceActiveMode": "emDeviceActiveMode", "emDeviceClockSkew": "emDeviceClockSkew", "emDeviceConfigSettingChanged": "emDeviceConfigSettingChanged", "emDeviceConfigSync": "emDeviceConfigSync", "emDeviceForcedOfflineMode": "emDeviceForcedOfflineMode", "emDeviceImpaired": "emDeviceImpaired", "emDeviceOfflineMode": "emDeviceOfflineMode", "emDeviceStandbyMode": "emDeviceStandbyMode", "emDeviceUnreachable": "emDeviceUnreachable", "emDiskUsage": "emDiskUsage", "emGatherServiceContractFailure": "emGatherServiceContractFailure", "emHaSyncFailed": "emHaSyncFailed", "emHotfixInstallComplete": "emHotfixInstallComplete", "emHotfixInstallFailed": "emHotfixInstallFailed", "emMemoryUsage": "emMemoryUsage", "emPerformanceStorageCap": "emPerformanceStorageCap", "emPerformanceStorageDays": "emPerformanceStorageDays", "emPerformanceThreshold": "emPerformanceThreshold", "emRaidDriveFailureDetected": "emRaidDriveFailureDetected", "emRaidDriveRebuildComplete": "emRaidDriveRebuildComplete", "emSchedBackupFailed": "emSchedBackupFailed", "emScheduledArchiveFailed": "emScheduledArchiveFailed", "emServiceContractExpiry": "emServiceContractExpiry", "emSoftwareInstallComplete": "emSoftwareInstallComplete", "emSoftwareInstallFailed": "emSoftwareInstallFailed", "emStatsCollectionRateCap": "emStatsCollectionRateCap", "emStatsDBConnectivityLost": "emStatsDBConnectivityLost", "emStatsDBConnectivityRestored": "emStatsDBConnectivityRestored", "fallingAlarm": "fallingAlarm", "ipv6IfStateChange": "ipv6IfStateChange", "linkDown": "linkDown", "linkUp": "linkUp", "mteEventSetFailure": "mteEventSetFailure", "mteTriggerFailure": "mteTriggerFailure", "mteTriggerFalling": "mteTriggerFalling", "mteTriggerFired": "mteTriggerFired", "mteTriggerRising": "mteTriggerRising", "netSnmpExampleHeartbeatNotification": "netSnmpExampleHeartbeatNotification", "newRoot": "newRoot", "nsNotifyRestart": "nsNotifyRestart", "nsNotifyShutdown": "nsNotifyShutdown", "nsNotifyStart": "nsNotifyStart", "risingAlarm": "risingAlarm", "schedActionFailure": "schedActionFailure", "smScriptAbort": "smScriptAbort", "smScriptException": "smScriptException", "smScriptResult": "smScriptResult", "topologyChange": "topologyChange", "ucdShutdown": "ucdShutdown", "ucdStart": "ucdStart", "warmStart": "warmStart" } }, "vUSP": { "vf": { "ctsf-xxx": "vCTS" }, "vfc": { "vCTS - CFED": "vCTS - CFED", "vCTS - Config": "vCTS - Config", "vCTS - DFED": "vCTS - DFED", "vCTS - TAFE-fsd": "vCTS - TAFE-fsd", "vCTS - GLS": "vCTS - GLS", "vCTS - XXX": "vCTS - XXX", "vCTS - Management Interface": "vCTS - Management Interface", "vCTS - SPFE-pfe": "vCTS - SPFE-pfe", "vCTS - DNS": "vCTS - DNS", "vCTS - SPFE-spd": "vCTS - SPFE-spd", "vCTS - SPFE-spt": "vCTS - SPFE-spt", "vCTS - TAFE-tas": "vCTS - TAFE-tas" }, "location": { "SNDGCA06": "San Diego(core site) A06", "SNDGCA64": "San Diego(core site) A64", "SNANTXCA": "San Antonio(core site)", "KSCYMO09": "Kansas City(core site)", "kings_mountain": "Kings Mountain(AMG)", "Secaucus": "Secaucus(AMG)", "lisle": "Lisle(AMG)", "concord": "Concord(AMG)", "houston": "Houston(AMG)", "akron": "Akron(AMG)" }, "alarmCondition": { "acrTemporaryBufferOverload": "acrTemporaryBufferOverload", "adnsExtendedTTLcaching": "adnsExtendedTTLcaching", "adnsQueryFailureCaching": "adnsQueryFailureCaching", "adnsQueueCongestion": "adnsQueueCongestion", "asdaCommunicationFailure": "asdaCommunicationFailure", "asdaRequestQueue": "asdaRequestQueue", "capacityLicenseKeyExpiration": "capacityLicenseKeyExpiration", "capacityLicenseKeyNearExpiration": "capacityLicenseKeyNearExpiration", "capacityLicenseKeyValidationError": "capacityLicenseKeyValidationError", "cardConnectionLost": "cardConnectionLost", "ccdbCommunicationFailure": "ccdbCommunicationFailure", "cpiAlrmCritical": "cpiAlrmCritical", "cpiAlrmMajor": "cpiAlrmMajor", "cpiAlrmMinor": "cpiAlrmMinor", "cpiAlrmWarning": "cpiAlrmWarning", "cpiAsrtEsc": "cpiAsrtEsc", "cpiAsrtNonEsc": "cpiAsrtNonEsc", "cpiAsrtNonEscCritical": "cpiAsrtNonEscCritical", "cpiAsrtNonEscMajor": "cpiAsrtNonEscMajor", "cpiAsrtNonEscMinor": "cpiAsrtNonEscMinor", "cpiAudErrCount": "cpiAudErrCount", "cpiAudManAct": "cpiAudManAct", "cpiAudNewEvent": "cpiAudNewEvent", "cpiCompleteRateAlarm": "cpiCompleteRateAlarm", "cpiCTS3xxFailRate": "cpiCTS3xxFailRate", "cpiCTS4xxFailRate": "cpiCTS4xxFailRate", "cpiCTS5xxFailRate": "cpiCTS5xxFailRate", "cpiCTS6xxFailRate": "cpiCTS6xxFailRate", "cpiCTSSIPRetransmitInvite": "cpiCTSSIPRetransmitInvite", "cpiCTSSIPRetransmitNonInvite": "cpiCTSSIPRetransmitNonInvite", "cpiDropMGAllocConnReq": "cpiDropMGAllocConnReq", "cpiDropRateAlarm": "cpiDropRateAlarm", "cpiExceptionService": "cpiExceptionService", "cpiFailRateAlarm": "cpiFailRateAlarm", "cpiFailSCTPFastRetransIncr": "cpiFailSCTPFastRetransIncr", "cpiFailSCTPFastRetransRate": "cpiFailSCTPFastRetransRate", "cpiFailSCTPSRTT1Incr": "cpiFailSCTPSRTT1Incr", "cpiFailSCTPSRTT2Incr": "cpiFailSCTPSRTT2Incr", "cpiFailSCTPT3RetransIncr": "cpiFailSCTPT3RetransIncr", "cpiFailSCTPT3RetransRate": "cpiFailSCTPT3RetransRate", "cpiFileSysUsage": "cpiFileSysUsage", "cpiMemAllocFail": "cpiMemAllocFail", "cpiNumOfLICDRDel": "cpiNumOfLICDRDel", "cpiReinitServiceSelf": "cpiReinitServiceSelf", "cpiSIPRetransmitInvite": "cpiSIPRetransmitInvite", "cpiSIPRetransmitNonInvite": "cpiSIPRetransmitNonInvite", "cpiSS7DropSCTPPktsRcvd": "cpiSS7DropSCTPPktsRcvd", "cpiSS7FailSCTPFastRetransRate": "cpiSS7FailSCTPFastRetransRate", "cpiStabilityAlarm": "cpiStabilityAlarm", "cpuOverload": "cpuOverload", "databaseConnectionLost": "databaseConnectionLost", "databaseReplicationLinkDown": "databaseReplicationLinkDown", "databaseSizeExhausted": "databaseSizeExhausted", "dbHighCpuUtilization": "dbHighCpuUtilization", "dbOffline": "dbOffline", "dbStatusUnexpected": "dbStatusUnexpected", "degradedResource": "degradedResource", "degrow": "degrow", "deviceServerCxnLost": "deviceServerCxnLost", "diamLinkDown": "diamLinkDown", "diamMaxClientsExceeded": "diamMaxClientsExceeded", "dnsThreshold": "dnsThreshold", "ethernetError": "ethernetError", "ethernetLinkDown": "ethernetLinkDown", "externalConnectivity": "externalConnectivity", "featureLicenseExpiration": "featureLicenseExpiration", "featureLicenseKeyNearExpiration": "featureLicenseKeyNearExpiration", "featureLockValidationError": "featureLockValidationError", "fqdnError": "fqdnError", "fru": "fru", "gatewayCongestion": "gatewayCongestion", "gatewayForcedOOS": "gatewayForcedOOS", "gatewayProvisioningError": "gatewayProvisioningError", "gatewayUnreachable": "gatewayUnreachable", "gatewayUnregistered": "gatewayUnregistered", "globalParameterNotFound": "globalParameterNotFound", "glsInvalidCellId": "glsInvalidCellId", "glsServerUnavailable": "glsServerUnavailable", "grow": "grow", "h248MessageBufferDepletion": "h248MessageBufferDepletion", "hlrSyncConnection": "hlrSyncConnection", "hlrSyncQueue": "hlrSyncQueue", "hostDown": "hostDown", "hostReset": "hostReset", "invalidGateway": "invalidGateway", "iriLinkDown": "iriLinkDown", "ldapServerConnectionLost": "ldapServerConnectionLost", "lispBufferFullExternalLIG": "lispBufferFullExternalLIG", "llcDown": "llcDown", "logicalLinkDown": "logicalLinkDown", "logicalLinkNotFound": "logicalLinkNotFound", "logRotateThreshold": "logRotateThreshold", "memoryOverload": "memoryOverload", "nodeConfigFailure": "nodeConfigFailure", "nodeGroupOOS": "nodeGroupOOS", "nodeOOS": "nodeOOS", "nonCompliantFaultGroupMemberState": "nonCompliantFaultGroupMemberState", "nonCsAddrChannelDepletion": "nonCsAddrChannelDepletion", "numberOfTuplesInUse": "numberOfTuplesInUse", "osSecInfoModificationDetected": "osSecInfoModificationDetected", "osSecInformationMissing": "osSecInformationMissing", "osSecUnexpectedInformation": "osSecUnexpectedInformation", "pdnsMySqlReplication": "pdnsMySqlReplication", "pktCorruptionDetectedViaRCCLANCheck": "pktCorruptionDetectedViaRCCLANCheck", "platformCommandFailure": "platformCommandFailure", "pmDataNotCollected": "pmDataNotCollected", "prdbConnectWithAlternateFailure": "prdbConnectWithAlternateFailure", "prdbSyncDataToAlternateFailure": "prdbSyncDataToAlternateFailure", "preAllocatedResourceOverload": "preAllocatedResourceOverload", "prifSocketError": "prifSocketError", "processDown": "processDown", "processNotStarted": "processNotStarted", "provisioningInhibitedMode": "provisioningInhibitedMode", "prsCallInstanceExceeded": "prsCallInstanceExceeded", "prsCpuOverload": "prsCpuOverload", "prsDatabaseMigrationFailure": "prsDatabaseMigrationFailure", "prsFailureToConnectWithPRDB": "prsFailureToConnectWithPRDB", "prsQueueExceeded": "prsQueueExceeded", "rccInhibitedMode": "rccInhibitedMode", "remotedbLinkDown": "remotedbLinkDown", "remoteQueryServerFailure": "remoteQueryServerFailure", "restore": "restore", "serviceCFGDataTimestampError": "serviceCFGDataTimestampError", "serviceCommCxnLost": "serviceCommCxnLost", "serviceOnewayCommunication": "serviceOnewayCommunication", "sheddingOverload": "sheddingOverload", "simxml": "simxml", "sipLinkSetMaxQuarantineList": "sipLinkSetMaxQuarantineList", "sipLinkSetUnavailable": "sipLinkSetUnavailable", "sipLinkUnavailable": "sipLinkUnavailable", "smdiSocketError": "smdiSocketError", "socketError": "socketError", "softwareAllocatedResourceOverload": "softwareAllocatedResourceOverload", "softwareComponentDown": "softwareComponentDown", "softwareComponentStandbyNotReady": "softwareComponentStandbyNotReady", "softwareLicense": "softwareLicense", "svcdegrow": "svcdegrow", "svcgrow": "svcgrow", "swVersionMismatch": "swVersionMismatch", "tftpDownloadCorrupt": "tftpDownloadCorrupt", "timeStampValueOutOfSystemRange": "timeStampValueOutOfSystemRange", "tlsInitError": "tlsInitError", "transactionHandlerBlockDepletion": "transactionHandlerBlockDepletion", "upgrade": "upgrade", "usageOfSyncTable": "usageOfSyncTable", "utHttpProxyConnectionDown": "utHttpProxyConnectionDown", "wpifSocketError": "wpifSocketError", "BackupFailure": "BackupFailure", "Configuration": "Configuration", "COTRecordTransferFailure": "COTRecordTransferFailure", "CPMUSERDATAINCONSITENCY": "CPMUSERDATAINCONSITENCY", "CPMUSERDATARESTORED": "CPMUSERDATARESTORED", "EventQueueCapacity": "EventQueueCapacity", "ICMPFailure": "ICMPFailure", "IPsecConfig": "IPsecConfig", "LinkDown": "LinkDown", "NotifyDisabled": "NotifyDisabled", "NotifyLocked": "NotifyLocked", "NumTL1MeasThresh": "NumTL1MeasThresh", "RADIUSTOLDAPFAILURE": "RADIUSTOLDAPFAILURE", "ROOTACCESSDENIED": "ROOTACCESSDENIED", "ROOTFTPVIOLATION": "ROOTFTPVIOLATION", "ROOTLOGINVIOLATION": "ROOTLOGINVIOLATION", "ROOTSSHLOGINVIOLATION": "ROOTSSHLOGINVIOLATION", "SetupAAAFailure": "SetupAAAFailure", "SNETrapOverload": "SNETrapOverload", "SNMPAuthenticationFailure": "SNMPAuthenticationFailure", "SNMPFailure": "SNMPFailure", "SUTOROOTFAILURE": "SUTOROOTFAILURE", "SYSTEMTrapOverload": "SYSTEMTrapOverload", "ThresholdCrossed": "ThresholdCrossed", "UndiscoveredObject": "UndiscoveredObject", "WriteAAAFailure": "WriteAAAFailure" } }, "Trinity": { "vf": { "aSBG": "aSBG", "nSBG": "nSBG", "tSBG": "tSBG" }, "vfc": { "pld": "PL - Payload Processor", "scr": "SC - System Controller" }, "location": { "SNDGCA64": "San Diego SAN3", "ALPRGAED": "Alpharetta PDK1", "LSLEILAA":"Lisle DPA3" }, "alarmCondition": { "A+Fallback+Operation+will+soon+be+started":"A Fallback Operation will soon be started", "BRM%2C+Auto+Export+Backup+Failed":"BRM, Auto Export Backup Failed", "BRM%2C+Scheduled+Backup+Failed":"BRM, Scheduled Backup Failed", "COM+SA%2C+AMF+Component+Cleanup+Failed":"COM SA, AMF Component Cleanup Failed", "COM+SA%2C+AMF+Component+Instantiation+Failed":"COM SA, AMF Component Instantiation Failed", "COM+SA%2C+AMF+SI+Unassigned":"COM SA, AMF SI Unassigned", "COM+SA%2C+CLM+Cluster+Node+Unavailable":"COM SA, CLM Cluster Node Unavailable", "COM+SA%2C+MDF+Detected+Model+Error":"COM SA, MDF Detected Model Error", "COM+SA%2C+Proxy+Status+of+a+Component+Changed+to+Unproxied":"COM SA, Proxy Status of a Component Changed to Unproxied", "File+Management%2C+Number+of+Files+in+FileGroup+Exceeded":"File Management, Number of Files in FileGroup Exceeded", "File+Management%2C+Max+Size+in+FileGroup+Exceeded":"File Management, Max Size in FileGroup Exceeded", "LOTC+Disk+Replication+Communication":"LOTC Disk Replication Communication", "LOTC+Disk+Replication+Consistency":"LOTC Disk Replication Consistency", "LOTC+Disk+Usage":"LOTC Disk Usage", "LOTC+memory+Usage":"LOTC memory Usage", "LOTC+Time+Synchronization":"LOTC Time Synchronization", "SBG%2C+BGF+Control+Link+Down":"SBG, BGF Control Link Down", "SBG%2C+BGF+Control+Link+Disabled":"SBG, BGF Control Link Disabled", "SBG%2C+BGF+Control+Link+Enabled":"SBG, BGF Control Link Enabled", "SBG%2C+BGF+Control+Link+Remote+Locked":"SBG, BGF Control Link Remote Locked", "SBG%2C+Charging+Data+Storage+Maximum+Records+Reached":"SBG, Charging Data Storage Maximum Records Reached", "SBG%2C+Charging+Server+Rejects+Charging+Data":"SBG, Charging Server Rejects Charging Data", "SBG%2C+Excessive+Packet+Rate+Detected+":"SBG, Excessive Packet Rate Detected ", "SBG%2C+High+Amount+of+Malformed+Packets+Received":"SBG, High Amount of Malformed Packets Received", "SBG%2C+High+Amount+of+STUN+Packets+Detected":"SBG, High Amount of STUN Packets Detected", "SBG%2C+High+Amount+of+TCP+SYN+Packets+Received":"SBG, High Amount of TCP SYN Packets Received", "SBG%2C+High+Amount+of+UDP+Packets+Received+":"SBG, High Amount of UDP Packets Received ", "SBG%2C+IP+Address+Blocked+Due+to+Excessive+Packet+Rate":"SBG, IP Address Blocked Due to Excessive Packet Rate", "SBG%2C+Lost+Connectivity+to+Diameter+Server":"SBG, Lost Connectivity to Diameter Server", "SBG%2C+Mated+Pair+out+of+Service":"SBG, Mated Pair out of Service", "SBG%2C+Network+Unavailable+for+Media+Handling":"SBG, Network Unavailable for Media Handling", "SBG%2C+Non-emergency+Call+Released+to+Free+Resources+for+Emergency+Call":"SBG, Non-emergency Call Released to Free Resources for Emergency Call", "SBG%2C+Not+Enough+Disk+Space+for+Storing+Charging+Data":"SBG, Not Enough Disk Space for Storing Charging Data", "SBG%2C+Payload+Mated+Pair+Failure":"SBG, Payload Mated Pair Failure", "SBG%2C+Payload+Processor+Failure":"SBG, Payload Processor Failure", "SBG%2C+Processor+Overloaded":"SBG, Processor Overloaded", "SBG%2C+Registered+User+Set+in+Quarantine":"SBG, Registered User Set in Quarantine", "SBG%2C+Registration+Contacts+Exceed+Configured+Threshold":"SBG, Registration Contacts Exceed Configured Threshold", "SBG%2C+Sequential+Restart+Initiated":"SBG, Sequential Restart Initiated", "SBG%2C+SIP+Abuse+Detected":"SBG, SIP Abuse Detected", "SBG%2C+SIP+Network+Locked":"SBG, SIP Network Locked", "SBG%2C+SIP+Next+Hop+Reachable":"SBG, SIP Next Hop Reachable", "SBG%2C+SIP+Next+Hop+Unreachable":"SBG, SIP Next Hop Unreachable", "SBG%2C+SIP+Request+Rejected+by+Network+Throttling":"SBG, SIP Request Rejected by Network Throttling", "SBG%2C+TLS+Certificate+Imported":"SBG, TLS Certificate Imported", "SBG%2C+Trace+Recording+Session+Number+Limit+Reached":"SBG, Trace Recording Session Number Limit Reached", "SBG%2C+Trace+Session+Deactivated":"SBG, Trace Session Deactivated", "SBG%2C+Trace+Session+Times+Out":"SBG, Trace Session Times Out", "SBG%2C+Unknown+Media+Type+or+Payload+Type":"SBG, Unknown Media Type or Payload Type" } }, "vProbes": { "vf": { }, "vfc": { }, "location": { }, "alarmCondition": { } } } } }
+globalPropsPartialTest={"collector": {"topicPublishes": {"DCAE-COLLECTOR-UCSNMP": "DCAE-COLLECTOR-UCSNMP", "GFP-IP--SNMP-TRAPS" : "GFP-IP--SNMP-TRAPS" } }, "string_match": { "topicPublishes": { "DCAE-CL-EVENT": "DCAE-CL-EVENT" }, "aaiMatchingFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "ProvStatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "aaiSendFields": { "VMID": "VMID", "Identiy": "Identiy", "VNFNAME": "VNFNAME", "LOCID": "LOCID", "VServerSelfLink": "VServerSelfLink", "Provstatus": "Provstatus", "OAMIPV4": "OAMIPV4", "OAMIPV6": "OAMIPV6", "VMNAME": "VMNAME", "TenantID":"TenantID", "in_maint":"in_maint", "is_closed_loop_disabled":"is_closed_loop_disabled", "Location":"Location", "OAM_network_name":"OAM_network_name" }, "eventSourceType": { "f5BigIP": "f5BigIP", "vSBG_Alarms": "vSBG_Alarms", "vCTS_Alarms": "vCTS_Alarms" }, "eventSeverity": { "NORMAL": "NORMAL", "not-NORMAL": "not-NORMAL", "WARNING": "WARNING", "MINOR": "MINOR", "MAJOR": "MAJOR", "CRITICAL": "CRITICAL" }, "timeWindow": 0, "ageLimit": 1600, "outputEventName": { "": "", "OnSet": "OnSet", "Abatement": "Abatement" }, "createClosedLoopEventId": { "Initial": "Initial", "Close": "Close" } }, "global": { "service": { "": "", "vUSP": "vUSP", "vSCP": "vSCP", "vProbes": "vProbes" } }, "policy": { "timeout": 5, "recipe": { "": "", "restart": "Restart", "rebuild": "Rebuild", "migrate": "Migrate" }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { "vCTS": "vCTS", "v3CDB": "v3CDB", "vUDR": "vUDR", "vCOM": "vCOM", "vRAR": "vRAR", "vLCS": "vLCS", "vUDR-BE": "vUDR-BE", "vDBE": "vDBE" }, "parentPolicyConditions": { "Failure_Retries": "Failure: Max Retries Exceeded", "Failure_Timeout": "Failure: Time Limit Exceeded", "Failure_Exception": "Failure: Exception", "Failure": "Failure: Other", "Success": "Success" } }}
+ui.location.default={"location":{"SNDGCA64":"San Diego SAN3","ALPRGAED":"Alpharetta PDK1","LSLEILAA":"Lisle DPA3"}}
+ui.alarm.fault={"alarmCondition":{"A+Fallback+Operation+will+soon+be+started":"A Fallback Operation will soon be started","BRM%2C+Auto+Export+Backup+Failed":"BRM, Auto Export Backup Failed","BRM%2C+Scheduled+Backup+Failed":"BRM, Scheduled Backup Failed","COM+SA%2C+AMF+Component+Cleanup+Failed":"COM SA, AMF Component Cleanup Failed","COM+SA%2C+AMF+Component+Instantiation+Failed":"COM SA, AMF Component Instantiation Failed","COM+SA%2C+AMF+SI+Unassigned":"COM SA, AMF SI Unassigned","COM+SA%2C+CLM+Cluster+Node+Unavailable":"COM SA, CLM Cluster Node Unavailable","COM+SA%2C+MDF+Detected+Model+Error":"COM SA, MDF Detected Model Error","COM+SA%2C+Proxy+Status+of+a+Component+Changed+to+Unproxied":"COM SA, Proxy Status of a Component Changed to Unproxied","File+Management%2C+Number+of+Files+in+FileGroup+Exceeded":"File Management, Number of Files in FileGroup Exceeded","File+Management%2C+Max+Size+in+FileGroup+Exceeded":"File Management, Max Size in FileGroup Exceeded","LOTC+Disk+Replication+Communication":"LOTC Disk Replication Communication","LOTC+Disk+Replication+Consistency":"LOTC Disk Replication Consistency","LOTC+Disk+Usage":"LOTC Disk Usage","LOTC+memory+Usage":"LOTC memory Usage","LOTC+Time+Synchronization":"LOTC Time Synchronization","SBG%2C+BGF+Control+Link+Down":"SBG, BGF Control Link Down","SBG%2C+BGF+Control+Link+Disabled":"SBG, BGF Control Link Disabled","SBG%2C+BGF+Control+Link+Enabled":"SBG, BGF Control Link Enabled","SBG%2C+BGF+Control+Link+Remote+Locked":"SBG, BGF Control Link Remote Locked","SBG%2C+Charging+Data+Storage+Maximum+Records+Reached":"SBG, Charging Data Storage Maximum Records Reached","SBG%2C+Charging+Server+Rejects+Charging+Data":"SBG, Charging Server Rejects Charging Data","SBG%2C+Excessive+Packet+Rate+Detected+":"SBG, Excessive Packet Rate Detected ","SBG%2C+High+Amount+of+Malformed+Packets+Received":"SBG, High Amount of Malformed Packets Received","SBG%2C+High+Amount+of+STUN+Packets+Detected":"SBG, High Amount of STUN Packets Detected","SBG%2C+High+Amount+of+TCP+SYN+Packets+Received":"SBG, High Amount of TCP SYN Packets Received","SBG%2C+High+Amount+of+UDP+Packets+Received+":"SBG, High Amount of UDP Packets Received ","SBG%2C+IP+Address+Blocked+Due+to+Excessive+Packet+Rate":"SBG, IP Address Blocked Due to Excessive Packet Rate","SBG%2C+Lost+Connectivity+to+Diameter+Server":"SBG, Lost Connectivity to Diameter Server","SBG%2C+Mated+Pair+out+of+Service":"SBG, Mated Pair out of Service","SBG%2C+Network+Unavailable+for+Media+Handling":"SBG, Network Unavailable for Media Handling","SBG%2C+Non-emergency+Call+Released+to+Free+Resources+for+Emergency+Call":"SBG, Non-emergency Call Released to Free Resources for Emergency Call","SBG%2C+Not+Enough+Disk+Space+for+Storing+Charging+Data":"SBG, Not Enough Disk Space for Storing Charging Data","SBG%2C+Payload+Mated+Pair+Failure":"SBG, Payload Mated Pair Failure","SBG%2C+Payload+Processor+Failure":"SBG, Payload Processor Failure","SBG%2C+Processor+Overloaded":"SBG, Processor Overloaded","SBG%2C+Registered+User+Set+in+Quarantine":"SBG, Registered User Set in Quarantine","SBG%2C+Registration+Contacts+Exceed+Configured+Threshold":"SBG, Registration Contacts Exceed Configured Threshold","SBG%2C+Sequential+Restart+Initiated":"SBG, Sequential Restart Initiated","SBG%2C+SIP+Abuse+Detected":"SBG, SIP Abuse Detected","SBG%2C+SIP+Network+Locked":"SBG, SIP Network Locked","SBG%2C+SIP+Next+Hop+Reachable":"SBG, SIP Next Hop Reachable","SBG%2C+SIP+Next+Hop+Unreachable":"SBG, SIP Next Hop Unreachable","SBG%2C+SIP+Request+Rejected+by+Network+Throttling":"SBG, SIP Request Rejected by Network Throttling","SBG%2C+TLS+Certificate+Imported":"SBG, TLS Certificate Imported","SBG%2C+Trace+Recording+Session+Number+Limit+Reached":"SBG, Trace Recording Session Number Limit Reached","SBG%2C+Trace+Session+Deactivated":"SBG, Trace Session Deactivated","SBG%2C+Trace+Session+Times+Out":"SBG, Trace Session Times Out","SBG%2C+Unknown+Media+Type+or+Payload+Type":"SBG, Unknown Media Type or Payload Type"}}
diff --git a/src/test/resources/https/https-test.properties b/src/test/resources/https/https-test.properties
new file mode 100644
index 000000000..f38a46428
--- /dev/null
+++ b/src/test/resources/https/https-test.properties
@@ -0,0 +1,152 @@
+###
+# ============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.
+###
+
+info.build.artifact=@project.artifactId@
+info.build.name=@project.name@
+info.build.description=@project.description@
+info.build.version=@project.version@
+
+### Set the port for HTTP or HTTPS protocol (Controlled by Spring framework, only one at a time).
+### (See below for the parameter 'server.http.port' if you want to have both enabled)
+### To have only HTTP, keep the lines server.ssl.* commented
+### To have only HTTPS enabled, uncomment the server.ssl.* lines and specify a right keystore location
+server.port=10443
+### Settings for HTTPS (this automatically enables the HTTPS on the port 'server.port')
+server.ssl.key-store=classpath:https/keystore-test.jks
+server.ssl.key-store-password=testpass
+server.ssl.key-password=testpass
+
+### In order to be user friendly when HTTPS is enabled,
+### you can add another HTTP port that will be automatically redirected to HTTPS
+### by enabling this parameter (server.http.port) and set it to another port (80 or 8080, 8090, etc ...)
+server.http-to-https-redirection.port=10080
+
+### HTTP Example:
+###--------------
+### server.port=8080
+
+### HTTPS Example:
+### --------------
+### server.port=8443
+### server.ssl.key-store=file:/tmp/mykey.jks
+### server.ssl.key-store-password=mypass
+### server.ssl.key-password=mypass
+
+### HTTP (Redirected to HTTPS) and HTTPS Example:
+### --------------------------------------------
+### server.port=8443 <-- The HTTPS port
+### server.ssl.key-store=file:/tmp/mykey.jks
+### server.ssl.key-store-password=mypass
+### server.ssl.key-password=mypass
+### server.http-to-https-redirection.port=8090 <-- The HTTP port
+
+server.contextPath=/
+#Modified engine-rest applicationpath
+spring.jersey.application-path=/engine-rest
+spring.profiles.active=clamp-default,clamp-spring-authentication
+spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
+
+#The max number of active threads in this pool
+server.tomcat.max-threads=200
+#The minimum number of threads always kept alive
+server.tomcat.min-Spare-Threads=25
+#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
+server.tomcat.max-idle-time=60000
+
+
+#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept
+#com.att.ajsc.common.interceptors.PreInterceptor.url=/**
+#com.att.ajsc.common.interceptors.PostInterceptor.url=/**
+
+#Servlet context parameters
+server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
+
+camel.springboot.consumer-template-cache-size=1000
+camel.springboot.producer-template-cache-size=1000
+camel.springboot.jmx-enabled=true
+camel.defaultthreadpool.poolsize=10
+camel.defaultthreadpool.maxpoolsize=20
+camel.defaultthreadpool.maxqueuesize=1000
+camel.defaultthreadpool.keepaliveTime=60
+camel.defaultthreadpool.rejectpolicy=CallerRuns
+
+kubernetes.namespace=com-att-ajsc
+
+#server.port=0
+
+#Camunda Process Engine DataSource connection Details
+spring.datasource.camunda.url=jdbc:mysql://localhost:${docker.mariadb.port.host}/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&maxReconnects=100
+spring.datasource.camunda.username=camunda
+spring.datasource.camunda.password=ndMSpw4CAM
+spring.datasource.camunda.driverClassName=com.mysql.jdbc.Driver
+spring.datasource.camunda.validationQuery=SELECT 1
+spring.datasource.camunda.validationQueryTimeout=20000
+spring.datasource.camunda.validationInterval=60000
+spring.datasource.camunda.testWhileIdle = true
+# Automatically test whether a connection provided is good or not
+spring.datasource.camunda.testOnBorrow=true
+
+#Camunda application properties
+#Camunda history level
+camunda.bpm.history-level=auto
+
+#clds datasource connection details
+spring.datasource.cldsdb.driver-class-name=com.mysql.jdbc.Driver
+spring.datasource.cldsdb.url=jdbc:mysql://localhost:${docker.mariadb.port.host}/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&maxReconnects=100
+spring.datasource.cldsdb.username=clds
+spring.datasource.cldsdb.password=sidnnd83K
+spring.datasource.cldsdb.driverClassName=com.mysql.jdbc.Driver
+spring.datasource.cldsdb.validationQuery=SELECT 1
+spring.datasource.cldsdb.validationQueryTimeout=20000
+spring.datasource.cldsdb.validationInterval=60000
+spring.datasource.cldsdb.testWhileIdle = true
+# Automatically test whether a connection provided is good or not
+spring.datasource.cldsdb.testOnBorrow=true
+
+#Async Executor default Parameters
+async.core.pool.size=10
+async.max.pool.size=20
+async.queue.capacity=500
+
+org.onap.clamp.config.dcae.url=http://localhost:9000/closedloop-dcae-services
+
+#GRM Edge endpoint details
+service.name=ajsc6camundademo
+service.version=1.0.0.0
+routeoffer=TEST
+#Update with your application name
+application.name=AJSC6CAMUNDA
+
+org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties
+org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties
+org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json
+org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties
+
+#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case !
+CLDS_PERMISSION_TYPE_CL=permission-type-cl
+CLDS_PERMISSION_TYPE_CL_MANAGE=permission-type-cl-manage
+CLDS_PERMISSION_TYPE_CL_EVENT=permission-type-cl-event
+CLDS_PERMISSION_TYPE_FILTER_VF=permission-type-filter-vf
+CLDS_PERMISSION_TYPE_TEMPLATE=permission-type-template
+#This one indicates the type of instances (dev|prod|perf...), this must be set accordingly in clds-users.properties
+CLDS_PERMISSION_INSTANCE=dev \ No newline at end of file
diff --git a/src/test/resources/https/keystore-test.jks b/src/test/resources/https/keystore-test.jks
new file mode 100644
index 000000000..04ad3b114
--- /dev/null
+++ b/src/test/resources/https/keystore-test.jks
Binary files differ