aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/docker/backend/backend-files.xml2
-rw-r--r--src/main/docker/frontend/Dockerfile6
-rw-r--r--src/main/docker/frontend/frontend-files.xml11
-rw-r--r--src/main/docker/frontend/nginx/nginx.conf23
-rw-r--r--src/main/java/org/onap/clamp/clds/config/DefaultUserConfiguration.java13
-rw-r--r--src/main/java/org/onap/clamp/clds/service/CldsDictionaryService.java58
-rw-r--r--src/main/java/org/onap/clamp/loop/Loop.java39
-rw-r--r--src/main/java/org/onap/clamp/loop/LoopCsarInstaller.java68
-rw-r--r--src/main/java/org/onap/clamp/loop/components/external/ExternalComponent.java6
-rw-r--r--src/main/java/org/onap/clamp/loop/components/external/ExternalComponentState.java60
-rw-r--r--src/main/java/org/onap/clamp/loop/components/external/PolicyComponent.java60
-rw-r--r--src/main/java/org/onap/clamp/policy/operational/LegacyOperationalPolicy.java37
-rw-r--r--src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java37
-rw-r--r--src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilder.java146
-rw-r--r--src/main/resources/META-INF/resources/swagger.html2
-rw-r--r--src/main/resources/application-noaaf.properties19
-rw-r--r--src/main/resources/application.properties2
-rw-r--r--src/main/resources/clds/aaf/ssl/clamp.key32
-rw-r--r--src/main/resources/clds/aaf/ssl/clamp.pem64
-rw-r--r--src/main/resources/clds/camel/routes/dcae-flows.xml51
-rw-r--r--src/main/resources/clds/camel/routes/loop-flows.xml166
-rw-r--r--src/main/resources/clds/camel/routes/policy-flows.xml128
-rw-r--r--src/main/resources/clds/camel/routes/utils-flows.xml19
-rw-r--r--src/main/resources/clds/json-schema/operational_policies/operational_policy.json362
-rw-r--r--src/test/java/org/onap/clamp/clds/it/CldsDictionaryServiceItCase.java72
-rw-r--r--src/test/java/org/onap/clamp/loop/LoopToJsonTest.java34
-rw-r--r--src/test/java/org/onap/clamp/policy/microservice/OperationalPolicyPayloadTest.java20
-rw-r--r--src/test/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilderTest.java52
-rw-r--r--src/test/resources/clds/OperationalPolicyRepresentationBuilderTest.java52
-rwxr-xr-xsrc/test/resources/http-cache/third_party_proxy.py2
-rw-r--r--src/test/resources/sql/loop-examples.sql547
-rw-r--r--src/test/resources/tosca/guard1-policy-payload.json19
-rw-r--r--src/test/resources/tosca/guard2-policy-payload.json20
-rw-r--r--src/test/resources/tosca/operational-policy-json-schema.json574
-rw-r--r--src/test/resources/tosca/operational-policy-payload-legacy.yaml52
-rw-r--r--src/test/resources/tosca/operational-policy-payload.json2
-rw-r--r--src/test/resources/tosca/operational-policy-payload.yaml60
-rw-r--r--src/test/resources/tosca/operational-policy-properties.json149
-rw-r--r--src/test/resources/tosca/pdp-group-policy-payload.json4
39 files changed, 2560 insertions, 510 deletions
diff --git a/src/main/docker/backend/backend-files.xml b/src/main/docker/backend/backend-files.xml
index 7a9c6f530..c73c47f64 100644
--- a/src/main/docker/backend/backend-files.xml
+++ b/src/main/docker/backend/backend-files.xml
@@ -36,7 +36,7 @@
<include>${project.build.finalName}.jar</include>
</includes>
<directory>${project.build.directory}</directory>
- <outputDirectory>/</outputDirectory>
+ <outputDirectory></outputDirectory>
</fileSet>
</fileSets>
diff --git a/src/main/docker/frontend/Dockerfile b/src/main/docker/frontend/Dockerfile
index 8c755b039..8cdad3088 100644
--- a/src/main/docker/frontend/Dockerfile
+++ b/src/main/docker/frontend/Dockerfile
@@ -46,7 +46,9 @@ RUN mkdir /var/log/onap
RUN chmod a+rwx /var/log/onap
COPY --from=build /app/build /usr/share/nginx/html
+COPY --from=build /app/ssl /etc/ssl
RUN rm /etc/nginx/conf.d/default.conf
-COPY onap-clamp-frontend/nginx/nginx.conf /etc/nginx/conf.d
-EXPOSE 80
+#COPY onap-clamp-frontend/nginx/nginx.conf /etc/nginx/conf.d
+COPY nginx/nginx.conf /etc/nginx/conf.d
+EXPOSE 443
CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file
diff --git a/src/main/docker/frontend/frontend-files.xml b/src/main/docker/frontend/frontend-files.xml
index 2610e828e..aaf32be81 100644
--- a/src/main/docker/frontend/frontend-files.xml
+++ b/src/main/docker/frontend/frontend-files.xml
@@ -17,7 +17,7 @@
limitations under the License.
============LICENSE_END=========================================================
-->
-
+
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -35,8 +35,13 @@
<excludes>
<exclude>node_modules</exclude>
</excludes>
- <directory>${project.basedir}/ui-react</directory>
- <outputDirectory>/</outputDirectory>
+ <directory>${project.build.directory}/${ui.react.src}</directory>
+ <outputDirectory></outputDirectory>
+ </fileSet>
+ <!-- include ssl certificates files obtain from aaf p12 -->
+ <fileSet>
+ <directory>${project.basedir}/src/main/resources/clds/aaf/ssl</directory>
+ <outputDirectory>ssl</outputDirectory>
</fileSet>
</fileSets>
diff --git a/src/main/docker/frontend/nginx/nginx.conf b/src/main/docker/frontend/nginx/nginx.conf
new file mode 100644
index 000000000..5bcac5cfc
--- /dev/null
+++ b/src/main/docker/frontend/nginx/nginx.conf
@@ -0,0 +1,23 @@
+server {
+
+ listen 443 default ssl;
+ ssl_protocols TLSv1.2;
+ ssl_certificate /etc/ssl/clamp.pem;
+ ssl_certificate_key /etc/ssl/clamp.key;
+ location /restservices/clds/ {
+ proxy_pass https://clamp-backend:8443;
+ }
+
+ location / {
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ try_files $uri $uri/ /index.html;
+ }
+
+ error_page 500 502 503 504 /50x.html;
+
+ location = /50x.html {
+ root /usr/share/nginx/html;
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/org/onap/clamp/clds/config/DefaultUserConfiguration.java b/src/main/java/org/onap/clamp/clds/config/DefaultUserConfiguration.java
index a8ff12067..9d4e7d0c7 100644
--- a/src/main/java/org/onap/clamp/clds/config/DefaultUserConfiguration.java
+++ b/src/main/java/org/onap/clamp/clds/config/DefaultUserConfiguration.java
@@ -75,8 +75,10 @@ public class DefaultUserConfiguration extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) {
try {
http.csrf().disable().httpBasic().and().authorizeRequests().antMatchers("/restservices/clds/v1/user/**")
- .authenticated().anyRequest().permitAll().and().logout().and().sessionManagement().maximumSessions(1)
- .and().invalidSessionUrl("/designer/timeout.html");
+ .authenticated().anyRequest().permitAll().and().logout()
+ .logoutUrl("/restservices/clds/v1/user/logout").logoutSuccessUrl("/index.html")
+ .invalidateHttpSession(true).deleteCookies("JSESSIONID").and().sessionManagement()
+ .maximumSessions(1);
} catch (Exception e) {
logger.error(SETUP_WEB_USERS_EXCEPTION_MSG, e);
@@ -105,7 +107,7 @@ public class DefaultUserConfiguration extends WebSecurityConfigurerAdapter {
}
for (CldsUser user : usersList) {
auth.inMemoryAuthentication().withUser(user.getUser()).password(user.getPassword())
- .authorities(user.getPermissionsString()).and().passwordEncoder(passwordEncoder);
+ .authorities(user.getPermissionsString()).and().passwordEncoder(passwordEncoder);
}
} catch (Exception e) {
logger.error(SETUP_WEB_USERS_EXCEPTION_MSG, e);
@@ -118,8 +120,7 @@ public class DefaultUserConfiguration extends WebSecurityConfigurerAdapter {
* CldsUser.
*
* @return The array of CldsUser
- * @throws IOException
- * In case of the file is not found
+ * @throws IOException In case of the file is not found
*/
private CldsUser[] loadUsers() throws IOException {
logger.info("Load from clds-users.properties");
@@ -134,7 +135,7 @@ public class DefaultUserConfiguration extends WebSecurityConfigurerAdapter {
return new BCryptPasswordEncoder(cldsBcryptEncoderStrength);
} else {
throw new CldsConfigException(
- "Invalid clamp.config.security.encoder value. 'bcrypt' is the only option at this time.");
+ "Invalid clamp.config.security.encoder value. 'bcrypt' is the only option at this time.");
}
}
} \ No newline at end of file
diff --git a/src/main/java/org/onap/clamp/clds/service/CldsDictionaryService.java b/src/main/java/org/onap/clamp/clds/service/CldsDictionaryService.java
index c228e171a..454056cd3 100644
--- a/src/main/java/org/onap/clamp/clds/service/CldsDictionaryService.java
+++ b/src/main/java/org/onap/clamp/clds/service/CldsDictionaryService.java
@@ -60,47 +60,73 @@ public class CldsDictionaryService extends SecureServiceBase {
@PostConstruct
- private final void initConstruct() {
+ private void initConstruct() {
permissionReadTosca = SecureServicePermission.create(cldsPermissionTypeTosca, cldsPermissionInstance, "read");
permissionUpdateTosca = SecureServicePermission.create(cldsPermissionTypeTosca, cldsPermissionInstance,
"update");
}
/**
- * REST Service that creates or Updates a Dictionary.
- *
+ * REST Service that creates a Dictionary.
+ *
* @param dictionaryName dictionary name
- * @param cldsDictionary clds dictionary
* @return CldsDictionary that was created in DB.
*/
+ public CldsDictionary createDictionary(String dictionaryName) {
+ CldsDictionary cldsDictionary = new CldsDictionary();
+ cldsDictionary.setDictionaryName(dictionaryName);
+ cldsDictionary.save(cldsDictionary.getDictionaryName(), cldsDao, getUserId());
+ return cldsDictionary;
+ }
+
+ /**
+ * REST Service that creates or Updates a Dictionary.
+ * Used in clds-services.xml
+ *
+ * @param cldsDictionary clds dictionary
+ * @return ResponseEntity with CldsDictionary that was created in DB.
+ */
public ResponseEntity<CldsDictionary> createOrUpdateDictionary(String dictionaryName,
- CldsDictionary cldsDictionary) {
- final Date startTime = new Date();
+ CldsDictionary cldsDictionary) {
+
+ Date startTime = new Date();
LoggingUtils.setRequestContext("CldsDictionaryService: createOrUpdateDictionary", getPrincipalName());
// TODO revisit based on new permissions
isAuthorized(permissionUpdateTosca);
+
if (cldsDictionary == null) {
- cldsDictionary = new CldsDictionary();
- cldsDictionary.setDictionaryName(dictionaryName);
+
+ cldsDictionary = createDictionary(dictionaryName);
+ } else {
+
+ if (cldsDictionary.getDictionaryName() == null) {
+ cldsDictionary.setDictionaryName(dictionaryName);
+ }
+
+ cldsDictionary.save(cldsDictionary.getDictionaryName(), cldsDao, getUserId());
}
- cldsDictionary.save(dictionaryName, cldsDao, getUserId());
- auditLogInfo("createOrUpdateDictionary", startTime);
+
+ LoggingUtils.setTimeContext(startTime, new Date());
+ LoggingUtils.setResponseContext("0", "createOrUpdateDictionary success", this.getClass().getName());
+ auditLogger.info("createOrUpdateDictionary completed");
+
return new ResponseEntity<>(cldsDictionary, HttpStatus.OK);
}
/**
* REST Service that creates or Updates a Dictionary Elements for dictionary
* in DB.
- *
+ *
* @param dictionaryName dictionary name
* @param dictionaryItem dictionary item
* @return CldsDictionaryItem A dictionary items that was created or updated
* in DB
*/
public ResponseEntity<CldsDictionaryItem> createOrUpdateDictionaryElements(String dictionaryName,
- CldsDictionaryItem dictionaryItem) {
+ CldsDictionaryItem dictionaryItem) {
final Date startTime = new Date();
- LoggingUtils.setRequestContext("CldsDictionaryService: createOrUpdateDictionaryElements", getPrincipalName());
+ LoggingUtils.setRequestContext("CldsDictionaryService: createOrUpdateDictionaryElements",
+ getPrincipalName());
// TODO revisit based on new permissions
isAuthorized(permissionUpdateTosca);
dictionaryItem.save(dictionaryName, cldsDao, getUserId());
@@ -110,7 +136,7 @@ public class CldsDictionaryService extends SecureServiceBase {
/**
* Rest Service that retrieves all CLDS dictionary in DB.
- *
+ *
* @return CldsDictionary List List of CldsDictionary available in DB
*/
public ResponseEntity<List<CldsDictionary>> getAllDictionaryNames() {
@@ -126,7 +152,7 @@ public class CldsDictionaryService extends SecureServiceBase {
/**
* Rest Service that retrieves all CLDS dictionary items in DB for a give
* dictionary name.
- *
+ *
* @param dictionaryName dictionary name
* @return CldsDictionaryItem list List of CLDS Dictionary items for a given
* dictionary name
@@ -150,4 +176,4 @@ public class CldsDictionaryService extends SecureServiceBase {
util = utilP;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/org/onap/clamp/loop/Loop.java b/src/main/java/org/onap/clamp/loop/Loop.java
index 2393f2498..37d597eeb 100644
--- a/src/main/java/org/onap/clamp/loop/Loop.java
+++ b/src/main/java/org/onap/clamp/loop/Loop.java
@@ -23,9 +23,13 @@
package org.onap.clamp.loop;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
import com.google.gson.JsonObject;
+import com.google.gson.JsonSyntaxException;
import com.google.gson.annotations.Expose;
+import java.io.IOException;
import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
@@ -59,6 +63,7 @@ import org.onap.clamp.loop.components.external.PolicyComponent;
import org.onap.clamp.loop.log.LoopLog;
import org.onap.clamp.policy.microservice.MicroServicePolicy;
import org.onap.clamp.policy.operational.OperationalPolicy;
+import org.onap.clamp.policy.operational.OperationalPolicyRepresentationBuilder;
@Entity
@Table(name = "loops")
@@ -70,6 +75,9 @@ public class Loop implements Serializable {
*/
private static final long serialVersionUID = -286522707701388642L;
+ @Transient
+ private static final EELFLogger logger = EELFManager.getInstance().getLogger(Loop.class);
+
@Id
@Expose
@Column(nullable = false, name = "name", unique = true)
@@ -92,6 +100,11 @@ public class Loop implements Serializable {
@Expose
@Type(type = "json")
+ @Column(columnDefinition = "json", name = "operational_policy_schema")
+ private JsonObject operationalPolicySchema;
+
+ @Expose
+ @Type(type = "json")
@Column(columnDefinition = "json", name = "global_properties_json")
private JsonObject globalPropertiesJson;
@@ -131,6 +144,9 @@ public class Loop implements Serializable {
this.addComponent(new DcaeComponent());
}
+ /**
+ * Public constructor.
+ */
public Loop() {
initializeExternalComponents();
}
@@ -256,6 +272,13 @@ public class Loop implements Serializable {
void setModelPropertiesJson(JsonObject modelPropertiesJson) {
this.modelPropertiesJson = modelPropertiesJson;
+ try {
+ this.operationalPolicySchema = OperationalPolicyRepresentationBuilder
+ .generateOperationalPolicySchema(this.getModelPropertiesJson());
+ } catch (JsonSyntaxException | IOException | NullPointerException e) {
+ logger.error("Unable to generate the operational policy Schema ... ", e);
+ this.operationalPolicySchema = new JsonObject();
+ }
}
public Map<String, ExternalComponent> getComponents() {
@@ -273,20 +296,16 @@ public class Loop implements Serializable {
/**
* Generate the loop name.
*
- * @param serviceName
- * The service name
- * @param serviceVersion
- * The service version
- * @param resourceName
- * The resource name
- * @param blueprintFileName
- * The blueprint file name
+ * @param serviceName The service name
+ * @param serviceVersion The service version
+ * @param resourceName The resource name
+ * @param blueprintFileName The blueprint file name
* @return The generated loop name
*/
static String generateLoopName(String serviceName, String serviceVersion, String resourceName,
- String blueprintFilename) {
+ String blueprintFilename) {
StringBuilder buffer = new StringBuilder("LOOP_").append(serviceName).append("_v").append(serviceVersion)
- .append("_").append(resourceName).append("_").append(blueprintFilename.replaceAll(".yaml", ""));
+ .append("_").append(resourceName).append("_").append(blueprintFilename.replaceAll(".yaml", ""));
return buffer.toString().replace('.', '_').replaceAll(" ", "");
}
diff --git a/src/main/java/org/onap/clamp/loop/LoopCsarInstaller.java b/src/main/java/org/onap/clamp/loop/LoopCsarInstaller.java
index ad13ad34d..41d34a224 100644
--- a/src/main/java/org/onap/clamp/loop/LoopCsarInstaller.java
+++ b/src/main/java/org/onap/clamp/loop/LoopCsarInstaller.java
@@ -99,10 +99,10 @@ public class LoopCsarInstaller implements CsarInstaller {
boolean alreadyInstalled = true;
for (Entry<String, BlueprintArtifact> blueprint : csar.getMapOfBlueprints().entrySet()) {
alreadyInstalled = alreadyInstalled
- && loopRepository.existsById(Loop.generateLoopName(csar.getSdcNotification().getServiceName(),
- csar.getSdcNotification().getServiceVersion(),
- blueprint.getValue().getResourceAttached().getResourceInstanceName(),
- blueprint.getValue().getBlueprintArtifactName()));
+ && loopRepository.existsById(Loop.generateLoopName(csar.getSdcNotification().getServiceName(),
+ csar.getSdcNotification().getServiceVersion(),
+ blueprint.getValue().getResourceAttached().getResourceInstanceName(),
+ blueprint.getValue().getBlueprintArtifactName()));
}
return alreadyInstalled;
}
@@ -110,7 +110,7 @@ public class LoopCsarInstaller implements CsarInstaller {
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void installTheCsar(CsarHandler csar)
- throws SdcArtifactInstallerException, InterruptedException, PolicyModelException {
+ throws SdcArtifactInstallerException, InterruptedException, PolicyModelException {
try {
logger.info("Installing the CSAR " + csar.getFilePath());
for (Entry<String, BlueprintArtifact> blueprint : csar.getMapOfBlueprints().entrySet()) {
@@ -126,53 +126,53 @@ public class LoopCsarInstaller implements CsarInstaller {
}
private Loop createLoopFromBlueprint(CsarHandler csar, BlueprintArtifact blueprintArtifact)
- throws IOException, ParseException, InterruptedException {
+ throws IOException, ParseException, InterruptedException {
Loop newLoop = new Loop();
newLoop.setBlueprint(blueprintArtifact.getDcaeBlueprint());
newLoop.setName(Loop.generateLoopName(csar.getSdcNotification().getServiceName(),
- csar.getSdcNotification().getServiceVersion(),
- blueprintArtifact.getResourceAttached().getResourceInstanceName(),
- blueprintArtifact.getBlueprintArtifactName()));
+ csar.getSdcNotification().getServiceVersion(),
+ blueprintArtifact.getResourceAttached().getResourceInstanceName(),
+ blueprintArtifact.getBlueprintArtifactName()));
newLoop.setLastComputedState(LoopState.DESIGN);
List<MicroService> microServicesChain = chainGenerator
- .getChainOfMicroServices(blueprintParser.getMicroServices(blueprintArtifact.getDcaeBlueprint()));
+ .getChainOfMicroServices(blueprintParser.getMicroServices(blueprintArtifact.getDcaeBlueprint()));
if (microServicesChain.isEmpty()) {
microServicesChain = blueprintParser.fallbackToOneMicroService(blueprintArtifact.getDcaeBlueprint());
}
-
- newLoop
- .setMicroServicePolicies(createMicroServicePolicies(microServicesChain, csar, blueprintArtifact, newLoop));
+ newLoop.setModelPropertiesJson(createModelPropertiesJson(csar));
+ newLoop.setMicroServicePolicies(
+ createMicroServicePolicies(microServicesChain, csar, blueprintArtifact, newLoop));
newLoop.setOperationalPolicies(createOperationalPolicies(csar, blueprintArtifact, newLoop));
newLoop.setSvgRepresentation(svgFacade.getSvgImage(microServicesChain));
newLoop.setGlobalPropertiesJson(createGlobalPropertiesJson(blueprintArtifact, newLoop));
- newLoop.setModelPropertiesJson(createModelPropertiesJson(csar));
+
DcaeInventoryResponse dcaeResponse = queryDcaeToGetServiceTypeId(blueprintArtifact);
newLoop.setDcaeBlueprintId(dcaeResponse.getTypeId());
return newLoop;
}
private HashSet<OperationalPolicy> createOperationalPolicies(CsarHandler csar, BlueprintArtifact blueprintArtifact,
- Loop newLoop) {
+ Loop newLoop) {
return new HashSet<>(Arrays.asList(new OperationalPolicy(Policy.generatePolicyName("OPERATIONAL",
- csar.getSdcNotification().getServiceName(), csar.getSdcNotification().getServiceVersion(),
- blueprintArtifact.getResourceAttached().getResourceInstanceName(),
- blueprintArtifact.getBlueprintArtifactName()), newLoop, new JsonObject())));
+ csar.getSdcNotification().getServiceName(), csar.getSdcNotification().getServiceVersion(),
+ blueprintArtifact.getResourceAttached().getResourceInstanceName(),
+ blueprintArtifact.getBlueprintArtifactName()), newLoop, new JsonObject())));
}
private HashSet<MicroServicePolicy> createMicroServicePolicies(List<MicroService> microServicesChain,
- CsarHandler csar, BlueprintArtifact blueprintArtifact, Loop newLoop) throws IOException {
+ CsarHandler csar, BlueprintArtifact blueprintArtifact, Loop newLoop) throws IOException {
HashSet<MicroServicePolicy> newSet = new HashSet<>();
for (MicroService microService : microServicesChain) {
MicroServicePolicy microServicePolicy = new MicroServicePolicy(
- Policy.generatePolicyName(microService.getName(), csar.getSdcNotification().getServiceName(),
- csar.getSdcNotification().getServiceVersion(),
- blueprintArtifact.getResourceAttached().getResourceInstanceName(),
- blueprintArtifact.getBlueprintArtifactName()),
- microService.getModelType(), csar.getPolicyModelYaml().orElse(""), false,
- new HashSet<>(Arrays.asList(newLoop)));
+ Policy.generatePolicyName(microService.getName(), csar.getSdcNotification().getServiceName(),
+ csar.getSdcNotification().getServiceVersion(),
+ blueprintArtifact.getResourceAttached().getResourceInstanceName(),
+ blueprintArtifact.getBlueprintArtifactName()),
+ microService.getModelType(), csar.getPolicyModelYaml().orElse(""), false,
+ new HashSet<>(Arrays.asList(newLoop)));
newSet.add(microServicePolicy);
microService.setMappedNameJpa(microServicePolicy.getName());
@@ -191,8 +191,8 @@ public class LoopCsarInstaller implements CsarInstaller {
// Loop on all Groups defined in the service (VFModule entries type:
// org.openecomp.groups.VfModule)
for (IEntityDetails entity : csar.getSdcCsarHelper().getEntity(
- EntityQuery.newBuilder(EntityTemplateType.GROUP).build(),
- TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE).build(), false)) {
+ EntityQuery.newBuilder(EntityTemplateType.GROUP).build(),
+ TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE).build(), false)) {
// Get all metadata info
JsonObject allVfProps = (JsonObject) JsonUtils.GSON.toJsonTree(entity.getMetadata().getAllProperties());
vfModuleProps.add(entity.getMetadata().getAllProperties().get("vfModuleModelName"), allVfProps);
@@ -200,7 +200,7 @@ public class LoopCsarInstaller implements CsarInstaller {
// volume_group, etc ... fields under the VFmodule name
for (Entry<String, Property> additionalProp : entity.getProperties().entrySet()) {
allVfProps.add(additionalProp.getValue().getName(),
- JsonUtils.GSON.toJsonTree(additionalProp.getValue().getValue()));
+ JsonUtils.GSON.toJsonTree(additionalProp.getValue().getValue()));
}
}
return vfModuleProps;
@@ -214,7 +214,7 @@ public class LoopCsarInstaller implements CsarInstaller {
// For each type, get the metadata of each nodetemplate
for (NodeTemplate nodeTemplate : csar.getSdcCsarHelper().getServiceNodeTemplateBySdcType(type)) {
resourcesPropByType.add(nodeTemplate.getName(),
- JsonUtils.GSON.toJsonTree(nodeTemplate.getMetaData().getAllProperties()));
+ JsonUtils.GSON.toJsonTree(nodeTemplate.getMetaData().getAllProperties()));
}
resourcesProp.add(type.getValue(), resourcesPropByType);
}
@@ -225,7 +225,7 @@ public class LoopCsarInstaller implements CsarInstaller {
JsonObject modelProperties = new JsonObject();
// Add service details
modelProperties.add("serviceDetails", JsonUtils.GSON.fromJson(
- JsonUtils.GSON.toJson(csar.getSdcCsarHelper().getServiceMetadataAllProperties()), JsonObject.class));
+ JsonUtils.GSON.toJson(csar.getSdcCsarHelper().getServiceMetadataAllProperties()), JsonObject.class));
// Add properties details for each type, VfModule, VF, VFC, ....
JsonObject resourcesProp = createServicePropertiesByType(csar);
resourcesProp.add("VFModule", createVfModuleProperties(csar));
@@ -237,7 +237,7 @@ public class LoopCsarInstaller implements CsarInstaller {
JsonObject node = new JsonObject();
Yaml yaml = new Yaml();
Map<String, Object> inputsNodes = ((Map<String, Object>) ((Map<String, Object>) yaml
- .load(blueprintArtifact.getDcaeBlueprint())).get("inputs"));
+ .load(blueprintArtifact.getDcaeBlueprint())).get("inputs"));
inputsNodes.entrySet().stream().filter(e -> !e.getKey().contains("policy_id")).forEach(elem -> {
Object defaultValue = ((Map<String, Object>) elem.getValue()).get("default");
if (defaultValue != null) {
@@ -258,10 +258,10 @@ public class LoopCsarInstaller implements CsarInstaller {
* @return The DcaeInventoryResponse object containing the dcae values
*/
private DcaeInventoryResponse queryDcaeToGetServiceTypeId(BlueprintArtifact blueprintArtifact)
- throws IOException, ParseException, InterruptedException {
+ throws IOException, ParseException, InterruptedException {
return dcaeInventoryService.getDcaeInformation(blueprintArtifact.getBlueprintArtifactName(),
- blueprintArtifact.getBlueprintInvariantServiceUuid(),
- blueprintArtifact.getResourceAttached().getResourceInvariantUUID());
+ blueprintArtifact.getBlueprintInvariantServiceUuid(),
+ blueprintArtifact.getResourceAttached().getResourceInvariantUUID());
}
private void addPropertyToNode(JsonObject node, String key, Object value) {
diff --git a/src/main/java/org/onap/clamp/loop/components/external/ExternalComponent.java b/src/main/java/org/onap/clamp/loop/components/external/ExternalComponent.java
index a8aae2038..2be707fe4 100644
--- a/src/main/java/org/onap/clamp/loop/components/external/ExternalComponent.java
+++ b/src/main/java/org/onap/clamp/loop/components/external/ExternalComponent.java
@@ -28,9 +28,7 @@ import com.google.gson.annotations.Expose;
import org.apache.camel.Exchange;
/**
- *
- * SHould be abstract but Gson can't instantiate it if it's an abstract
- *
+ * Should be abstract but Gson can't instantiate it if it's an abstract.
*/
public class ExternalComponent {
@Expose
@@ -49,7 +47,7 @@ public class ExternalComponent {
}
public ExternalComponentState computeState(Exchange camelExchange) {
- return new ExternalComponentState("INIT", "no desc");
+ return new ExternalComponentState("INIT", "no desc", 0);
}
public ExternalComponent(ExternalComponentState initialState) {
diff --git a/src/main/java/org/onap/clamp/loop/components/external/ExternalComponentState.java b/src/main/java/org/onap/clamp/loop/components/external/ExternalComponentState.java
index 6a723c24e..a220ee1d4 100644
--- a/src/main/java/org/onap/clamp/loop/components/external/ExternalComponentState.java
+++ b/src/main/java/org/onap/clamp/loop/components/external/ExternalComponentState.java
@@ -29,18 +29,26 @@ import com.google.gson.annotations.Expose;
* This is a transient state reflecting the deployment status of a component. It
* can be Policy, DCAE, or whatever... This is object is generic. Clamp is now
* stateless, so it triggers the different components at runtime, the status per
- * component is stored here.
+ * component is stored here. The state level is used to re-compute the global
+ * state when multiple sub states are required for that computation (generally
+ * provided sequentially to the method computeState from the camel routes.
*
*/
-public class ExternalComponentState {
+public class ExternalComponentState implements Comparable<ExternalComponentState> {
@Expose
private String stateName;
@Expose
private String description;
+ private int stateLevel;
- public ExternalComponentState(String stateName, String description) {
+ public ExternalComponentState(String stateName, String description, int level) {
this.stateName = stateName;
this.description = description;
+ this.stateLevel = level;
+ }
+
+ public ExternalComponentState(String stateName, String description) {
+ this(stateName, description, 0);
}
public ExternalComponentState() {
@@ -58,4 +66,50 @@ public class ExternalComponentState {
public String toString() {
return stateName;
}
+
+ public int getLevel() {
+ return stateLevel;
+ }
+
+ public void setLevel(int priority) {
+ this.stateLevel = priority;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((stateName == null) ? 0 : stateName.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ExternalComponentState other = (ExternalComponentState) obj;
+ if (stateName == null) {
+ if (other.stateName != null)
+ return false;
+ } else if (!stateName.equals(other.stateName))
+ return false;
+ return true;
+ }
+
+ /**
+ * This method compares this object by using the level of them.
+ *
+ * @param stateToCompare The state to compare to the current object
+ * @return If the one given in input has a higher level than the current object
+ * it returns -1, 1 otherwise and 0 if equals.
+ */
+ @Override
+ public int compareTo(ExternalComponentState stateToCompare) {
+ return Integer.compare(this.getLevel(), stateToCompare.getLevel());
+ }
+
}
diff --git a/src/main/java/org/onap/clamp/loop/components/external/PolicyComponent.java b/src/main/java/org/onap/clamp/loop/components/external/PolicyComponent.java
index acd6115fe..68d598b5f 100644
--- a/src/main/java/org/onap/clamp/loop/components/external/PolicyComponent.java
+++ b/src/main/java/org/onap/clamp/loop/components/external/PolicyComponent.java
@@ -44,17 +44,22 @@ public class PolicyComponent extends ExternalComponent {
@Transient
private static final EELFLogger logger = EELFManager.getInstance().getLogger(PolicyComponent.class);
+ public static final ExternalComponentState IN_ERROR = new ExternalComponentState("IN_ERROR",
+ "There was an error during the sending to policy, the policy engine may be corrupted or inconsistent", 100);
public static final ExternalComponentState NOT_SENT = new ExternalComponentState("NOT_SENT",
- "The policies defined have NOT yet been created on the policy engine");
+ "The policies defined have NOT yet been created on the policy engine", 90);
public static final ExternalComponentState SENT = new ExternalComponentState("SENT",
- "The policies defined have been created but NOT deployed on the policy engine");
+ "The policies defined have been created but NOT deployed on the policy engine", 50);
public static final ExternalComponentState SENT_AND_DEPLOYED = new ExternalComponentState("SENT_AND_DEPLOYED",
- "The policies defined have been created and deployed on the policy engine");
- public static final ExternalComponentState IN_ERROR = new ExternalComponentState("IN_ERROR",
- "There was an error during the sending to policy, the policy engine may be corrupted or inconsistent");
+ "The policies defined have been created and deployed on the policy engine", 10);
public PolicyComponent() {
- super(NOT_SENT);
+ /*
+ * We assume it's good by default as we will receive the state for each policy
+ * on by one, each time we increase the level we can't decrease it anymore.
+ * That's why it starts with the lowest one SENT_AND_DEPLOYED.
+ */
+ super(SENT_AND_DEPLOYED);
}
@Override
@@ -103,21 +108,38 @@ public class PolicyComponent extends ExternalComponent {
return policyNamesList;
}
+ private static ExternalComponentState findNewState(boolean found, boolean deployed) {
+
+ ExternalComponentState newState = NOT_SENT;
+ if (found && deployed) {
+ newState = SENT_AND_DEPLOYED;
+ } else if (found) {
+ newState = SENT;
+ } else if (deployed) {
+ newState = IN_ERROR;
+ }
+ return newState;
+ }
+
+ private static ExternalComponentState mergeStates(ExternalComponentState oldState,
+ ExternalComponentState newState) {
+ return (oldState.compareTo(newState) < 0) ? newState : oldState;
+ }
+
+ /**
+ * This is a method that expect the results of the queries getPolicy and
+ * getPolicyDeployed for a unique policy (op,guard, config, etc ...). It
+ * re-computes the global policy state for each policy results given. Therefore
+ * this method is called multiple times from the camel route and must be reset
+ * for a new global policy state retrieval. The state to compute the global
+ * policy state is stored in this class.
+ *
+ */
@Override
public ExternalComponentState computeState(Exchange camelExchange) {
- boolean oneNotFound = (boolean) camelExchange.getIn().getExchange().getProperty("atLeastOnePolicyNotFound");
- boolean oneNotDeployed = (boolean) camelExchange.getIn().getExchange()
- .getProperty("atLeastOnePolicyNotDeployed");
-
- if (oneNotFound && oneNotDeployed) {
- this.setState(NOT_SENT);
- } else if (!oneNotFound && oneNotDeployed) {
- this.setState(SENT);
- } else if (!oneNotFound && !oneNotDeployed) {
- this.setState(SENT_AND_DEPLOYED);
- } else {
- this.setState(IN_ERROR);
- }
+ this.setState(mergeStates(this.getState(),
+ findNewState((boolean) camelExchange.getIn().getExchange().getProperty("policyFound"),
+ (boolean) camelExchange.getIn().getExchange().getProperty("policyDeployed"))));
return this.getState();
}
}
diff --git a/src/main/java/org/onap/clamp/policy/operational/LegacyOperationalPolicy.java b/src/main/java/org/onap/clamp/policy/operational/LegacyOperationalPolicy.java
index 33148f0b6..dd156d8f3 100644
--- a/src/main/java/org/onap/clamp/policy/operational/LegacyOperationalPolicy.java
+++ b/src/main/java/org/onap/clamp/policy/operational/LegacyOperationalPolicy.java
@@ -25,6 +25,7 @@ package org.onap.clamp.policy.operational;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
import java.util.ArrayList;
import java.util.List;
@@ -33,16 +34,15 @@ import java.util.Map.Entry;
import java.util.TreeMap;
import org.apache.commons.lang3.math.NumberUtils;
+import org.onap.clamp.loop.Loop;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.DumperOptions.ScalarStyle;
import org.yaml.snakeyaml.Yaml;
/**
- *
* This class contains the code required to support the sending of Legacy
* operational payload to policy engine. This will probably disappear in El
* Alto.
- *
*/
public class LegacyOperationalPolicy {
@@ -76,6 +76,13 @@ public class LegacyOperationalPolicy {
return jsonElement;
}
+ /**
+ * This method rework the payload attribute (yaml) that is normally wrapped in a
+ * string when coming from the UI.
+ *
+ * @param policyJson The operational policy json config
+ * @return The same object reference but modified
+ */
public static JsonElement reworkPayloadAttributes(JsonElement policyJson) {
for (JsonElement policy : policyJson.getAsJsonObject().get("policies").getAsJsonArray()) {
JsonElement payloadElem = policy.getAsJsonObject().get("payload");
@@ -135,9 +142,15 @@ public class LegacyOperationalPolicy {
return mapResult;
}
+ /**
+ * This method transforms the configuration json to a Yaml format.
+ *
+ * @param operationalPolicyJsonElement The operational policy json config
+ * @return The Yaml as string
+ */
public static String createPolicyPayloadYamlLegacy(JsonElement operationalPolicyJsonElement) {
JsonElement opPolicy = fulfillPoliciesTreeField(
- removeAllQuotes(reworkPayloadAttributes(operationalPolicyJsonElement.getAsJsonObject().deepCopy())));
+ removeAllQuotes(reworkPayloadAttributes(operationalPolicyJsonElement.getAsJsonObject().deepCopy())));
Map<?, ?> jsonMap = createMap(opPolicy);
DumperOptions options = new DumperOptions();
options.setDefaultScalarStyle(ScalarStyle.PLAIN);
@@ -147,4 +160,22 @@ public class LegacyOperationalPolicy {
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
return (new Yaml(options)).dump(jsonMap);
}
+
+ /**
+ * This method load mandatory field in the operational policy configuration
+ * JSON.
+ *
+ * @param configurationsJson The operational policy JSON
+ * @param loop The parent loop object
+ */
+ public static void preloadConfiguration(JsonObject configurationsJson, Loop loop) {
+ if (configurationsJson.entrySet().isEmpty()) {
+ JsonObject controlLoopName = new JsonObject();
+ controlLoopName.addProperty("controlLoopName",
+ loop != null ? loop.getName() : "Empty (NO loop loaded yet)");
+ JsonObject controlLoop = new JsonObject();
+ controlLoop.add("controlLoop", controlLoopName);
+ configurationsJson.add("operational_policy", controlLoop);
+ }
+ }
}
diff --git a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
index 62c5a1e9f..86f8ac391 100644
--- a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
+++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
@@ -38,7 +38,6 @@ import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
-import java.util.Map.Entry;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -91,17 +90,16 @@ public class OperationalPolicy implements Serializable, Policy {
/**
* The constructor.
*
- * @param name
- * The name of the operational policy
- * @param loop
- * The loop that uses this operational policy
- * @param configurationsJson
- * The operational policy property in the format of json
+ * @param name The name of the operational policy
+ * @param loop The loop that uses this operational policy
+ * @param configurationsJson The operational policy property in the format of
+ * json
*/
public OperationalPolicy(String name, Loop loop, JsonObject configurationsJson) {
this.name = name;
this.loop = loop;
this.configurationsJson = configurationsJson;
+ LegacyOperationalPolicy.preloadConfiguration(this.configurationsJson, loop);
}
@Override
@@ -117,11 +115,6 @@ public class OperationalPolicy implements Serializable, Policy {
return loop;
}
- @Override
- public JsonObject getJsonRepresentation() {
- return configurationsJson;
- }
-
public JsonObject getConfigurationsJson() {
return configurationsJson;
}
@@ -131,6 +124,11 @@ public class OperationalPolicy implements Serializable, Policy {
}
@Override
+ public JsonObject getJsonRepresentation() {
+ return null;
+ }
+
+ @Override
public int hashCode() {
final int prime = 31;
int result = 1;
@@ -184,7 +182,7 @@ public class OperationalPolicy implements Serializable, Policy {
metadata.addProperty("policy-id", this.name);
operationalPolicyDetails.add("properties", LegacyOperationalPolicy
- .reworkPayloadAttributes(this.configurationsJson.get("operational_policy").deepCopy()));
+ .reworkPayloadAttributes(this.configurationsJson.get("operational_policy").deepCopy()));
Gson gson = new GsonBuilder().create();
@@ -204,9 +202,8 @@ public class OperationalPolicy implements Serializable, Policy {
// Now using the legacy payload fo Dublin
JsonObject payload = new JsonObject();
payload.addProperty("policy-id", this.getName());
- payload.addProperty("content", URLEncoder.encode(
- LegacyOperationalPolicy.createPolicyPayloadYamlLegacy(this.configurationsJson.get("operational_policy")),
- StandardCharsets.UTF_8.toString()));
+ payload.addProperty("content", URLEncoder.encode(LegacyOperationalPolicy.createPolicyPayloadYamlLegacy(
+ this.configurationsJson.get("operational_policy")), StandardCharsets.UTF_8.toString()));
String opPayload = new GsonBuilder().setPrettyPrinting().create().toJson(payload);
logger.info("Operational policy payload: " + opPayload);
return opPayload;
@@ -222,11 +219,9 @@ public class OperationalPolicy implements Serializable, Policy {
JsonElement guardsList = this.getConfigurationsJson().get("guard_policies");
if (guardsList != null) {
- for (Entry<String, JsonElement> guardElem : guardsList.getAsJsonObject().entrySet()) {
- JsonObject guard = new JsonObject();
- guard.addProperty("policy-id", guardElem.getKey());
- guard.add("content", guardElem.getValue());
- result.put(guardElem.getKey(), new GsonBuilder().create().toJson(guard));
+ for (JsonElement guardElem : guardsList.getAsJsonArray()) {
+ result.put(guardElem.getAsJsonObject().get("policy-id").getAsString(),
+ new GsonBuilder().create().toJson(guardElem));
}
}
logger.info("Guard policy payload: " + result);
diff --git a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilder.java b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilder.java
new file mode 100644
index 000000000..f6f3f498d
--- /dev/null
+++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilder.java
@@ -0,0 +1,146 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.policy.operational;
+
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonSyntaxException;
+
+import java.io.IOException;
+import java.util.Map.Entry;
+
+import org.onap.clamp.clds.util.JsonUtils;
+import org.onap.clamp.clds.util.ResourceFileUtil;
+
+public class OperationalPolicyRepresentationBuilder {
+
+ /**
+ * This method generates the operational policy json representation that will be
+ * used by ui for rendering. It uses the model (VF and VFModule) defined in the
+ * loop object to do so, so it's dynamic. It also uses the operational policy
+ * schema template defined in the resource folder.
+ *
+ * @param modelJson The loop model json
+ * @return The json representation
+ * @throws JsonSyntaxException If the schema template cannot be parsed
+ * @throws IOException In case of issue when opening the schema template
+ */
+ public static JsonObject generateOperationalPolicySchema(JsonObject modelJson)
+ throws JsonSyntaxException, IOException {
+ JsonObject jsonSchema = JsonUtils.GSON.fromJson(
+ ResourceFileUtil.getResourceAsString("clds/json-schema/operational_policies/operational_policy.json"),
+ JsonObject.class);
+ jsonSchema.get("schema").getAsJsonObject().get("items").getAsJsonObject().get("properties").getAsJsonObject()
+ .get("configurationsJson").getAsJsonObject().get("properties").getAsJsonObject()
+ .get("operational_policy").getAsJsonObject().get("properties").getAsJsonObject().get("policies")
+ .getAsJsonObject().get("items").getAsJsonObject().get("properties").getAsJsonObject().get("target")
+ .getAsJsonObject().get("anyOf").getAsJsonArray().addAll(createAnyOfArray(modelJson));
+ return jsonSchema;
+ }
+
+ private static JsonObject createSchemaProperty(String title, String type, String defaultValue, String readOnlyFlag,
+ String[] enumArray) {
+ JsonObject property = new JsonObject();
+ property.addProperty("title", title);
+ property.addProperty("type", type);
+ property.addProperty("default", defaultValue);
+ property.addProperty("readOnly", readOnlyFlag);
+
+ if (enumArray != null) {
+ JsonArray jsonArray = new JsonArray();
+ property.add("enum", jsonArray);
+ for (String val : enumArray) {
+ jsonArray.add(val);
+ }
+ }
+ return property;
+ }
+
+ private static JsonArray createVnfSchema(JsonObject modelJson) {
+ JsonArray vnfSchemaArray = new JsonArray();
+ JsonObject modelVnfs = modelJson.get("resourceDetails").getAsJsonObject().get("VF").getAsJsonObject();
+
+ for (Entry<String, JsonElement> entry : modelVnfs.entrySet()) {
+ JsonObject vnfOneOfSchema = new JsonObject();
+ vnfOneOfSchema.addProperty("title", "VNF" + "-" + entry.getKey());
+ JsonObject properties = new JsonObject();
+ properties.add("type", createSchemaProperty("Type", "string", "VNF", "True", null));
+ properties.add("resourceID", createSchemaProperty("Resource ID", "string",
+ modelVnfs.get(entry.getKey()).getAsJsonObject().get("name").getAsString(), "True", null));
+
+ vnfOneOfSchema.add("properties", properties);
+ vnfSchemaArray.add(vnfOneOfSchema);
+ }
+ return vnfSchemaArray;
+ }
+
+ private static JsonArray createVfModuleSchema(JsonObject modelJson) {
+ JsonArray vfModuleOneOfSchemaArray = new JsonArray();
+ JsonObject modelVfModules = modelJson.get("resourceDetails").getAsJsonObject().get("VFModule")
+ .getAsJsonObject();
+
+ for (Entry<String, JsonElement> entry : modelVfModules.entrySet()) {
+ JsonObject vfModuleOneOfSchema = new JsonObject();
+ vfModuleOneOfSchema.addProperty("title", "VFMODULE" + "-" + entry.getKey());
+ JsonObject properties = new JsonObject();
+ properties.add("type", createSchemaProperty("Type", "string", "VFMODULE", "True", null));
+ properties.add("resourceID",
+ createSchemaProperty("Resource ID", "string",
+ modelVfModules.get(entry.getKey()).getAsJsonObject().get("vfModuleModelName").getAsString(),
+ "True", null));
+ properties.add("modelInvariantId",
+ createSchemaProperty("Model Invariant Id (ModelInvariantUUID)", "string", modelVfModules
+ .get(entry.getKey()).getAsJsonObject().get("vfModuleModelInvariantUUID").getAsString(),
+ "True", null));
+ properties.add("modelVersionId",
+ createSchemaProperty("Model Version Id (ModelUUID)", "string",
+ modelVfModules.get(entry.getKey()).getAsJsonObject().get("vfModuleModelUUID").getAsString(),
+ "True", null));
+ properties.add("modelName",
+ createSchemaProperty("Model Name", "string",
+ modelVfModules.get(entry.getKey()).getAsJsonObject().get("vfModuleModelName").getAsString(),
+ "True", null));
+ properties.add("modelVersion", createSchemaProperty("Model Version", "string",
+ modelVfModules.get(entry.getKey()).getAsJsonObject().get("vfModuleModelVersion").getAsString(),
+ "True", null));
+ properties
+ .add("modelCustomizationId",
+ createSchemaProperty("Customization ID", "string", modelVfModules.get(entry.getKey())
+ .getAsJsonObject().get("vfModuleModelCustomizationUUID").getAsString(), "True",
+ null));
+
+ vfModuleOneOfSchema.add("properties", properties);
+ vfModuleOneOfSchemaArray.add(vfModuleOneOfSchema);
+ }
+ return vfModuleOneOfSchemaArray;
+ }
+
+ private static JsonArray createAnyOfArray(JsonObject modelJson) {
+ JsonArray targetOneOfStructure = new JsonArray();
+ targetOneOfStructure.addAll(createVnfSchema(modelJson));
+ targetOneOfStructure.addAll(createVfModuleSchema(modelJson));
+ return targetOneOfStructure;
+ }
+}
diff --git a/src/main/resources/META-INF/resources/swagger.html b/src/main/resources/META-INF/resources/swagger.html
index 4809ffabb..8257d87d5 100644
--- a/src/main/resources/META-INF/resources/swagger.html
+++ b/src/main/resources/META-INF/resources/swagger.html
@@ -4509,7 +4509,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2018-07-06 11:58:45 CEST
+Last updated 2019-08-12 03:34:46 PDT
</div>
</div>
</body>
diff --git a/src/main/resources/application-noaaf.properties b/src/main/resources/application-noaaf.properties
index 52f79bef4..cec02579a 100644
--- a/src/main/resources/application-noaaf.properties
+++ b/src/main/resources/application-noaaf.properties
@@ -2,7 +2,7 @@
# ============LICENSE_START=======================================================
# ONAP CLAMP
# ================================================================================
-# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
+# Copyright (C) 2017-2019 AT&T Intellectual Property. All rights
# reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -51,7 +51,21 @@ info.build.version=@project.version@
### server.ssl.key-store=file:/tmp/mykey.jks
### server.ssl.key-store-password=mypass
### server.ssl.key-password=mypass
-server.port=8080
+server.port=8443
+## Config part for Server certificates
+# Can be a classpath parameter instead of file:/
+server.ssl.key-store=classpath:/clds/aaf/org.onap.clamp.p12
+server.ssl.key-store-password=China in the Spring
+server.ssl.key-password=China in the Spring
+server.ssl.key-store-type=PKCS12
+server.ssl.key-alias=clamp@clamp.onap.org
+
+## Config part for Client certificates
+server.ssl.client-auth=want
+server.ssl.trust-store=classpath:/clds/aaf/truststoreONAPall.jks
+server.ssl.trust-store-password=changeit
+
+#server.http-to-https-redirection.port=8080
server.servlet.context-path=/
#Modified engine-rest applicationpath
@@ -141,6 +155,7 @@ clamp.config.policy.api.password=zb!XztG34
clamp.config.policy.pap.url=http4://policy.api.simpledemo.onap.org:6969
clamp.config.policy.pap.userName=healthcheck
clamp.config.policy.pap.password=zb!XztG34
+
clamp.config.policy.pdpUrl1=http://policy.api.simpledemo.onap.org:8081/pdp/ , testpdp, alpha123
clamp.config.policy.pdpUrl2=http://policy.api.simpledemo.onap.org:8081/pdp/ , testpdp, alpha123
clamp.config.policy.papUrl=http://policy.api.simpledemo.onap.org:8081/pap/ , testpap, alpha123
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 534dc4818..dcad32ed9 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -255,5 +255,5 @@ clamp.config.cadi.cadiTruststorePassword=enc:Mj0YQqNCUKbKq2lPp1kTFQWeqLxaBXKNwd5
#clamp.config.cadi.oauthTokenUrl=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token
#clamp.config.cadi.oauthIntrospectUrll=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect
clamp.config.cadi.aafEnv=DEV
-clamp.config.cadi.aafUrl=https://AAF_LOCATE_URL/AAF_NS.service:2.0
+clamp.config.cadi.aafUrl=https://AAF_LOCATE_URL/onap.org.osaaf.aaf.service:2.1
clamp.config.cadi.cadiX509Issuers=CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US
diff --git a/src/main/resources/clds/aaf/ssl/clamp.key b/src/main/resources/clds/aaf/ssl/clamp.key
new file mode 100644
index 000000000..fcf68bfa2
--- /dev/null
+++ b/src/main/resources/clds/aaf/ssl/clamp.key
@@ -0,0 +1,32 @@
+Bag Attributes
+ friendlyName: clamp@clamp.onap.org
+ localKeyID: 54 69 6D 65 20 31 35 35 33 37 38 37 35 31 38 33 30 33
+Key Attributes: <No Attributes>
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC4nLg3HAYzgJTr
+C9WdZypwz0UzcQcCFXwEUUA8StwtMwx0OahJiEJRdFY6fmydq4MzFgZ6HQt/M7dY
+0l8phLHpGTVdrFMgW8yZer8bwNcSSiPVRy8j0s8lBHdR+KofG+yA19xg6lCYDX78
+yfeA2jZ52FhVWavyGHS4whWlw8T1EGbZZqXZCFgc7zHjUXuG1mo2ropppJkouf9g
+WEH2Vx16YiosgZzftRW1N3KJ7JozcEtS/j4w/pNyS7HOQDWWGTDk6Us4bt8Zg4gd
+1FeID0FmnEEGRKP+XscsGNwMd06MBsCAOutHkpFtS+UT3cr8xIKewL7uPq24X3ke
+W148togFAgMBAAECggEATncV+R5pKFS7dteV2IvzxvTh1cZxkxoslu0t3zJ2OKPc
+5D1pYK+QeGx5Be2cHru6TOlMoXRc4ZjKke8AUXY74/Y573GB91vtL0KznYkuIHDw
+oALcb153eqVWTbniHMzSjcSxv2N4E9iQo8L39oVI6CrjCIvPgFuSqMCdUNJPkVTI
+4nsarTfLK4fzi7IbWzi9JdE1QRNIxcCMcYJRnLZMdneMLBleR0UL82Xc2KOy5SEt
+zyKYCQ8zS247FKolnOrDkhKxXI5fzdDpRK5AQSsAykUPWlYq7pzKjY/dU9rMRohx
+YSltFjPZ3sQ3UKqqIqhZS+GoVuZoc925WyhViPsqtQKBgQDsL4LFfPWN8nnsusQp
+VR3T7HvvwXuEVAydlaJMwZU0cRYN+L7RHHjDoXZZrNJDIDzNoWnBLKRGx3mtLmgJ
+9Pa6SxN6Oc8oo6jzv2D59g1PVjNOMOYTCTb/2Xum4LMLaeeF57HkWxzeA3Ws47++
+gXwzQpbE90tp1Ys4uXD3JoivvwKBgQDIGZTwLGhLSegdAjG83WEgmdtzT1kjvx0Q
+A8IR2jkgkTJHdKiuslJ8Z3/XufHEwWMWwfs1XLwxYluoo1y9eNvNeHZXjLqjL62c
+I3034F9IvvTUqFcxam2WdoklXbAiSvLUo/9exPgOuVxok6Zv1imRgGb/vYV9vyG7
+86MRuQu5OwKBgQC9E3fcA6JMpY3H3uhEsngzfMDm+fyYvfRvfyezzNFWbyWZv8V6
+gBGJg0vMlFarGDa044BW/hbw9qXI5zqwpeOS1aFdGsRlo0cRAuduk/Spy7c85FZ7
+bMgT4BZmTMHo5DpNb2NxDSO59AkThCuvJde47ZjnS5WavzI6EfKGWNnZ3wKBgQCF
+QiwjCp/mS/DtqLFxAsmVSYGROG231aXILYiIFRloa+ndFn7j4NP4D4FfLHErRFL2
+K/ddIUYfaU57b1fqwts26ht90LXWyYDH9AaHOMCcFLe+C+INgcA7rPNG1C7hl6JC
+JHmEJo7AV4eICZSU9D44rRdrB08oYCpaHjYiLmb1UwKBgQCWCDJ4p2DrNL9hzj3K
+kzvM5saXrfI4aVBXVt9rw9s1d/WG8JOpnmHcnLPb6Tj59rDktrLCLv0sVstMwNVJ
+sOO+qsgn1VoZalcVhhjdONm5YvhJQgz0F7Y2xkr6g/AuMPz2YigGfm7fe/z7rc+L
+q9Ua2HmUS8DDBy7W89MNZJNkDQ==
+-----END PRIVATE KEY-----
diff --git a/src/main/resources/clds/aaf/ssl/clamp.pem b/src/main/resources/clds/aaf/ssl/clamp.pem
new file mode 100644
index 000000000..ccb0097df
--- /dev/null
+++ b/src/main/resources/clds/aaf/ssl/clamp.pem
@@ -0,0 +1,64 @@
+Bag Attributes
+ friendlyName: clamp@clamp.onap.org
+ localKeyID: 54 69 6D 65 20 31 35 35 33 37 38 37 35 31 38 33 30 33
+subject=CN = clamp, emailAddress = , OU = clamp@clamp.onap.org, OU = OSAAF, O = ONAP, C = US
+
+issuer=C = US, O = ONAP, OU = OSAAF, CN = intermediateCA_9
+
+-----BEGIN CERTIFICATE-----
+MIIEKDCCAxCgAwIBAgIIWY+5kgf/UG4wDQYJKoZIhvcNAQELBQAwRzELMAkGA1UE
+BhMCVVMxDTALBgNVBAoMBE9OQVAxDjAMBgNVBAsMBU9TQUFGMRkwFwYDVQQDDBBp
+bnRlcm1lZGlhdGVDQV85MB4XDTE5MDMyMTE2MTY1OFoXDTIwMDMyMTE2MTY1OFow
+bDEOMAwGA1UEAwwFY2xhbXAxDzANBgkqhkiG9w0BCQEWADEdMBsGA1UECwwUY2xh
+bXBAY2xhbXAub25hcC5vcmcxDjAMBgNVBAsMBU9TQUFGMQ0wCwYDVQQKDARPTkFQ
+MQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALic
+uDccBjOAlOsL1Z1nKnDPRTNxBwIVfARRQDxK3C0zDHQ5qEmIQlF0Vjp+bJ2rgzMW
+BnodC38zt1jSXymEsekZNV2sUyBbzJl6vxvA1xJKI9VHLyPSzyUEd1H4qh8b7IDX
+3GDqUJgNfvzJ94DaNnnYWFVZq/IYdLjCFaXDxPUQZtlmpdkIWBzvMeNRe4bWajau
+immkmSi5/2BYQfZXHXpiKiyBnN+1FbU3consmjNwS1L+PjD+k3JLsc5ANZYZMOTp
+Szhu3xmDiB3UV4gPQWacQQZEo/5exywY3Ax3TowGwIA660eSkW1L5RPdyvzEgp7A
+vu4+rbhfeR5bXjy2iAUCAwEAAaOB8jCB7zAJBgNVHRMEAjAAMA4GA1UdDwEB/wQE
+AwIF4DAgBgNVHSUBAf8EFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwVAYDVR0jBE0w
+S4AUgfeZWxC5yIze81Je6k5poEM+rN2hMKQuMCwxDjAMBgNVBAsMBU9TQUFGMQ0w
+CwYDVQQKDARPTkFQMQswCQYDVQQGEwJVU4IBBzAdBgNVHQ4EFgQU+GZ6wmWDPrmq
+Wd1/NtMYiCQ8Dg4wOwYDVR0RBDQwMoIFY2xhbXCCHWNsYW1wLmFwaS5zaW1wbGVk
+ZW1vLm9uYXAub3JnggpjbGFtcC5vbmFwMA0GCSqGSIb3DQEBCwUAA4IBAQCFZdhB
+U6xm6l0vj4q89onLx4opTPvwGNRc0n402lifkPYXseFtphZSHIf2Sg0mFTH4KHb4
+FdMyBzq1+f5WLU+xRC1nT4eGJ0FvRR6204/fGVrzJTS67phnRnxr2WZzLPW0wPJe
+K8SzN6tkUgE7/a/s0T/htE/blDxWh75+tA2jQlgj1Ri0y9A1J8wx++REKjGlHjFN
+53aiipsB+wC/oEMzYL4qEPiYPI0Lr3Lsay1F7f6cvDT4+EYzBLMFuwCvpcnHgSMS
+4fFj2ROmUG2+CC23B88Q0WNxjLPq/CrmHZZBsqwruPJ0cSuCQxfshTQ6uZhcjtu8
+6TRYkIcL0x9r/AHP
+-----END CERTIFICATE-----
+Bag Attributes
+ friendlyName: CN=intermediateCA_9,OU=OSAAF,O=ONAP,C=US
+subject=C = US, O = ONAP, OU = OSAAF, CN = intermediateCA_9
+
+issuer=OU = OSAAF, O = ONAP, C = US
+
+-----BEGIN CERTIFICATE-----
+MIIEdTCCAl2gAwIBAgIBBzANBgkqhkiG9w0BAQsFADAsMQ4wDAYDVQQLDAVPU0FB
+RjENMAsGA1UECgwET05BUDELMAkGA1UEBhMCVVMwHhcNMTgwODE3MTg1MTM3WhcN
+MjMwODE3MTg1MTM3WjBHMQswCQYDVQQGEwJVUzENMAsGA1UECgwET05BUDEOMAwG
+A1UECwwFT1NBQUYxGTAXBgNVBAMMEGludGVybWVkaWF0ZUNBXzkwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCv0HHUkba3uNtNI3jPKimUcd6RNwmhSCJL
+neMWpnjqp5/A+HCKyNsEaT4y177hNLmCm/aMm1u2JIfikc+8wEqLCSBBPz+P0h+d
+o+sZ7U+4oeQizdYYpEdzHJ2SieHHa8vtu80rU3nO2NEIkuYC20HcKSEtl8fFKsk3
+nqlhY+tGfYJPTXcDOQAO40BTcgat3C3uIJHkWJJ4RivunE4LEuRv9QyKgAw7rkJV
+v+f7guqpZlXy6dzAkuU7XULWcgo55MkZlssoiErMvEZJad5aWKvRY3g7qUjaQ6wO
+15wOAUoRBW96eeZZbytgn8kybcBy++Ue49gPtgm1MF/KlAsp0MD5AgMBAAGjgYYw
+gYMwHQYDVR0OBBYEFIH3mVsQuciM3vNSXupOaaBDPqzdMB8GA1UdIwQYMBaAFFNV
+M/JL69BRscF4msEoMXvv6u1JMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/
+BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0B
+AQsFAAOCAgEADxNymiCNr2e37iLReoaxKmZvwox0cTiNAaj7iafRzmwIoY3VXO8Q
+ix5IYcp4FaQ7fV1jyp/AmaSnyHf6Osl0sx8PxsQkO7ALttxKUrjfbvNSVUA2C/vl
+u5m7UVJLIUtFDZBWanzUSmkTsYLHpiANFQKd2c/cU1qXcyzgJVFEFVyyHNkF7Is+
++pjG9M1hwQHOoTnEuU013P7X1mHek+RXEfhJWwe7UsZnBKZaZKbQZu7hEtqKWYp/
+QsHgnjoLYXsh0WD5rz/mBxdTdDLGpFqWDzDqb8rsYnqBzoowvsasV8X8OSkov0Ht
+8Yka0ckFH9yf8j1Cwmbl6ttuonOhky3N/gwLEozuhy7TPcZGVyzevF70kXy7g1CX
+kpFGJyEHXoprlNi8FR4I+NFzbDe6a2cFow1JN19AJ9Z5Rk5m7M0mQPaQ4RcikjB3
+aoLsASCJTm1OpOFHfxEKiBW4Lsp3Uc5/Rb9ZNbfLrwqWZRM7buW1e3ekLqntgbky
+uKKISHqVJuw/vXHl1jNibEo9+JuQ88VNuAcm7WpGUogeCa2iAlPTckPZei+MwZ8w
+tpvxTyYlZEC8DWzY1VC29+W2N5cvh01e2E3Ql08W1zL63dqrgdEZ3VWjzooYi4ep
+BmMXTvouW+Flyvcw/0oTcfN0biDIt0mCkZ5CQVjfGL9DTOYteR5hw+k=
+-----END CERTIFICATE-----
diff --git a/src/main/resources/clds/camel/routes/dcae-flows.xml b/src/main/resources/clds/camel/routes/dcae-flows.xml
index 395077a8e..469358190 100644
--- a/src/main/resources/clds/camel/routes/dcae-flows.xml
+++ b/src/main/resources/clds/camel/routes/dcae-flows.xml
@@ -2,19 +2,16 @@
<route id="deploy-loop">
<from uri="direct:deploy-loop" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Deploying the loop: ${exchangeProperty[loopObject].getName()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Deploying the loop')" />
<setBody>
- <method
- ref="org.onap.clamp.loop.components.external.DcaeComponent"
+ <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
method="getDeployPayload(${exchangeProperty[loopObject]})" />
</setBody>
<setProperty propertyName="dcaeDeploymentId">
- <method
- ref="org.onap.clamp.loop.components.external.DcaeComponent"
+ <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
method="generateDeploymentId()" />
</setProperty>
<setHeader headerName="CamelHttpMethod">
@@ -35,20 +32,17 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to deploy loop: {{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[dcaeDeploymentId]}"></log>
<toD
uri="{{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[dcaeDeploymentId]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.dcae.deployment.userName}}&amp;authPassword={{clamp.config.dcae.deployment.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=300000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
<convertBodyTo type="java.lang.String" />
<setProperty propertyName="dcaeResponse">
- <method
- ref="org.onap.clamp.loop.components.external.DcaeComponent"
+ <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
method="convertDcaeResponse(${body})" />
</setProperty>
<setProperty propertyName="dcaeStatusUrl">
- <method
- ref="org.onap.clamp.loop.components.external.DcaeComponent"
+ <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
method="getStatusUrl(${exchangeProperty[dcaeResponse]})" />
</setProperty>
<to
@@ -63,6 +57,9 @@
StatusUrl:${exchangeProperty[dcaeStatusUrl]})
</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>DCAE</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
@@ -70,8 +67,7 @@
<route id="undeploy-loop">
<from uri="direct:undeploy-loop" />
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Undeploying the loop: ${exchangeProperty[loopObject].getName()} : ${exchangeProperty[loopObject].getDcaeDeploymentId()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Undeploying the loop')" />
@@ -82,8 +78,7 @@
</simple>
<doTry>
<setBody>
- <method
- ref="org.onap.clamp.loop.components.external.DcaeComponent"
+ <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
method="getUndeployPayload(${exchangeProperty[loopObject]})" />
</setBody>
<setHeader headerName="CamelHttpMethod">
@@ -105,20 +100,17 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to undeploy loop: {{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[loopObject].getDcaeDeploymentId()}"></log>
<toD
uri="{{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[loopObject].getDcaeDeploymentId()}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.dcae.deployment.userName}}&amp;authPassword={{clamp.config.dcae.deployment.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=300000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
<convertBodyTo type="java.lang.String" />
<setProperty propertyName="dcaeResponse">
- <method
- ref="org.onap.clamp.loop.components.external.DcaeComponent"
+ <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
method="convertDcaeResponse(${body})" />
</setProperty>
<setProperty propertyName="dcaeStatusUrl">
- <method
- ref="org.onap.clamp.loop.components.external.DcaeComponent"
+ <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
method="getStatusUrl(${exchangeProperty[dcaeResponse]})" />
</setProperty>
<to
@@ -130,13 +122,15 @@
<setProperty propertyName="logMessage">
<simple>UNDEPLOY loop status</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>DCAE</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
</when>
<otherwise>
- <log
- loggingLevel="WARNING"
+ <log loggingLevel="WARNING"
message="Cannot Undeploy for the loop: ${exchangeProperty[loopObject].getName()}, the Deployment ID does not exist !" />
<to
uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Cannot Undeploy for the loop: ${exchangeProperty[loopObject].getName()}, the Deployment ID does not exist !','WARNING',${exchangeProperty[loopObject]})" />
@@ -146,8 +140,7 @@
</route>
<route id="get-dcae-deployment-status">
<from uri="direct:get-dcae-deployment-status" />
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Getting DCAE deployment status for loop: ${exchangeProperty[loopObject].getName()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Getting Deployment status')" />
@@ -167,8 +160,7 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to query Closed Loop status: ${exchangeProperty[loopObject].getDcaeDeploymentStatusUrl()}"></log>
<toD
uri="${exchangeProperty[loopObject].getDcaeDeploymentStatusUrl()}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.dcae.deployment.userName}}&amp;authPassword={{clamp.config.dcae.deployment.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=30000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
@@ -179,6 +171,9 @@
<setProperty propertyName="logMessage">
<simple>DCAE deployment status</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>DCAE</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
diff --git a/src/main/resources/clds/camel/routes/loop-flows.xml b/src/main/resources/clds/camel/routes/loop-flows.xml
index ede899e71..036e8efc8 100644
--- a/src/main/resources/clds/camel/routes/loop-flows.xml
+++ b/src/main/resources/clds/camel/routes/loop-flows.xml
@@ -5,9 +5,7 @@
<simple>${header.loopName}</simple>
</setBody>
<setProperty propertyName="loopObject">
- <method
- ref="org.onap.clamp.loop.LoopService"
- method="getLoop" />
+ <method ref="org.onap.clamp.loop.LoopService" method="getLoop" />
</setProperty>
<when>
@@ -15,26 +13,24 @@
<setHeader headerName="CamelHttpResponseCode">
<constant>404</constant>
</setHeader>
- <log
- loggingLevel="WARNING"
- message="Loop not found in database: ${body}" />
+ <log loggingLevel="WARN" message="Loop not found in database: ${body}" />
<stop />
</when>
</route>
+
<route id="update-policy-status-for-loop">
<from uri="direct:update-policy-status-for-loop" />
- <setProperty propertyName="atLeastOnePolicyNotFound">
- <simple resultType="java.lang.Boolean">false</simple>
- </setProperty>
- <setProperty propertyName="atLeastOnePolicyNotDeployed">
- <simple resultType="java.lang.Boolean">false</simple>
- </setProperty>
<setProperty propertyName="policyComponent">
<simple>${exchangeProperty[loopObject].getComponent('POLICY')}
</simple>
</setProperty>
- <log
- loggingLevel="INFO"
+ <setProperty propertyName="policyFound">
+ <simple resultType="java.lang.Boolean">true</simple>
+ </setProperty>
+ <setProperty propertyName="policyDeployed">
+ <simple resultType="java.lang.Boolean">true</simple>
+ </setProperty>
+ <log loggingLevel="INFO"
message="Processing all MICRO-SERVICES policies defined in loop ${exchangeProperty[loopObject].getName()}" />
<split>
<simple>${exchangeProperty[loopObject].getMicroServicePolicies()}
@@ -45,32 +41,17 @@
<setProperty propertyName="policyType">
<simple>${body.getModelType()}</simple>
</setProperty>
+ <setProperty propertyName="policyVersion">
+ <simple>1.0.0</simple>
+ </setProperty>
<setBody>
<constant>null</constant>
</setBody>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Processing Micro Service Policy: ${exchangeProperty[policyName]} of type ${exchangeProperty[policyType]}" />
- <setProperty propertyName="raiseHttpExceptionFlag">
- <simple resultType="java.lang.Boolean">false</simple>
- </setProperty>
- <to uri="direct:get-policy" />
- <when>
- <simple> ${header.CamelHttpResponseCode} != 200 </simple>
- <setProperty propertyName="atLeastOnePolicyNotFound">
- <simple resultType="java.lang.Boolean">true</simple>
- </setProperty>
- </when>
- <to uri="direct:get-deployment-policy" />
- <when>
- <simple> ${header.CamelHttpResponseCode} != 200 </simple>
- <setProperty propertyName="atLeastOnePolicyNotDeployed">
- <simple resultType="java.lang.Boolean">true</simple>
- </setProperty>
- </when>
+ <to uri="direct:verify-one-policy" />
</split>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Processing all OPERATIONAL policies defined in loop ${exchangeProperty[loopObject].getName()}" />
<split>
<simple>${exchangeProperty[loopObject].getOperationalPolicies()}
@@ -81,35 +62,19 @@
<setProperty propertyName="policyType">
<simple>onap.policies.controlloop.Operational</simple>
</setProperty>
+ <setProperty propertyName="policyVersion">
+ <simple>1</simple>
+ </setProperty>
<setProperty propertyName="operationalPolicy">
<simple>${body}</simple>
</setProperty>
<setBody>
<constant>null</constant>
</setBody>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Processing Micro Service Policy: ${exchangeProperty[policyName]} of type ${exchangeProperty[policyType]}" />
- <setProperty propertyName="raiseHttpExceptionFlag">
- <simple resultType="java.lang.Boolean">false</simple>
- </setProperty>
- <to uri="direct:get-policy" />
- <when>
- <simple> ${header.CamelHttpResponseCode} != 200 </simple>
- <setProperty propertyName="atLeastOnePolicyNotFound">
- <simple resultType="java.lang.Boolean">true</simple>
- </setProperty>
- </when>
- <to uri="direct:get-deployment-policy" />
- <when>
- <simple> ${header.CamelHttpResponseCode} != 200 </simple>
- <setProperty propertyName="atLeastOnePolicyNotDeployed">
- <simple resultType="java.lang.Boolean">true</simple>
- </setProperty>
- </when>
-
- <log
- loggingLevel="INFO"
+ <to uri="direct:verify-one-policy" />
+ <log loggingLevel="INFO"
message="Processing all GUARD policies defined in loop ${exchangeProperty[loopObject].getName()}" />
<split>
<simple>${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()}
@@ -120,45 +85,29 @@
<setProperty propertyName="policyType">
<simple>onap.policies.controlloop.Guard</simple>
</setProperty>
+ <setProperty propertyName="policyVersion">
+ <simple>1</simple>
+ </setProperty>
<setBody>
<constant>null</constant>
</setBody>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Processing Guard Policy: ${exchangeProperty[policyName]} of type ${exchangeProperty[policyType]}" />
- <setProperty propertyName="raiseHttpExceptionFlag">
- <simple resultType="java.lang.Boolean">false</simple>
- </setProperty>
- <to uri="direct:get-policy" />
- <when>
- <simple> ${header.CamelHttpResponseCode} != 200 </simple>
- <setProperty propertyName="atLeastOnePolicyNotFound">
- <simple resultType="java.lang.Boolean">true</simple>
- </setProperty>
- </when>
- <to uri="direct:get-deployment-policy" />
- <when>
- <simple> ${header.CamelHttpResponseCode} != 200 </simple>
- <setProperty propertyName="atLeastOnePolicyNotDeployed">
- <simple resultType="java.lang.Boolean">true</simple>
- </setProperty>
- </when>
+ <to uri="direct:verify-one-policy" />
</split>
</split>
<setProperty propertyName="policyState">
- <simple> ${exchangeProperty[policyComponent].computeState(*)}
+ <simple> ${exchangeProperty[policyComponent].getState()}
</simple>
</setProperty>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Policy state set to: ${exchangeProperty[policyState].getStateName()}" />
<to
uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLogForComponent('Policy state set to: ${exchangeProperty[policyState].getStateName()}','INFO','POLICY',${exchangeProperty[loopObject]})" />
</route>
<route id="update-dcae-status-for-loop">
<from uri="direct:update-dcae-status-for-loop" />
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Updating DCAE status for loop: ${exchangeProperty[loopObject].getName()}" />
<setProperty propertyName="dcaeComponent">
<simple>${exchangeProperty[loopObject].getComponent('DCAE')}</simple>
@@ -175,8 +124,7 @@
<simple> ${header.CamelHttpResponseCode} == 200 </simple>
<convertBodyTo type="java.lang.String" />
<setProperty propertyName="dcaeResponse">
- <method
- ref="org.onap.clamp.loop.components.external.DcaeComponent"
+ <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
method="convertDcaeResponse(${body})" />
</setProperty>
</when>
@@ -186,8 +134,7 @@
<simple> ${exchangeProperty[dcaeComponent].computeState(*)}
</simple>
</setProperty>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="DCAE state set to: ${exchangeProperty[dcaeState].getStateName()} - DCAE message: ${exchangeProperty[dcaeResponse].getError()}" />
<to
uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLogForComponent('DCAE state set to: ${exchangeProperty[dcaeState].getStateName()} - message: ${exchangeProperty[dcaeResponse].getError()}','INFO','DCAE',${exchangeProperty[loopObject]})" />
@@ -195,53 +142,78 @@
</route>
<route id="direct:update-loop-state">
<from uri="direct:update-loop-state" />
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Updating status for loop: ${exchangeProperty[loopObject].getName()}" />
<choice>
<when>
- <simple>${exchangeProperty['dcaeState'].getStateName()} == 'BLUEPRINT_DEPLOYED' and ${exchangeProperty['policyState'].getStateName()} == 'NOT_SENT'</simple>
+ <simple>${exchangeProperty['dcaeState'].getStateName()} ==
+ 'BLUEPRINT_DEPLOYED' and ${exchangeProperty['policyState'].getStateName()}
+ == 'NOT_SENT'
+ </simple>
<to
uri="bean:org.onap.clamp.loop.LoopService?method=updateLoopState(${exchangeProperty[loopObject]},'DESIGN')" />
</when>
<when>
- <simple>${exchangeProperty['dcaeState'].getStateName()} == 'IN_ERROR' or ${exchangeProperty['dcaeState'].getStateName()} == 'MICROSERVICE_INSTALLATION_FAILED'</simple>
+ <simple>${exchangeProperty['dcaeState'].getStateName()} == 'IN_ERROR' or
+ ${exchangeProperty['dcaeState'].getStateName()} ==
+ 'MICROSERVICE_INSTALLATION_FAILED'
+ </simple>
<to
uri="bean:org.onap.clamp.loop.LoopService?method=updateLoopState(${exchangeProperty[loopObject]},'IN_ERROR')" />
</when>
<when>
- <simple>${exchangeProperty['dcaeState'].getStateName()} == 'MICROSERVICE_UNINSTALLATION_FAILED' or ${exchangeProperty['policyState'].getStateName()} == 'IN_ERROR'</simple>
+ <simple>${exchangeProperty['dcaeState'].getStateName()} ==
+ 'MICROSERVICE_UNINSTALLATION_FAILED' or
+ ${exchangeProperty['policyState'].getStateName()} == 'IN_ERROR'
+ </simple>
<to
uri="bean:org.onap.clamp.loop.LoopService?method=updateLoopState(${exchangeProperty[loopObject]},'IN_ERROR')" />
</when>
<when>
- <simple>${exchangeProperty['dcaeState'].getStateName()} == 'MICROSERVICE_INSTALLED_SUCCESSFULLY' and ${exchangeProperty['policyState'].getStateName()} == 'SENT_AND_DEPLOYED'</simple>
+ <simple>${exchangeProperty['dcaeState'].getStateName()} ==
+ 'MICROSERVICE_INSTALLED_SUCCESSFULLY' and
+ ${exchangeProperty['policyState'].getStateName()} == 'SENT_AND_DEPLOYED'
+ </simple>
<to
uri="bean:org.onap.clamp.loop.LoopService?method=updateLoopState(${exchangeProperty[loopObject]},'RUNNING')" />
</when>
<when>
- <simple>${exchangeProperty['dcaeState'].getStateName()} == 'MICROSERVICE_INSTALLED_SUCCESSFULLY' and ${exchangeProperty['policyState'].getStateName()} == 'SENT'</simple>
+ <simple>${exchangeProperty['dcaeState'].getStateName()} ==
+ 'MICROSERVICE_INSTALLED_SUCCESSFULLY' and
+ ${exchangeProperty['policyState'].getStateName()} == 'SENT'
+ </simple>
<to
uri="bean:org.onap.clamp.loop.LoopService?method=updateLoopState(${exchangeProperty[loopObject]},'STOPPED')" />
</when>
<when>
- <simple>${exchangeProperty['dcaeState'].getStateName()} == 'BLUEPRINT_DEPLOYED' or ${exchangeProperty['dcaeState'].getStateName()} == 'MICROSERVICE_UNINSTALLED_SUCCESSFULLY' and ${exchangeProperty['policyState'].getStateName()} == 'SENT_AND_DEPLOYED'</simple>
+ <simple>${exchangeProperty['dcaeState'].getStateName()} ==
+ 'BLUEPRINT_DEPLOYED' or ${exchangeProperty['dcaeState'].getStateName()} ==
+ 'MICROSERVICE_UNINSTALLED_SUCCESSFULLY' and
+ ${exchangeProperty['policyState'].getStateName()} == 'SENT_AND_DEPLOYED'
+ </simple>
<to
uri="bean:org.onap.clamp.loop.LoopService?method=updateLoopState(${exchangeProperty[loopObject]},'SUBMITTED')" />
</when>
<when>
- <simple>${exchangeProperty['dcaeState'].getStateName()} == 'PROCESSING_MICROSERVICE_INSTALLATION' or ${exchangeProperty['dcaeState'].getStateName()} == 'PROCESSING_MICROSERVICE_UNINSTALLATION' and ${exchangeProperty['policyState'].getStateName()} == 'SENT_AND_DEPLOYED'</simple>
+ <simple>${exchangeProperty['dcaeState'].getStateName()} ==
+ 'PROCESSING_MICROSERVICE_INSTALLATION' or
+ ${exchangeProperty['dcaeState'].getStateName()} ==
+ 'PROCESSING_MICROSERVICE_UNINSTALLATION' and
+ ${exchangeProperty['policyState'].getStateName()} == 'SENT_AND_DEPLOYED'
+ </simple>
<to
uri="bean:org.onap.clamp.loop.LoopService?method=updateLoopState(${exchangeProperty[loopObject]},'WAITING')" />
</when>
<when>
- <simple>${exchangeProperty['dcaeState'].getStateName()} == 'MICROSERVICE_INSTALLED_SUCCESSFULLY' and ${exchangeProperty['policyState'].getStateName()} != 'NOT_SENT'</simple>
+ <simple>${exchangeProperty['dcaeState'].getStateName()} ==
+ 'MICROSERVICE_INSTALLED_SUCCESSFULLY' and
+ ${exchangeProperty['policyState'].getStateName()} != 'NOT_SENT'
+ </simple>
<to
uri="bean:org.onap.clamp.loop.LoopService?method=updateLoopState(${exchangeProperty[loopObject]},'DEPLOYED')" />
</when>
</choice>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="New loop state is: ${exchangeProperty[loopObject].getLastComputedState().toString()}" />
<to
uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('New loop state is: ${exchangeProperty[loopObject].getLastComputedState().toString()}','INFO',${exchangeProperty[loopObject]})" />
diff --git a/src/main/resources/clds/camel/routes/policy-flows.xml b/src/main/resources/clds/camel/routes/policy-flows.xml
index 537354f15..75ac66c6c 100644
--- a/src/main/resources/clds/camel/routes/policy-flows.xml
+++ b/src/main/resources/clds/camel/routes/policy-flows.xml
@@ -1,10 +1,40 @@
<routes xmlns="http://camel.apache.org/schema/spring">
+ <route id="verify-one-policy">
+ <from uri="direct:verify-one-policy" />
+ <setProperty propertyName="raiseHttpExceptionFlag">
+ <simple resultType="java.lang.Boolean">false</simple>
+ </setProperty>
+ <to uri="direct:get-policy" />
+ <when>
+ <simple> ${header.CamelHttpResponseCode} != 200 </simple>
+ <setProperty propertyName="policyFound">
+ <simple resultType="java.lang.Boolean">false</simple>
+ </setProperty>
+ <log loggingLevel="WARN"
+ message="At least one policy has not been found on policy engine: ${exchangeProperty[policyName]}" />
+ </when>
+ <setProperty propertyName="raiseHttpExceptionFlag">
+ <simple resultType="java.lang.Boolean">false</simple>
+ </setProperty>
+ <to uri="direct:get-deployment-policy" />
+ <when>
+ <simple> ${header.CamelHttpResponseCode} != 200 </simple>
+ <setProperty propertyName="policyDeployed">
+ <simple resultType="java.lang.Boolean">false</simple>
+ </setProperty>
+ <log loggingLevel="WARN"
+ message="At least one policy has not been deployed on policy engine: ${exchangeProperty[policyName]}" />
+ </when>
+ <setProperty propertyName="newPolicyState">
+ <simple>${exchangeProperty[policyComponent].computeState(*)}</simple>
+ </setProperty>
+ </route>
+
<route id="get-policy">
<from uri="direct:get-policy" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Getting Policy: ${exchangeProperty[policyName]}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Get Policy')" />
@@ -23,11 +53,10 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
- message="Endpoint to get policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/1.0.0/policies/${exchangeProperty[policyName]}/versions/1.0.0"></log>
+ <log loggingLevel="INFO"
+ message="Endpoint to get policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/1.0.0/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}"></log>
<toD
- uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/1.0.0/policies/${exchangeProperty[policyName]}/versions/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
+ uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/1.0.0/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
<doFinally>
<to uri="direct:reset-raise-http-exception-flag" />
<to
@@ -37,6 +66,9 @@
Policy status
</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
@@ -45,8 +77,7 @@
<route id="get-deployment-policy">
<from uri="direct:get-deployment-policy" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Getting the policy deployment in PDP: ${exchangeProperty[policyName]}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy deployment in PDP')" />
@@ -65,8 +96,7 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to get policy deployment status: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/1.0.0/policies/${exchangeProperty[policyName]}/versions/deployed"></log>
<toD
uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/1.0.0/policies/${exchangeProperty[policyName]}/versions/deployed?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
@@ -79,6 +109,9 @@
status
</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
@@ -86,8 +119,7 @@
<route id="create-micro-service-policy">
<from uri="direct:create-micro-service-policy" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Creating Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Micro Service Policy')" />
@@ -113,8 +145,7 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to create microservice policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[microServicePolicy].getModelType()}/versions/1.0.0/policies"></log>
<toD
uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[microServicePolicy].getModelType()}/versions/1.0.0/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
@@ -127,6 +158,9 @@
status
</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
@@ -135,8 +169,7 @@
<route id="delete-micro-service-policy">
<from uri="direct:delete-micro-service-policy" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Deleting Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Micro Service Policy')" />
@@ -158,8 +191,7 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to delete microservice policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[microServicePolicy].getModelType()}/versions/1.0.0/policies/${exchangeProperty[microServicePolicy].getName()}/versions/1.0.0"></log>
<toD
uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[microServicePolicy].getModelType()}/versions/1.0.0/policies/${exchangeProperty[microServicePolicy].getName()}/versions/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
@@ -173,6 +205,9 @@
status
</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
@@ -181,8 +216,7 @@
<route id="create-operational-policy">
<from uri="direct:create-operational-policy" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Creating Operational Policy: ${exchangeProperty[operationalPolicy].getName()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Operational Policy')" />
@@ -208,8 +242,7 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to create operational policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies"></log>
<toD
uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
@@ -222,6 +255,9 @@
status
</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
@@ -230,8 +266,7 @@
<route id="delete-operational-policy">
<from uri="direct:delete-operational-policy" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Deleting Operational Policy: ${exchangeProperty[operationalPolicy].getName()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Operational Policy')" />
@@ -253,8 +288,7 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to delete operational policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/${exchangeProperty[operationalPolicy].getName()}/versions/1"></log>
<toD
uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/${exchangeProperty[operationalPolicy].getName()}/versions/1?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
@@ -267,6 +301,9 @@
status
</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
@@ -275,8 +312,7 @@
<route id="create-guard-policy">
<from uri="direct:create-guard-policy" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Creating Guard Policy: ${exchangeProperty[guardPolicy].getKey()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Guard Policy')" />
@@ -302,8 +338,7 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to create guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies"></log>
<toD
uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
@@ -315,6 +350,9 @@
<simple>${exchangeProperty[guardPolicy].getKey()} creation status
</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
@@ -323,8 +361,7 @@
<route id="delete-guard-policy">
<from uri="direct:delete-guard-policy" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Deleting Guard Policy: ${exchangeProperty[guardPolicy].getKey()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Guard Policy')" />
@@ -346,8 +383,7 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to delete guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1"></log>
<toD
uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
@@ -360,6 +396,9 @@
<simple>${exchangeProperty[guardPolicy].getKey()} removal status
</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
@@ -368,8 +407,7 @@
<route id="add-all-to-active-pdp-group">
<from uri="direct:add-all-to-active-pdp-group" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Adding loop policies to PDP Group: ${exchangeProperty[loopObject].getName()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Add policies to PDP group')" />
@@ -395,8 +433,7 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to add policies to PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/policies"></log>
<toD
uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/policies?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
@@ -408,6 +445,9 @@
<setProperty propertyName="logMessage">
<simple>PDP Group push ALL status</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doFinally>
</doTry>
@@ -416,8 +456,7 @@
<route id="remove-all-policy-from-active-pdp-group">
<from uri="direct:remove-all-policy-from-active-pdp-group" />
<doTry>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Removing policies from active PDP group for loop: ${exchangeProperty[loopObject].getName()}" />
<to
uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Removing policies PDP group')" />
@@ -445,8 +484,7 @@
<simple>${exchangeProperty[X-ONAP-PartnerName]}
</simple>
</setHeader>
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="Endpoint to delete policy from PDP Group: {{clamp.config.policy.pap.url}}/pdps/policies/${exchangeProperty[policyName]}/versions/1.0.0"></log>
<toD
uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/policies/${exchangeProperty[policyName]}/versions/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
@@ -454,6 +492,9 @@
<simple>${exchangeProperty[policyName]} PDP Group removal status
</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</split>
<doCatch>
@@ -464,6 +505,9 @@
<setProperty propertyName="logMessage">
<simple>PDP Group removal, Error reported: ${exception}</simple>
</setProperty>
+ <setProperty propertyName="logComponent">
+ <simple>POLICY</simple>
+ </setProperty>
<to uri="direct:dump-loop-log-http-response" />
</doCatch>
<doFinally>
diff --git a/src/main/resources/clds/camel/routes/utils-flows.xml b/src/main/resources/clds/camel/routes/utils-flows.xml
index adf843ffe..bbbc46a20 100644
--- a/src/main/resources/clds/camel/routes/utils-flows.xml
+++ b/src/main/resources/clds/camel/routes/utils-flows.xml
@@ -8,10 +8,21 @@
<route id="dump-loop-log-http-response">
<from uri="direct:dump-loop-log-http-response" />
- <log
- loggingLevel="INFO"
+ <log loggingLevel="INFO"
message="${exchangeProperty[logMessage]} - ${header.CamelHttpResponseCode} : ${header.CamelHttpResponseText}" />
- <to
- uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('${exchangeProperty[logMessage]} - ${header.CamelHttpResponseCode} : ${header.CamelHttpResponseText}','INFO',${exchangeProperty[loopObject]})" />
+ <choice>
+ <when>
+ <simple>${exchangeProperty[logComponent]} == null</simple>
+ <to
+ uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('${exchangeProperty[logMessage]} - ${header.CamelHttpResponseCode} : ${header.CamelHttpResponseText}','INFO',${exchangeProperty[loopObject]})" />
+ </when>
+ <otherwise>
+ <to
+ uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLogForComponent('${exchangeProperty[logMessage]} - ${header.CamelHttpResponseCode} : ${header.CamelHttpResponseText}','INFO','${exchangeProperty[logComponent]}',${exchangeProperty[loopObject]})" />
+ <setProperty propertyName="logComponent">
+ <constant>null</constant>
+ </setProperty>
+ </otherwise>
+ </choice>
</route>
</routes> \ No newline at end of file
diff --git a/src/main/resources/clds/json-schema/operational_policies/operational_policy.json b/src/main/resources/clds/json-schema/operational_policies/operational_policy.json
new file mode 100644
index 000000000..93738c809
--- /dev/null
+++ b/src/main/resources/clds/json-schema/operational_policies/operational_policy.json
@@ -0,0 +1,362 @@
+{
+ "schema": {
+ "uniqueItems": "true",
+ "format": "tabs",
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 1,
+ "title": "Operational policies",
+ "items": {
+ "type": "object",
+ "title": "Operational Policy Item",
+ "id": "operational_policy_item",
+ "headerTemplate": "{{self.name}}",
+ "required": [
+ "name",
+ "configurationsJson"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Operational policy name",
+ "readOnly": "True"
+ },
+ "configurationsJson": {
+ "type": "object",
+ "title": "Configuration",
+ "required": [
+ "operational_policy",
+ "guard_policies"
+ ],
+ "properties": {
+ "operational_policy": {
+ "type": "object",
+ "title": "Related Parameters",
+ "required": [
+ "controlLoop",
+ "policies"
+ ],
+ "properties": {
+ "controlLoop": {
+ "type": "object",
+ "title": "Control Loop details",
+ "required": [
+ "timeout",
+ "abatement",
+ "trigger_policy",
+ "controlLoopName"
+ ],
+ "properties": {
+ "timeout": {
+ "type": "string",
+ "title": "Overall Time Limit",
+ "default": "0",
+ "format": "number"
+ },
+ "abatement": {
+ "type": "string",
+ "title": "Abatement",
+ "enum": [
+ "True",
+ "False"
+ ]
+ },
+ "trigger_policy": {
+ "type": "string",
+ "title": "Policy Decision Entry"
+ },
+ "controlLoopName": {
+ "type": "string",
+ "title": "Control loop name",
+ "readOnly": "True"
+ }
+ }
+ },
+ "policies": {
+ "uniqueItems": "true",
+ "id": "policies_array",
+ "type": "array",
+ "title": "Policy Decision Tree",
+ "format": "tabs-top",
+ "items": {
+ "title": "Policy Decision",
+ "type": "object",
+ "id": "policy_item",
+ "headerTemplate": "{{self.id}} - {{self.recipe}}",
+ "format": "categories",
+ "basicCategoryTitle": "recipe",
+ "required": [
+ "id",
+ "recipe",
+ "retry",
+ "timeout",
+ "actor",
+ "success",
+ "failure",
+ "failure_timeout",
+ "failure_retries",
+ "failure_exception",
+ "failure_guard",
+ "target"
+ ],
+ "properties": {
+ "id": {
+ "default": "Policy 1",
+ "title": "Policy ID",
+ "type": "string"
+ },
+ "recipe": {
+ "title": "Recipe",
+ "type": "string",
+ "enum": [
+ "Restart",
+ "Rebuild",
+ "Migrate",
+ "Health-Check",
+ "ModifyConfig",
+ "VF Module Create",
+ "VF Module Delete",
+ "Reroute"
+ ]
+ },
+ "retry": {
+ "default": "0",
+ "title": "Number of Retry",
+ "type": "string",
+ "format": "number"
+ },
+ "timeout": {
+ "default": "0",
+ "title": "Timeout",
+ "type": "string",
+ "format": "number"
+ },
+ "actor": {
+ "title": "Actor",
+ "type": "string",
+ "enum": [
+ "APPC",
+ "SO",
+ "VFC",
+ "SDNC",
+ "SDNR"
+ ]
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "string",
+ "format": "textarea"
+ },
+ "success": {
+ "default": "final_success",
+ "title": "When Success",
+ "type": "string"
+ },
+ "failure": {
+ "default": "final_failure",
+ "title": "When Failure",
+ "type": "string"
+ },
+ "failure_timeout": {
+ "default": "final_failure_timeout",
+ "title": "When Failure Timeout",
+ "type": "string"
+ },
+ "failure_retries": {
+ "default": "final_failure_retries",
+ "title": "When Failure Retries",
+ "type": "string"
+ },
+ "failure_exception": {
+ "default": "final_failure_exception",
+ "title": "When Failure Exception",
+ "type": "string"
+ },
+ "failure_guard": {
+ "default": "final_failure_guard",
+ "title": "When Failure Guard",
+ "type": "string"
+ },
+ "target": {
+ "type": "object",
+ "required": [
+ "type",
+ "resourceID"
+ ],
+ "anyOf": [
+ {
+ "title": "User Defined",
+ "additionalProperties":"True",
+ "properties": {
+ "type": {
+ "title": "Target type",
+ "type": "string",
+ "default": "",
+ "enum": [
+ "VNF",
+ "VFMODULE",
+ "VM"
+ ]
+ },
+ "resourceID": {
+ "title": "Target type",
+ "type": "string",
+ "default": ""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "guard_policies": {
+ "type": "array",
+ "format": "tabs-top",
+ "title": "Associated Guard policies",
+ "items": {
+ "headerTemplate": "{{self.policy-id}} - {{self.content.recipe}}",
+ "anyOf": [
+ {
+ "title": "Guard MinMax",
+ "type": "object",
+ "properties": {
+ "policy-id": {
+ "type": "string",
+ "default": "guard.minmax.new",
+ "pattern": "^(guard.minmax\\..*)$"
+ },
+ "content": {
+ "properties": {
+ "actor": {
+ "type": "string",
+ "enum": [
+ "APPC",
+ "SO",
+ "VFC",
+ "SDNC",
+ "SDNR"
+ ]
+ },
+ "recipe": {
+ "type": "string",
+ "enum": [
+ "Restart",
+ "Rebuild",
+ "Migrate",
+ "Health-Check",
+ "ModifyConfig",
+ "VF Module Create",
+ "VF Module Delete",
+ "Reroute"
+ ]
+ },
+ "targets": {
+ "type": "string",
+ "default": ".*"
+ },
+ "clname": {
+ "type": "string",
+ "template": "{{loopName}}",
+ "watch": {
+ "loopName": "operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName"
+ }
+ },
+ "guardActiveStart": {
+ "type": "string",
+ "default": "00:00:00Z"
+ },
+ "guardActiveEnd": {
+ "type": "string",
+ "default": "10:00:00Z"
+ },
+ "min": {
+ "type": "string",
+ "default": "0"
+ },
+ "max": {
+ "type": "string",
+ "default": "1"
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Guard Frequency",
+ "type": "object",
+ "properties": {
+ "policy-id": {
+ "type": "string",
+ "default": "guard.frequency.new",
+ "pattern": "^(guard.frequency\\..*)$"
+ },
+ "content": {
+ "properties": {
+ "actor": {
+ "type": "string",
+ "enum": [
+ "APPC",
+ "SO",
+ "VFC",
+ "SDNC",
+ "SDNR"
+ ]
+ },
+ "recipe": {
+ "type": "string",
+ "enum": [
+ "Restart",
+ "Rebuild",
+ "Migrate",
+ "Health-Check",
+ "ModifyConfig",
+ "VF Module Create",
+ "VF Module Delete",
+ "Reroute"
+ ]
+ },
+ "targets": {
+ "type": "string",
+ "default": ".*"
+ },
+ "clname": {
+ "type": "string",
+ "template": "{{loopName}}",
+ "watch": {
+ "loopName": "operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName"
+ }
+ },
+ "guardActiveStart": {
+ "type": "string",
+ "default": "00:00:00Z"
+ },
+ "guardActiveEnd": {
+ "type": "string",
+ "default": "10:00:00Z"
+ },
+ "limit": {
+ "type": "string"
+ },
+ "timeWindow": {
+ "type": "string"
+ },
+ "timeUnits": {
+ "type": "string",
+ "enum":["minute","hour","day","week","month","year"]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/test/java/org/onap/clamp/clds/it/CldsDictionaryServiceItCase.java b/src/test/java/org/onap/clamp/clds/it/CldsDictionaryServiceItCase.java
index d31d5a01e..5218c9255 100644
--- a/src/test/java/org/onap/clamp/clds/it/CldsDictionaryServiceItCase.java
+++ b/src/test/java/org/onap/clamp/clds/it/CldsDictionaryServiceItCase.java
@@ -5,6 +5,8 @@
* Copyright (C) 2018 AT&T Intellectual Property. All rights
* reserved.
* ================================================================================
+ * Modifications Copyright (c) 2019 Samsung
+ * ================================================================================
* 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
@@ -29,7 +31,6 @@ import static org.junit.Assert.assertNotNull;
import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
-import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
@@ -63,23 +64,21 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class CldsDictionaryServiceItCase {
- protected static final EELFLogger logger = EELFManager.getInstance().getLogger(CldsDictionaryServiceItCase.class);
+ private static final EELFLogger logger = EELFManager.getInstance().getLogger(CldsDictionaryServiceItCase.class);
@Autowired
private CldsDictionaryService cldsDictionaryService;
- private Authentication authentication;
private CldsDictionary cldsDictionary;
private CldsDictionaryItem cldsDictionaryItem;
- private List<GrantedAuthority> authList = new LinkedList<GrantedAuthority>();
- private LoggingUtils util;
+ private List<GrantedAuthority> authList = new LinkedList<>();
+
+ private static final String DICTIONARY_NAME = "TestDictionary";
/**
* Setup the variable before the tests execution.
*
- * @throws IOException
- * In case of issues when opening the files
*/
@Before
- public void setupBefore() throws IOException {
+ public void setupBefore() {
authList.add(new SimpleGrantedAuthority("permission-type-cl|dev|read"));
authList.add(new SimpleGrantedAuthority("permission-type-cl|dev|update"));
authList.add(new SimpleGrantedAuthority("permission-type-template|dev|read"));
@@ -87,22 +86,19 @@ public class CldsDictionaryServiceItCase {
authList.add(new SimpleGrantedAuthority("permission-type-filter-vf|dev|*"));
authList.add(new SimpleGrantedAuthority("permission-type-tosca|dev|read"));
authList.add(new SimpleGrantedAuthority("permission-type-tosca|dev|update"));
- authentication = new UsernamePasswordAuthenticationToken(new User("admin", "", authList), "", authList);
+ Authentication authentication =
+ new UsernamePasswordAuthenticationToken(new User("admin", "", authList), "", authList);
SecurityContext securityContext = Mockito.mock(SecurityContext.class);
Mockito.when(securityContext.getAuthentication()).thenReturn(authentication);
- util = Mockito.mock(LoggingUtils.class);
+ LoggingUtils util = Mockito.mock(LoggingUtils.class);
Mockito.doNothing().when(util).entering(Matchers.any(HttpServletRequest.class), Matchers.any(String.class));
cldsDictionaryService.setLoggingUtil(util);
cldsDictionaryService.setSecurityContext(securityContext);
- cldsDictionary = new CldsDictionary();
-
- cldsDictionary.setDictionaryName("TestDictionary");
- ResponseEntity entity = cldsDictionaryService.createOrUpdateDictionary("TestDictionary", cldsDictionary);
- cldsDictionary = (CldsDictionary) entity.getBody();
+ cldsDictionary = cldsDictionaryService.createDictionary(DICTIONARY_NAME);
cldsDictionaryItem = new CldsDictionaryItem();
cldsDictionaryItem.setDictElementShortName("TestDictionaryItemShortName");
@@ -110,23 +106,43 @@ public class CldsDictionaryServiceItCase {
cldsDictionaryItem.setDictElementType("string");
cldsDictionaryItem.setDictionaryId(cldsDictionary.getDictionaryId());
cldsDictionaryItem.setDictElementDesc("TestDictionaryItemDesc");
- cldsDictionaryService.createOrUpdateDictionaryElements("TestDictionary", cldsDictionaryItem);
+ cldsDictionaryService.createOrUpdateDictionaryElements(DICTIONARY_NAME, cldsDictionaryItem);
logger.info("Initial Clds Dictionary uploaded in DB:" + cldsDictionaryItem);
}
@Test
- public void testCreateOrUpdateDictionary() throws Exception {
- ResponseEntity<CldsDictionary> responseEntity = cldsDictionaryService.createOrUpdateDictionary("TestDictionary",
- cldsDictionary);
- CldsDictionary dictionary = responseEntity.getBody();
+ public void testCreateDictionaryFromString() {
+ String dictionaryName = "TestDefaultDictionary";
+ CldsDictionary dictionary = cldsDictionaryService.createDictionary(dictionaryName);
assertNotNull(dictionary);
- logger.info("CLDS Dictionary is:" + dictionary);
- assertEquals("TestDictionary", dictionary.getDictionaryName());
+ logger.info("CLDS Default Dictionary is:" + dictionary);
+ assertEquals(dictionaryName, dictionary.getDictionaryName());
+ }
+
+ @Test
+ public void testCreateOrUpdateDictionaryUsedByFrontend() {
+ ResponseEntity<CldsDictionary> responseEntity =
+ cldsDictionaryService.createOrUpdateDictionary(DICTIONARY_NAME, null);
+ CldsDictionary dictionary1 = responseEntity.getBody();
+
+ responseEntity = cldsDictionaryService.createOrUpdateDictionary(DICTIONARY_NAME, cldsDictionary);
+ CldsDictionary dictionary2 = responseEntity.getBody();
+
+ responseEntity = cldsDictionaryService.createOrUpdateDictionary(DICTIONARY_NAME, new CldsDictionary());
+ CldsDictionary dictionary3 = responseEntity.getBody();
+
+ assertNotNull(dictionary1);
+ assertNotNull(dictionary2);
+ assertNotNull(dictionary3);
+ assertEquals(DICTIONARY_NAME, dictionary1.getDictionaryName());
+ assertEquals(DICTIONARY_NAME, dictionary2.getDictionaryName());
+ assertNotNull(dictionary3.getDictionaryName());
+ assertEquals(DICTIONARY_NAME, dictionary3.getDictionaryName());
}
@Test
- public void testCreateOrUpdateDictionaryElements() throws Exception {
+ public void testCreateOrUpdateDictionaryElements() {
cldsDictionaryItem = new CldsDictionaryItem();
cldsDictionaryItem.setDictElementShortName("TestDictionaryItemShortName1");
cldsDictionaryItem.setDictElementName("TestDictionaryItemName1");
@@ -135,7 +151,7 @@ public class CldsDictionaryServiceItCase {
cldsDictionaryItem.setDictElementDesc("TestDictionaryItemDesc1");
ResponseEntity<CldsDictionaryItem> responseEntity = cldsDictionaryService
- .createOrUpdateDictionaryElements("TestDictionary", cldsDictionaryItem);
+ .createOrUpdateDictionaryElements(DICTIONARY_NAME, cldsDictionaryItem);
CldsDictionaryItem dictionaryItem = responseEntity.getBody();
assertNotNull(dictionaryItem);
logger.info("CLDS Dictionary Item is:" + dictionaryItem);
@@ -143,7 +159,7 @@ public class CldsDictionaryServiceItCase {
}
@Test
- public void testGetAllDictionaryNames() throws Exception {
+ public void testGetAllDictionaryNames() {
ResponseEntity<List<CldsDictionary>> responseEntity = cldsDictionaryService.getAllDictionaryNames();
List<CldsDictionary> dictionaries = responseEntity.getBody();
assertNotNull(dictionaries);
@@ -151,11 +167,11 @@ public class CldsDictionaryServiceItCase {
}
@Test
- public void testGetDictionaryElementsByName() throws Exception {
+ public void testGetDictionaryElementsByName() {
ResponseEntity<List<CldsDictionaryItem>> responseEntity = cldsDictionaryService
- .getDictionaryElementsByName("TestDictionary");
+ .getDictionaryElementsByName(DICTIONARY_NAME);
List<CldsDictionaryItem> dictionaryItems = responseEntity.getBody();
assertNotNull(dictionaryItems);
logger.info("CLDS Dictionary Item LIst is:" + dictionaryItems);
}
-}
+} \ No newline at end of file
diff --git a/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java b/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java
index c9350c610..3010fe50b 100644
--- a/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java
+++ b/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java
@@ -54,7 +54,7 @@ public class LoopToJsonTest {
}
private Loop getLoop(String name, String svgRepresentation, String blueprint, String globalPropertiesJson,
- String dcaeId, String dcaeUrl, String dcaeBlueprintId) {
+ String dcaeId, String dcaeUrl, String dcaeBlueprintId) {
Loop loop = new Loop(name, blueprint, svgRepresentation);
loop.setGlobalPropertiesJson(new Gson().fromJson(globalPropertiesJson, JsonObject.class));
loop.setLastComputedState(LoopState.DESIGN);
@@ -65,9 +65,9 @@ public class LoopToJsonTest {
}
private MicroServicePolicy getMicroServicePolicy(String name, String modelType, String jsonRepresentation,
- String policyTosca, String jsonProperties, boolean shared) {
+ String policyTosca, String jsonProperties, boolean shared) {
MicroServicePolicy microService = new MicroServicePolicy(name, modelType, policyTosca, shared,
- gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>());
+ gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>());
microService.setProperties(new Gson().fromJson(jsonProperties, JsonObject.class));
return microService;
@@ -82,13 +82,13 @@ public class LoopToJsonTest {
@Test
public void loopGsonTest() throws IOException {
Loop loopTest = getLoop("ControlLoopTest", "<xml></xml>", "yamlcontent", "{\"testname\":\"testvalue\"}",
- "123456789", "https://dcaetest.org", "UUID-blueprint");
+ "123456789", "https://dcaetest.org", "UUID-blueprint");
OperationalPolicy opPolicy = this.getOperationalPolicy(
- ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), "GuardOpPolicyTest");
+ ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), "GuardOpPolicyTest");
loopTest.addOperationalPolicy(opPolicy);
MicroServicePolicy microServicePolicy = getMicroServicePolicy("configPolicyTest", "",
- "{\"configtype\":\"json\"}", "tosca_definitions_version: tosca_simple_yaml_1_0_0",
- "{\"param1\":\"value1\"}", true);
+ "{\"configtype\":\"json\"}", "tosca_definitions_version: tosca_simple_yaml_1_0_0",
+ "{\"param1\":\"value1\"}", true);
loopTest.addMicroServicePolicy(microServicePolicy);
LoopLog loopLog = getLoopLog(LogType.INFO, "test message", loopTest);
loopTest.addLog(loopLog);
@@ -99,11 +99,11 @@ public class LoopToJsonTest {
Loop loopTestDeserialized = JsonUtils.GSON_JPA_MODEL.fromJson(jsonSerialized, Loop.class);
assertNotNull(loopTestDeserialized);
assertThat(loopTestDeserialized).isEqualToIgnoringGivenFields(loopTest, "svgRepresentation", "blueprint",
- "components");
+ "components");
assertThat(loopTestDeserialized.getComponent("DCAE").getState())
- .isEqualToComparingFieldByField(loopTest.getComponent("DCAE").getState());
- assertThat(loopTestDeserialized.getComponent("POLICY").getState())
- .isEqualToComparingFieldByField(loopTest.getComponent("POLICY").getState());
+ .isEqualToComparingFieldByField(loopTest.getComponent("DCAE").getState());
+ assertThat(loopTestDeserialized.getComponent("POLICY").getState()).isEqualToComparingOnlyGivenFields(
+ loopTest.getComponent("POLICY").getState(), "stateName", "description");
// svg and blueprint not exposed so wont be deserialized
assertThat(loopTestDeserialized.getBlueprint()).isEqualTo(null);
assertThat(loopTestDeserialized.getSvgRepresentation()).isEqualTo(null);
@@ -112,22 +112,22 @@ public class LoopToJsonTest {
assertThat(loopTestDeserialized.getMicroServicePolicies()).containsExactly(microServicePolicy);
assertThat(loopTestDeserialized.getLoopLogs()).containsExactly(loopLog);
assertThat((LoopLog) loopTestDeserialized.getLoopLogs().toArray()[0]).isEqualToIgnoringGivenFields(loopLog,
- "loop");
+ "loop");
}
@Test
public void createPoliciesPayloadPdpGroupTest() throws IOException {
Loop loopTest = getLoop("ControlLoopTest", "<xml></xml>", "yamlcontent", "{\"testname\":\"testvalue\"}",
- "123456789", "https://dcaetest.org", "UUID-blueprint");
+ "123456789", "https://dcaetest.org", "UUID-blueprint");
OperationalPolicy opPolicy = this.getOperationalPolicy(
- ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), "GuardOpPolicyTest");
+ ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), "GuardOpPolicyTest");
loopTest.addOperationalPolicy(opPolicy);
MicroServicePolicy microServicePolicy = getMicroServicePolicy("configPolicyTest", "",
- "{\"configtype\":\"json\"}", "tosca_definitions_version: tosca_simple_yaml_1_0_0",
- "{\"param1\":\"value1\"}", true);
+ "{\"configtype\":\"json\"}", "tosca_definitions_version: tosca_simple_yaml_1_0_0",
+ "{\"param1\":\"value1\"}", true);
loopTest.addMicroServicePolicy(microServicePolicy);
JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/pdp-group-policy-payload.json"),
- PolicyComponent.createPoliciesPayloadPdpGroup(loopTest), false);
+ PolicyComponent.createPoliciesPayloadPdpGroup(loopTest), false);
}
}
diff --git a/src/test/java/org/onap/clamp/policy/microservice/OperationalPolicyPayloadTest.java b/src/test/java/org/onap/clamp/policy/microservice/OperationalPolicyPayloadTest.java
index 8972e5117..728b61cc9 100644
--- a/src/test/java/org/onap/clamp/policy/microservice/OperationalPolicyPayloadTest.java
+++ b/src/test/java/org/onap/clamp/policy/microservice/OperationalPolicyPayloadTest.java
@@ -42,29 +42,29 @@ public class OperationalPolicyPayloadTest {
@Test
public void testOperationalPolicyPayloadConstruction() throws IOException {
JsonObject jsonConfig = new GsonBuilder().create().fromJson(
- ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), JsonObject.class);
+ ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), JsonObject.class);
OperationalPolicy policy = new OperationalPolicy("testPolicy", null, jsonConfig);
assertThat(policy.createPolicyPayloadYaml())
- .isEqualTo(ResourceFileUtil.getResourceAsString("tosca/operational-policy-payload.yaml"));
+ .isEqualTo(ResourceFileUtil.getResourceAsString("tosca/operational-policy-payload.yaml"));
assertThat(policy.createPolicyPayload())
- .isEqualTo(ResourceFileUtil.getResourceAsString("tosca/operational-policy-payload.json"));
+ .isEqualTo(ResourceFileUtil.getResourceAsString("tosca/operational-policy-payload.json"));
}
@Test
public void testLegacyOperationalPolicyPayloadConstruction() throws IOException {
JsonObject jsonConfig = new GsonBuilder().create().fromJson(
- ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), JsonObject.class);
+ ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), JsonObject.class);
assertThat(LegacyOperationalPolicy.createPolicyPayloadYamlLegacy(jsonConfig.get("operational_policy")))
- .isEqualTo(ResourceFileUtil.getResourceAsString("tosca/operational-policy-payload-legacy.yaml"));
+ .isEqualTo(ResourceFileUtil.getResourceAsString("tosca/operational-policy-payload-legacy.yaml"));
}
@Test
public void testGuardPolicyEmptyPayloadConstruction() throws IOException {
JsonObject jsonConfig = new GsonBuilder().create().fromJson(
- ResourceFileUtil.getResourceAsString("tosca/operational-policy-no-guard-properties.json"),
- JsonObject.class);
+ ResourceFileUtil.getResourceAsString("tosca/operational-policy-no-guard-properties.json"),
+ JsonObject.class);
OperationalPolicy policy = new OperationalPolicy("testPolicy", null, jsonConfig);
Map<String, String> guardsMap = policy.createGuardPolicyPayloads();
assertThat(guardsMap).isEmpty();
@@ -74,15 +74,15 @@ public class OperationalPolicyPayloadTest {
@Test
public void testGuardPolicyPayloadConstruction() throws IOException {
JsonObject jsonConfig = new GsonBuilder().create().fromJson(
- ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), JsonObject.class);
+ ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), JsonObject.class);
OperationalPolicy policy = new OperationalPolicy("testPolicy", null, jsonConfig);
Map<String, String> guardsMap = policy.createGuardPolicyPayloads();
JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/guard1-policy-payload.json"),
- guardsMap.get("guard1"), false);
+ guardsMap.get("guard.minmax.new"), false);
JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/guard2-policy-payload.json"),
- guardsMap.get("guard2"), false);
+ guardsMap.get("guard.frequency.new"), false);
}
}
diff --git a/src/test/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilderTest.java b/src/test/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilderTest.java
new file mode 100644
index 000000000..904525bea
--- /dev/null
+++ b/src/test/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilderTest.java
@@ -0,0 +1,52 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.policy.operational;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonObject;
+
+import java.io.IOException;
+
+import org.junit.Test;
+import org.onap.clamp.clds.util.ResourceFileUtil;
+import org.skyscreamer.jsonassert.JSONAssert;
+
+public class OperationalPolicyRepresentationBuilderTest {
+
+ @Test
+ public void testOperationalPolicyPayloadConstruction() throws IOException {
+ JsonObject jsonModel = new GsonBuilder().create()
+ .fromJson(ResourceFileUtil.getResourceAsString("tosca/model-properties.json"), JsonObject.class);
+
+ JsonObject jsonSchema = OperationalPolicyRepresentationBuilder.generateOperationalPolicySchema(jsonModel);
+
+ assertThat(jsonSchema).isNotNull();
+
+ JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/operational-policy-json-schema.json"),
+ new GsonBuilder().create().toJson(jsonSchema), false);
+ }
+
+}
diff --git a/src/test/resources/clds/OperationalPolicyRepresentationBuilderTest.java b/src/test/resources/clds/OperationalPolicyRepresentationBuilderTest.java
new file mode 100644
index 000000000..904525bea
--- /dev/null
+++ b/src/test/resources/clds/OperationalPolicyRepresentationBuilderTest.java
@@ -0,0 +1,52 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.policy.operational;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonObject;
+
+import java.io.IOException;
+
+import org.junit.Test;
+import org.onap.clamp.clds.util.ResourceFileUtil;
+import org.skyscreamer.jsonassert.JSONAssert;
+
+public class OperationalPolicyRepresentationBuilderTest {
+
+ @Test
+ public void testOperationalPolicyPayloadConstruction() throws IOException {
+ JsonObject jsonModel = new GsonBuilder().create()
+ .fromJson(ResourceFileUtil.getResourceAsString("tosca/model-properties.json"), JsonObject.class);
+
+ JsonObject jsonSchema = OperationalPolicyRepresentationBuilder.generateOperationalPolicySchema(jsonModel);
+
+ assertThat(jsonSchema).isNotNull();
+
+ JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/operational-policy-json-schema.json"),
+ new GsonBuilder().create().toJson(jsonSchema), false);
+ }
+
+}
diff --git a/src/test/resources/http-cache/third_party_proxy.py b/src/test/resources/http-cache/third_party_proxy.py
index 0381ab18f..5ec9f46c1 100755
--- a/src/test/resources/http-cache/third_party_proxy.py
+++ b/src/test/resources/http-cache/third_party_proxy.py
@@ -43,7 +43,7 @@ parser.add_argument("--temp", "-t", default=tempfile.mkdtemp(), type=str, he
parser.add_argument("--proxy" , type=str, help="Url of the Act as a proxy. If not set, this script only uses the cache and will return a 404 if files aren't found")
parser.add_argument("--port", "-P", type=int, default="8081", help="Port on which the proxy should listen to")
parser.add_argument("--verbose", "-v", type=bool, help="Print more information in case of error")
-parser.add_argument("--proxyaddress","-a", type=str, help="Address of this proxy, generally either third_party_proxy:8085 or localhost:8085 depending if started with docker-compose or not")
+parser.add_argument("--proxyaddress","-a", type=str, help="Address of this proxy, generally either third-party-proxy:8085 or localhost:8085 depending if started with docker-compose or not")
options = parser.parse_args()
diff --git a/src/test/resources/sql/loop-examples.sql b/src/test/resources/sql/loop-examples.sql
index 895f2b36b..5694621b9 100644
--- a/src/test/resources/sql/loop-examples.sql
+++ b/src/test/resources/sql/loop-examples.sql
@@ -55,7 +55,7 @@ UNLOCK TABLES;
LOCK TABLES `hibernate_sequence` WRITE;
/*!40000 ALTER TABLE `hibernate_sequence` DISABLE KEYS */;
-INSERT INTO `hibernate_sequence` VALUES (1);
+INSERT INTO `hibernate_sequence` VALUES (520);
/*!40000 ALTER TABLE `hibernate_sequence` ENABLE KEYS */;
UNLOCK TABLES;
@@ -65,6 +65,525 @@ UNLOCK TABLES;
LOCK TABLES `loop_logs` WRITE;
/*!40000 ALTER TABLE `loop_logs` DISABLE KEYS */;
+INSERT INTO `loop_logs` VALUES (1,'CLAMP','2019-08-21 13:33:46','INFO','Micro Service policies UPDATED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (2,'CLAMP','2019-08-21 13:34:47','INFO','Operational and Guard policies UPDATED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (3,'CLAMP','2019-08-21 13:35:04','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (4,'CLAMP','2019-08-21 13:35:08','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (5,'CLAMP','2019-08-21 13:35:09','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (6,'CLAMP','2019-08-21 13:35:11','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (7,'CLAMP','2019-08-21 13:35:14','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (8,'CLAMP','2019-08-21 13:35:16','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (9,'CLAMP','2019-08-21 13:35:19','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (10,'CLAMP','2019-08-21 13:35:24','INFO','PDP Group push ALL status - : ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (11,'CLAMP','2019-08-21 13:35:24','ERROR','SUBMIT request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.112:32251/policy/pap/v1/pdps/policies?connectionTimeToLive=5000 with statusCode: 404 - Body: <html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\n<title>Error 404 Not Found</title>\n</head>\n<body><h2>HTTP ERROR 404</h2>\n<p>Problem accessing /policy/pap/v1/pdps/policies. Reason:\n<pre> Not Found</pre></p><hr><a href=\"http://eclipse.org/jetty\">Powered by Jetty:// 9.4.14.v20181114</a><hr/>\n\n</body>\n</html>\n','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (12,'CLAMP','2019-08-21 13:35:26','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (13,'CLAMP','2019-08-21 13:35:28','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (14,'CLAMP','2019-08-21 13:35:30','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (15,'CLAMP','2019-08-21 13:35:30','ERROR','Get Status request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.112:32251/policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/TCA_ejh5S_v1_0_ResourceInstanceName1_tca/versions/deployed?connectionTimeToLive=5000 with statusCode: 404 - Body: {\"code\":\"NOT_FOUND\",\"error\":\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\",\"details\":[\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\"]}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (16,'CLAMP','2019-08-21 13:35:54','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (17,'CLAMP','2019-08-21 13:35:56','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (18,'CLAMP','2019-08-21 13:35:59','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (19,'CLAMP','2019-08-21 13:35:59','ERROR','Get Status request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.112:32251/policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/TCA_ejh5S_v1_0_ResourceInstanceName1_tca/versions/deployed?connectionTimeToLive=5000 with statusCode: 404 - Body: {\"code\":\"NOT_FOUND\",\"error\":\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\",\"details\":[\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\"]}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (20,'CLAMP','2019-08-21 14:03:44','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (21,'CLAMP','2019-08-21 14:03:48','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (22,'CLAMP','2019-08-21 14:03:49','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (23,'CLAMP','2019-08-21 14:03:51','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (24,'CLAMP','2019-08-21 14:03:53','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (25,'CLAMP','2019-08-21 14:03:55','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (26,'CLAMP','2019-08-21 14:03:57','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (27,'CLAMP','2019-08-21 14:04:02','INFO','PDP Group push ALL status - : ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (28,'CLAMP','2019-08-21 14:04:02','ERROR','SUBMIT request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.1:31684/policy/pap/v1/pdps/policies?connectionTimeToLive=5000 with statusCode: 400 - Body: {\"errorDetails\":\"group defaultGroup subgroup xacml has no active PDPs\"}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (29,'CLAMP','2019-08-21 14:04:05','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (30,'CLAMP','2019-08-21 14:04:06','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (31,'CLAMP','2019-08-21 14:04:09','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (32,'CLAMP','2019-08-21 14:04:09','ERROR','Get Status request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.112:32251/policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/TCA_ejh5S_v1_0_ResourceInstanceName1_tca/versions/deployed?connectionTimeToLive=5000 with statusCode: 404 - Body: {\"code\":\"NOT_FOUND\",\"error\":\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\",\"details\":[\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\"]}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (33,'CLAMP','2019-08-21 14:13:39','INFO','Operational and Guard policies UPDATED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (34,'CLAMP','2019-08-21 14:13:43','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (35,'CLAMP','2019-08-21 14:13:44','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (36,'CLAMP','2019-08-21 14:13:46','INFO','guard.minmax.new PDP Group removal status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (37,'CLAMP','2019-08-21 14:13:48','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (38,'CLAMP','2019-08-21 14:13:50','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (39,'CLAMP','2019-08-21 14:13:51','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (40,'CLAMP','2019-08-21 14:13:53','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (41,'CLAMP','2019-08-21 14:13:55','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (42,'CLAMP','2019-08-21 14:13:57','INFO','guard.minmax.new removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (43,'CLAMP','2019-08-21 14:13:58','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (44,'CLAMP','2019-08-21 14:14:03','INFO','PDP Group push ALL status - : ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (45,'CLAMP','2019-08-21 14:14:03','ERROR','SUBMIT request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.1:31684/policy/pap/v1/pdps/policies?connectionTimeToLive=5000 with statusCode: 400 - Body: {\"errorDetails\":\"group defaultGroup subgroup xacml has no active PDPs\"}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (46,'CLAMP','2019-08-21 14:14:12','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (47,'CLAMP','2019-08-21 14:14:13','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (48,'CLAMP','2019-08-21 14:14:15','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (49,'CLAMP','2019-08-21 14:14:15','ERROR','Get Status request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.112:32251/policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/TCA_ejh5S_v1_0_ResourceInstanceName1_tca/versions/deployed?connectionTimeToLive=5000 with statusCode: 404 - Body: {\"code\":\"NOT_FOUND\",\"error\":\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\",\"details\":[\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\"]}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (50,'CLAMP','2019-08-21 15:18:52','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (51,'CLAMP','2019-08-21 15:18:56','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (52,'CLAMP','2019-08-21 15:18:58','INFO','guard.minmax.new PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (53,'CLAMP','2019-08-21 15:19:00','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (54,'CLAMP','2019-08-21 15:19:02','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (55,'CLAMP','2019-08-21 15:19:05','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (56,'CLAMP','2019-08-21 15:19:07','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (57,'CLAMP','2019-08-21 15:19:11','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (58,'CLAMP','2019-08-21 15:19:13','INFO','guard.minmax.new removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (59,'CLAMP','2019-08-21 15:19:15','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (60,'CLAMP','2019-08-21 15:19:20','INFO','PDP Group push ALL status - : ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (61,'CLAMP','2019-08-21 15:19:20','ERROR','SUBMIT request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.1:31684/policy/pap/v1/pdps/policies?connectionTimeToLive=5000 with statusCode: 400 - Body: {\"errorDetails\":\"group defaultGroup subgroup xacml has no active PDPs\"}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (62,'CLAMP','2019-08-21 15:19:27','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (63,'CLAMP','2019-08-21 15:19:29','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (64,'CLAMP','2019-08-21 15:19:31','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (65,'CLAMP','2019-08-21 15:19:31','ERROR','Get Status request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.112:32251/policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/TCA_ejh5S_v1_0_ResourceInstanceName1_tca/versions/deployed?connectionTimeToLive=5000 with statusCode: 404 - Body: {\"code\":\"NOT_FOUND\",\"error\":\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\",\"details\":[\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\"]}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (66,'CLAMP','2019-08-21 15:25:38','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (67,'POLICY','2019-08-21 15:25:42','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (68,'POLICY','2019-08-21 15:25:44','INFO','guard.minmax.new PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (69,'POLICY','2019-08-21 15:25:45','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (70,'POLICY','2019-08-21 15:25:47','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (71,'POLICY','2019-08-21 15:25:50','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (72,'POLICY','2019-08-21 15:25:52','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (73,'POLICY','2019-08-21 15:25:54','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (74,'POLICY','2019-08-21 15:25:56','INFO','guard.minmax.new removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (75,'POLICY','2019-08-21 15:25:58','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (76,'POLICY','2019-08-21 15:26:04','INFO','PDP Group push ALL status - : ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (77,'CLAMP','2019-08-21 15:26:04','ERROR','SUBMIT request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.1:31684/policy/pap/v1/pdps/policies?connectionTimeToLive=5000 with statusCode: 400 - Body: {\"errorDetails\":\"group defaultGroup subgroup xacml has no active PDPs\"}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (78,'CLAMP','2019-08-21 15:26:06','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (79,'POLICY','2019-08-21 15:26:08','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (80,'POLICY','2019-08-21 15:26:10','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (81,'CLAMP','2019-08-21 15:26:10','ERROR','Get Status request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.112:32251/policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/TCA_ejh5S_v1_0_ResourceInstanceName1_tca/versions/deployed?connectionTimeToLive=5000 with statusCode: 404 - Body: {\"code\":\"NOT_FOUND\",\"error\":\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\",\"details\":[\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\"]}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (82,'CLAMP','2019-08-22 01:54:37','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (83,'POLICY','2019-08-22 01:54:40','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (84,'POLICY','2019-08-22 01:54:41','INFO','guard.minmax.new PDP Group removal status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (85,'POLICY','2019-08-22 01:54:43','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (86,'POLICY','2019-08-22 01:54:46','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (87,'POLICY','2019-08-22 01:54:48','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (88,'POLICY','2019-08-22 01:54:50','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (89,'POLICY','2019-08-22 01:54:52','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (90,'POLICY','2019-08-22 01:54:54','INFO','guard.minmax.new removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (91,'POLICY','2019-08-22 01:54:55','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (92,'POLICY','2019-08-22 01:55:00','INFO','PDP Group push ALL status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (93,'CLAMP','2019-08-22 01:55:00','INFO','SUBMIT request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (94,'CLAMP','2019-08-22 01:55:24','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (95,'POLICY','2019-08-22 01:55:25','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (96,'POLICY','2019-08-22 01:55:28','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (97,'POLICY','2019-08-22 01:55:30','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (98,'POLICY','2019-08-22 01:55:32','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (99,'POLICY','2019-08-22 01:55:34','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (100,'POLICY','2019-08-22 01:55:36','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (101,'POLICY','2019-08-22 01:55:36','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (102,'DCAE','2019-08-22 01:55:36','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (103,'CLAMP','2019-08-22 01:55:37','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (104,'CLAMP','2019-08-22 01:55:37','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (105,'CLAMP','2019-08-22 02:16:54','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (106,'POLICY','2019-08-22 02:16:56','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (107,'POLICY','2019-08-22 02:16:58','INFO','guard.minmax.new PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (108,'POLICY','2019-08-22 02:17:00','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (109,'POLICY','2019-08-22 02:17:02','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (110,'POLICY','2019-08-22 02:17:04','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (111,'POLICY','2019-08-22 02:17:07','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (112,'POLICY','2019-08-22 02:17:09','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (113,'POLICY','2019-08-22 02:17:11','INFO','guard.minmax.new removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (114,'POLICY','2019-08-22 02:17:13','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (115,'POLICY','2019-08-22 02:17:18','INFO','PDP Group push ALL status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (116,'CLAMP','2019-08-22 02:17:18','INFO','SUBMIT request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (117,'CLAMP','2019-08-22 02:17:22','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (118,'POLICY','2019-08-22 02:17:24','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (119,'POLICY','2019-08-22 02:17:26','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (120,'POLICY','2019-08-22 02:17:28','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (121,'POLICY','2019-08-22 02:17:30','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (122,'POLICY','2019-08-22 02:17:31','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (123,'POLICY','2019-08-22 02:17:34','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (124,'POLICY','2019-08-22 02:17:34','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (125,'DCAE','2019-08-22 02:17:34','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (126,'CLAMP','2019-08-22 02:17:35','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (127,'CLAMP','2019-08-22 02:17:35','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (128,'CLAMP','2019-08-22 02:31:15','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (129,'POLICY','2019-08-22 02:31:17','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (130,'POLICY','2019-08-22 02:31:19','INFO','guard.minmax.new PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (131,'POLICY','2019-08-22 02:31:20','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (132,'POLICY','2019-08-22 02:31:22','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (133,'POLICY','2019-08-22 02:31:24','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (134,'POLICY','2019-08-22 02:31:26','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (135,'POLICY','2019-08-22 02:31:28','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (136,'POLICY','2019-08-22 02:31:30','INFO','guard.minmax.new removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (137,'POLICY','2019-08-22 02:31:32','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (138,'POLICY','2019-08-22 02:31:36','INFO','PDP Group push ALL status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (139,'CLAMP','2019-08-22 02:31:37','INFO','SUBMIT request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (140,'CLAMP','2019-08-22 02:31:41','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (141,'POLICY','2019-08-22 02:31:44','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (142,'POLICY','2019-08-22 02:31:46','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (143,'POLICY','2019-08-22 02:31:48','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (144,'POLICY','2019-08-22 02:31:50','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (145,'POLICY','2019-08-22 02:31:52','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (146,'POLICY','2019-08-22 02:31:54','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (147,'POLICY','2019-08-22 02:32:22','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (148,'DCAE','2019-08-22 02:32:22','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (149,'CLAMP','2019-08-22 02:32:22','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (150,'CLAMP','2019-08-22 02:32:22','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (151,'CLAMP','2019-08-22 02:58:14','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (152,'POLICY','2019-08-22 02:58:18','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (153,'POLICY','2019-08-22 02:58:20','INFO','guard.minmax.new PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (154,'POLICY','2019-08-22 02:58:21','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (155,'POLICY','2019-08-22 02:58:23','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (156,'POLICY','2019-08-22 02:58:26','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (157,'POLICY','2019-08-22 02:58:29','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (158,'POLICY','2019-08-22 02:58:30','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (159,'POLICY','2019-08-22 02:58:32','INFO','guard.minmax.new removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (160,'POLICY','2019-08-22 02:58:34','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (161,'POLICY','2019-08-22 02:58:39','INFO','PDP Group push ALL status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (162,'CLAMP','2019-08-22 02:58:39','INFO','SUBMIT request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (163,'CLAMP','2019-08-22 02:58:42','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (164,'POLICY','2019-08-22 02:58:44','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (165,'POLICY','2019-08-22 02:58:46','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (166,'POLICY','2019-08-22 02:58:48','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (167,'POLICY','2019-08-22 02:58:50','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (168,'POLICY','2019-08-22 02:58:51','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (169,'POLICY','2019-08-22 02:58:53','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (170,'POLICY','2019-08-22 02:58:53','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (171,'DCAE','2019-08-22 02:58:53','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (172,'CLAMP','2019-08-22 02:58:54','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (173,'CLAMP','2019-08-22 02:58:54','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (174,'CLAMP','2019-08-22 05:25:59','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (175,'POLICY','2019-08-22 05:26:03','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (176,'POLICY','2019-08-22 05:26:05','INFO','guard.minmax.new PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (177,'POLICY','2019-08-22 05:26:07','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (178,'POLICY','2019-08-22 05:26:09','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (179,'POLICY','2019-08-22 05:26:12','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (180,'POLICY','2019-08-22 05:26:14','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (181,'POLICY','2019-08-22 05:26:15','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (182,'POLICY','2019-08-22 05:26:17','INFO','guard.minmax.new removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (183,'POLICY','2019-08-22 05:26:19','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (184,'POLICY','2019-08-22 05:26:24','INFO','PDP Group push ALL status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (185,'CLAMP','2019-08-22 05:26:24','INFO','SUBMIT request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (186,'CLAMP','2019-08-22 05:26:26','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (187,'POLICY','2019-08-22 05:26:28','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (188,'POLICY','2019-08-22 05:26:30','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (189,'POLICY','2019-08-22 05:26:33','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (190,'POLICY','2019-08-22 05:26:35','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (191,'POLICY','2019-08-22 05:26:37','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (192,'POLICY','2019-08-22 05:26:39','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (193,'POLICY','2019-08-22 05:26:40','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (194,'DCAE','2019-08-22 05:26:40','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (195,'CLAMP','2019-08-22 05:26:40','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (196,'CLAMP','2019-08-22 05:26:40','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (197,'CLAMP','2019-08-22 05:31:26','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (198,'POLICY','2019-08-22 05:31:31','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (199,'POLICY','2019-08-22 05:31:32','INFO','guard.minmax.new PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (200,'POLICY','2019-08-22 05:31:34','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (201,'POLICY','2019-08-22 05:31:36','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (202,'POLICY','2019-08-22 05:31:39','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (203,'POLICY','2019-08-22 05:31:40','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (204,'POLICY','2019-08-22 05:31:42','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (205,'POLICY','2019-08-22 05:31:44','INFO','guard.minmax.new removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (206,'POLICY','2019-08-22 05:31:46','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (207,'POLICY','2019-08-22 05:31:51','INFO','PDP Group push ALL status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (208,'CLAMP','2019-08-22 05:31:51','INFO','SUBMIT request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (209,'CLAMP','2019-08-22 05:31:54','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (210,'POLICY','2019-08-22 05:31:56','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (211,'POLICY','2019-08-22 05:31:57','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (212,'POLICY','2019-08-22 05:31:59','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (213,'POLICY','2019-08-22 05:32:01','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (214,'POLICY','2019-08-22 05:32:04','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (215,'POLICY','2019-08-22 05:32:06','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (216,'POLICY','2019-08-22 05:32:06','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (217,'DCAE','2019-08-22 05:32:06','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (218,'CLAMP','2019-08-22 05:32:06','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (219,'CLAMP','2019-08-22 05:32:06','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (220,'CLAMP','2019-08-22 05:48:50','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (221,'POLICY','2019-08-22 05:48:52','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (222,'POLICY','2019-08-22 05:48:54','INFO','guard.minmax.new PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (223,'POLICY','2019-08-22 05:48:55','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (224,'POLICY','2019-08-22 05:48:57','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (225,'POLICY','2019-08-22 05:48:59','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (226,'POLICY','2019-08-22 05:49:01','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (227,'POLICY','2019-08-22 05:49:04','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (228,'POLICY','2019-08-22 05:49:06','INFO','guard.minmax.new removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (229,'POLICY','2019-08-22 05:49:08','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (230,'POLICY','2019-08-22 05:49:13','INFO','PDP Group push ALL status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (231,'CLAMP','2019-08-22 05:49:13','INFO','SUBMIT request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (232,'CLAMP','2019-08-22 05:50:27','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (233,'POLICY','2019-08-22 05:50:29','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (234,'POLICY','2019-08-22 05:50:31','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (235,'POLICY','2019-08-22 05:50:33','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (236,'POLICY','2019-08-22 05:50:35','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (237,'POLICY','2019-08-22 05:50:37','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (238,'POLICY','2019-08-22 05:50:39','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (239,'CLAMP','2019-08-22 05:52:27','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (240,'POLICY','2019-08-22 05:52:29','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (241,'POLICY','2019-08-22 05:52:31','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (242,'POLICY','2019-08-22 05:52:32','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (243,'POLICY','2019-08-22 05:52:34','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (244,'POLICY','2019-08-22 05:52:36','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (245,'POLICY','2019-08-22 05:52:38','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (246,'CLAMP','2019-08-22 05:54:27','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (247,'POLICY','2019-08-22 05:54:29','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (248,'POLICY','2019-08-22 05:54:31','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (249,'POLICY','2019-08-22 05:54:33','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (250,'POLICY','2019-08-22 05:54:35','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (251,'POLICY','2019-08-22 05:54:37','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (252,'POLICY','2019-08-22 05:54:39','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (253,'CLAMP','2019-08-22 05:56:27','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (254,'POLICY','2019-08-22 05:56:30','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (255,'POLICY','2019-08-22 05:56:31','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (256,'POLICY','2019-08-22 05:56:33','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (257,'POLICY','2019-08-22 05:56:35','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (258,'POLICY','2019-08-22 05:56:37','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (259,'POLICY','2019-08-22 05:56:39','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (260,'CLAMP','2019-08-22 05:58:27','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (261,'POLICY','2019-08-22 05:58:30','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (262,'POLICY','2019-08-22 05:58:32','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (263,'POLICY','2019-08-22 05:58:34','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (264,'POLICY','2019-08-22 05:58:36','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (265,'POLICY','2019-08-22 05:58:38','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (266,'POLICY','2019-08-22 05:58:40','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (267,'CLAMP','2019-08-22 06:00:27','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (268,'POLICY','2019-08-22 06:00:29','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (269,'POLICY','2019-08-22 06:00:31','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (270,'POLICY','2019-08-22 06:00:33','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (271,'POLICY','2019-08-22 06:00:34','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (272,'POLICY','2019-08-22 06:00:36','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (273,'POLICY','2019-08-22 06:00:38','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (274,'CLAMP','2019-08-22 06:02:27','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (275,'POLICY','2019-08-22 06:02:29','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (276,'POLICY','2019-08-22 06:02:31','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (277,'POLICY','2019-08-22 06:02:34','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (278,'POLICY','2019-08-22 06:02:36','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (279,'POLICY','2019-08-22 06:02:38','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (280,'POLICY','2019-08-22 06:02:40','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (281,'POLICY','2019-08-22 06:02:57','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (282,'DCAE','2019-08-22 06:02:57','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (283,'CLAMP','2019-08-22 06:02:57','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (284,'CLAMP','2019-08-22 06:02:58','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (285,'POLICY','2019-08-22 06:03:00','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (286,'DCAE','2019-08-22 06:03:00','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (287,'CLAMP','2019-08-22 06:03:00','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (288,'CLAMP','2019-08-22 06:03:00','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (289,'CLAMP','2019-08-22 06:04:27','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (290,'POLICY','2019-08-22 06:04:29','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (291,'POLICY','2019-08-22 06:04:31','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (292,'POLICY','2019-08-22 06:04:33','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (293,'POLICY','2019-08-22 06:04:35','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (294,'POLICY','2019-08-22 06:04:37','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (295,'POLICY','2019-08-22 06:04:37','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (296,'DCAE','2019-08-22 06:04:37','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (297,'CLAMP','2019-08-22 06:04:38','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (298,'CLAMP','2019-08-22 06:04:38','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (299,'POLICY','2019-08-22 06:04:39','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (300,'POLICY','2019-08-22 06:04:39','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (301,'DCAE','2019-08-22 06:04:39','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (302,'CLAMP','2019-08-22 06:04:39','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (303,'CLAMP','2019-08-22 06:04:39','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (304,'POLICY','2019-08-22 06:04:43','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (305,'DCAE','2019-08-22 06:04:44','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (306,'CLAMP','2019-08-22 06:04:44','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (307,'CLAMP','2019-08-22 06:04:44','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (308,'POLICY','2019-08-22 06:04:46','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (309,'DCAE','2019-08-22 06:04:46','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (310,'CLAMP','2019-08-22 06:04:47','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (311,'CLAMP','2019-08-22 06:04:47','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (312,'POLICY','2019-08-22 06:04:49','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (313,'DCAE','2019-08-22 06:04:49','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (314,'CLAMP','2019-08-22 06:04:49','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (315,'CLAMP','2019-08-22 06:04:49','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (316,'POLICY','2019-08-22 06:04:50','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (317,'DCAE','2019-08-22 06:04:50','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (318,'CLAMP','2019-08-22 06:04:50','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (319,'CLAMP','2019-08-22 06:04:50','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (320,'CLAMP','2019-08-22 06:24:58','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (321,'POLICY','2019-08-22 06:25:04','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (322,'POLICY','2019-08-22 06:25:06','INFO','guard.minmax.new PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (323,'POLICY','2019-08-22 06:25:08','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (324,'POLICY','2019-08-22 06:25:09','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (325,'POLICY','2019-08-22 06:25:13','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (326,'POLICY','2019-08-22 06:25:14','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (327,'POLICY','2019-08-22 06:25:16','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (328,'POLICY','2019-08-22 06:25:19','INFO','guard.minmax.new removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (329,'POLICY','2019-08-22 06:25:21','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (330,'POLICY','2019-08-22 06:25:25','INFO','PDP Group push ALL status - : ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (331,'CLAMP','2019-08-22 06:25:26','ERROR','SUBMIT request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.1:31684/policy/pap/v1/pdps/policies?connectionTimeToLive=5000 with statusCode: 400 - Body: {\"errorDetails\":\"group defaultGroup subgroup xacml has no active PDPs\"}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (332,'CLAMP','2019-08-22 06:25:27','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (333,'POLICY','2019-08-22 06:25:29','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (334,'POLICY','2019-08-22 06:25:31','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (335,'CLAMP','2019-08-22 06:25:31','ERROR','Get Status request failed, Error reported: org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking https://10.12.6.112:32251/policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/TCA_ejh5S_v1_0_ResourceInstanceName1_tca/versions/deployed?connectionTimeToLive=5000 with statusCode: 404 - Body: {\"code\":\"NOT_FOUND\",\"error\":\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\",\"details\":[\"could not find policy with ID TCA_ejh5S_v1_0_ResourceInstanceName1_tca and type onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group\"]}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (336,'CLAMP','2019-08-22 06:26:37','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (337,'POLICY','2019-08-22 06:26:39','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (338,'POLICY','2019-08-22 06:26:41','INFO','guard.minmax.new PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (339,'POLICY','2019-08-22 06:26:42','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (340,'POLICY','2019-08-22 06:26:45','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (341,'POLICY','2019-08-22 06:26:46','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (342,'POLICY','2019-08-22 06:26:49','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (343,'POLICY','2019-08-22 06:26:51','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (344,'POLICY','2019-08-22 06:26:53','INFO','guard.minmax.new removal status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (345,'POLICY','2019-08-22 06:26:55','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (346,'POLICY','2019-08-22 06:26:59','INFO','PDP Group push ALL status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (347,'CLAMP','2019-08-22 06:27:00','INFO','SUBMIT request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (348,'CLAMP','2019-08-22 06:27:21','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (349,'POLICY','2019-08-22 06:27:23','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (350,'POLICY','2019-08-22 06:27:25','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (351,'POLICY','2019-08-22 06:27:27','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (352,'POLICY','2019-08-22 06:28:35','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (353,'CLAMP','2019-08-22 06:29:21','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (354,'POLICY','2019-08-22 06:29:23','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (355,'POLICY','2019-08-22 06:29:25','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (356,'POLICY','2019-08-22 06:29:27','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (357,'POLICY','2019-08-22 06:29:46','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (358,'POLICY','2019-08-22 06:29:49','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (359,'POLICY','2019-08-22 06:29:55','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (360,'POLICY','2019-08-22 06:29:58','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (361,'DCAE','2019-08-22 06:29:59','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (362,'CLAMP','2019-08-22 06:29:59','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (363,'CLAMP','2019-08-22 06:29:59','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (364,'POLICY','2019-08-22 06:30:06','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (365,'POLICY','2019-08-22 06:30:07','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (366,'POLICY','2019-08-22 06:30:15','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (367,'DCAE','2019-08-22 06:30:15','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (368,'CLAMP','2019-08-22 06:30:16','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (369,'CLAMP','2019-08-22 06:30:16','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (370,'CLAMP','2019-08-22 06:34:26','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (371,'POLICY','2019-08-22 06:34:28','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (372,'POLICY','2019-08-22 06:34:30','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (373,'POLICY','2019-08-22 06:34:32','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (374,'POLICY','2019-08-22 06:34:44','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (375,'POLICY','2019-08-22 06:34:50','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (376,'POLICY','2019-08-22 06:34:52','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (377,'CLAMP','2019-08-22 06:36:26','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (378,'POLICY','2019-08-22 06:36:28','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (379,'POLICY','2019-08-22 06:36:30','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (380,'POLICY','2019-08-22 06:36:32','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (381,'POLICY','2019-08-22 06:36:37','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (382,'DCAE','2019-08-22 06:36:37','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (383,'CLAMP','2019-08-22 06:36:38','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (384,'CLAMP','2019-08-22 06:36:38','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (385,'POLICY','2019-08-22 06:36:45','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (386,'POLICY','2019-08-22 06:36:51','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (387,'POLICY','2019-08-22 06:36:53','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (388,'POLICY','2019-08-22 06:36:56','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (389,'DCAE','2019-08-22 06:36:56','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (390,'CLAMP','2019-08-22 06:36:57','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (391,'CLAMP','2019-08-22 06:36:57','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (392,'CLAMP','2019-08-23 06:09:13','INFO','POLICY SUBMIT request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (393,'POLICY','2019-08-23 06:09:17','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (394,'POLICY','2019-08-23 06:09:19','INFO','guard.minmax.new PDP Group removal status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (395,'POLICY','2019-08-23 06:09:20','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca PDP Group removal status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (396,'POLICY','2019-08-23 06:09:23','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 404 : Not Found','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (397,'POLICY','2019-08-23 06:09:26','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (398,'POLICY','2019-08-23 06:09:28','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca removal\n status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (399,'POLICY','2019-08-23 06:09:30','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca creation\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (400,'POLICY','2019-08-23 06:09:32','INFO','guard.minmax.new removal status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (401,'POLICY','2019-08-23 06:09:33','INFO','guard.minmax.new creation status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (402,'POLICY','2019-08-23 06:09:38','INFO','PDP Group push ALL status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (403,'CLAMP','2019-08-23 06:09:38','INFO','SUBMIT request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (404,'CLAMP','2019-08-23 06:09:42','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (405,'POLICY','2019-08-23 06:09:44','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (406,'POLICY','2019-08-23 06:09:46','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (407,'POLICY','2019-08-23 06:09:48','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (408,'POLICY','2019-08-23 06:09:49','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (409,'POLICY','2019-08-23 06:09:51','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (410,'POLICY','2019-08-23 06:09:53','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (411,'POLICY','2019-08-23 06:09:53','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (412,'DCAE','2019-08-23 06:09:53','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (413,'CLAMP','2019-08-23 06:09:53','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (414,'CLAMP','2019-08-23 06:09:54','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (415,'CLAMP','2019-08-23 06:15:57','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (416,'POLICY','2019-08-23 06:16:00','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (417,'POLICY','2019-08-23 06:16:02','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (418,'POLICY','2019-08-23 06:16:04','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (419,'POLICY','2019-08-23 06:16:06','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (420,'POLICY','2019-08-23 06:16:08','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (421,'POLICY','2019-08-23 06:16:10','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (422,'POLICY','2019-08-23 06:16:10','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (423,'DCAE','2019-08-23 06:16:10','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (424,'CLAMP','2019-08-23 06:16:10','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (425,'CLAMP','2019-08-23 06:16:10','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (426,'CLAMP','2019-08-23 06:17:13','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (427,'POLICY','2019-08-23 06:17:15','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (428,'POLICY','2019-08-23 06:17:17','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (429,'POLICY','2019-08-23 06:17:19','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (430,'POLICY','2019-08-23 06:17:21','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (431,'POLICY','2019-08-23 06:17:23','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (432,'POLICY','2019-08-23 06:17:24','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (433,'POLICY','2019-08-23 06:17:25','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (434,'DCAE','2019-08-23 06:17:25','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (435,'CLAMP','2019-08-23 06:17:25','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (436,'CLAMP','2019-08-23 06:17:25','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (437,'CLAMP','2019-08-23 06:17:56','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (438,'POLICY','2019-08-23 06:17:58','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (439,'POLICY','2019-08-23 06:17:59','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (440,'POLICY','2019-08-23 06:18:01','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (441,'POLICY','2019-08-23 06:18:03','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (442,'POLICY','2019-08-23 06:18:05','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (443,'POLICY','2019-08-23 06:18:07','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (444,'POLICY','2019-08-23 06:18:07','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (445,'DCAE','2019-08-23 06:18:07','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (446,'CLAMP','2019-08-23 06:18:08','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (447,'CLAMP','2019-08-23 06:18:08','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (448,'CLAMP','2019-08-23 07:00:34','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (449,'POLICY','2019-08-23 07:00:39','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (450,'POLICY','2019-08-23 07:00:41','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (451,'CLAMP','2019-08-23 07:02:35','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (452,'POLICY','2019-08-23 07:02:37','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (453,'POLICY','2019-08-23 07:02:39','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (454,'POLICY','2019-08-23 07:02:43','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (455,'POLICY','2019-08-23 07:02:45','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (456,'CLAMP','2019-08-23 07:04:34','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (457,'POLICY','2019-08-23 07:04:36','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (458,'POLICY','2019-08-23 07:04:39','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (459,'CLAMP','2019-08-23 07:06:35','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (460,'POLICY','2019-08-23 07:06:36','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (461,'POLICY','2019-08-23 07:06:38','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (462,'CLAMP','2019-08-23 07:08:34','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (463,'POLICY','2019-08-23 07:08:36','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (464,'POLICY','2019-08-23 07:08:38','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (465,'CLAMP','2019-08-23 07:10:34','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (466,'POLICY','2019-08-23 07:10:36','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (467,'POLICY','2019-08-23 07:10:38','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (468,'POLICY','2019-08-23 07:10:45','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (469,'POLICY','2019-08-23 07:10:46','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (470,'CLAMP','2019-08-23 07:12:34','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (471,'POLICY','2019-08-23 07:12:36','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (472,'POLICY','2019-08-23 07:12:38','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (473,'POLICY','2019-08-23 07:13:58','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - : ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (474,'POLICY','2019-08-23 07:13:58','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - : ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (475,'POLICY','2019-08-23 07:13:58','INFO','guard.minmax.new GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (476,'POLICY','2019-08-23 07:13:58','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - : ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (477,'POLICY','2019-08-23 07:13:58','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - : ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (478,'POLICY','2019-08-23 07:13:58','INFO','guard.minmax.new GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (479,'POLICY','2019-08-23 07:13:59','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (480,'POLICY','2019-08-23 07:14:01','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (481,'POLICY','2019-08-23 07:14:03','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (482,'POLICY','2019-08-23 07:14:05','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (483,'POLICY','2019-08-23 07:14:05','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (484,'DCAE','2019-08-23 07:14:05','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (485,'CLAMP','2019-08-23 07:14:05','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (486,'CLAMP','2019-08-23 07:14:05','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (487,'CLAMP','2019-08-23 07:20:28','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (488,'POLICY','2019-08-23 07:20:32','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (489,'POLICY','2019-08-23 07:20:33','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (490,'POLICY','2019-08-23 07:20:35','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (491,'POLICY','2019-08-23 07:20:37','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (492,'POLICY','2019-08-23 07:20:39','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (493,'POLICY','2019-08-23 07:20:41','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (494,'POLICY','2019-08-23 07:20:41','INFO','Policy state set to: IN_ERROR','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (495,'DCAE','2019-08-23 07:20:41','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (496,'CLAMP','2019-08-23 07:20:41','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (497,'CLAMP','2019-08-23 07:20:41','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (498,'CLAMP','2019-08-23 07:27:46','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (499,'POLICY','2019-08-23 07:27:49','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (500,'POLICY','2019-08-23 07:27:50','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (501,'POLICY','2019-08-23 07:27:52','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (502,'POLICY','2019-08-23 07:27:54','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (503,'POLICY','2019-08-23 07:27:55','INFO','guard.minmax.new GET\n Policy status - 400 : Bad Request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (504,'POLICY','2019-08-23 07:27:57','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (505,'POLICY','2019-08-23 07:27:57','INFO','Policy state set to: IN_ERROR','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (506,'DCAE','2019-08-23 07:27:57','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (507,'CLAMP','2019-08-23 07:27:58','INFO','New loop state is: IN_ERROR','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (508,'CLAMP','2019-08-23 07:27:58','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (509,'CLAMP','2019-08-23 08:28:55','INFO','GET STATUS request','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (510,'POLICY','2019-08-23 08:28:59','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (511,'POLICY','2019-08-23 08:29:01','INFO','TCA_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (512,'POLICY','2019-08-23 08:29:03','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (513,'POLICY','2019-08-23 08:29:04','INFO','OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (514,'POLICY','2019-08-23 08:29:06','INFO','guard.minmax.new GET\n Policy status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (515,'POLICY','2019-08-23 08:29:08','INFO','guard.minmax.new GET Policy deployment\n status - 200 : OK','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (516,'POLICY','2019-08-23 08:29:08','INFO','Policy state set to: SENT_AND_DEPLOYED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (517,'DCAE','2019-08-23 08:29:08','INFO','DCAE state set to: BLUEPRINT_DEPLOYED - message: ','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (518,'CLAMP','2019-08-23 08:29:09','INFO','New loop state is: SUBMITTED','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loop_logs` VALUES (519,'CLAMP','2019-08-23 08:29:09','INFO','Get Status request successfully executed','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
/*!40000 ALTER TABLE `loop_logs` ENABLE KEYS */;
UNLOCK TABLES;
@@ -74,9 +593,9 @@ UNLOCK TABLES;
LOCK TABLES `loops` WRITE;
/*!40000 ALTER TABLE `loops` DISABLE KEYS */;
-INSERT INTO `loops` VALUES ('LOOP_iYTIP_v1_0_ResourceInstanceName1_tca','tosca_definitions_version: cloudify_dsl_1_3\nimports:\n- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/docker/2.2.0/node-type.yaml\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/relationship/1.0.0/node-type.yaml\n- http://onap.org:8081/repository/solutioning01-mte2-raw/type_files/dmaap/dmaap_mr.yaml\ninputs:\n location_id:\n type: string\n service_id:\n type: string\n policy_id:\n type: string\nnode_templates:\n policy_0:\n type: dcae.nodes.policy\n properties:\n policy_id: \n get_input: policy_id\n policy_type_id: onap.policy.monitoring.cdap.tca.hi.lo.app\n cdap_host_host:\n type: dcae.nodes.StreamingAnalytics.SelectedCDAPInfrastructure\n properties:\n location_id:\n get_input: location_id\n scn_override: cdap_broker.solutioning-central.dcae.onap.org\n interfaces:\n cloudify.interfaces.lifecycle: {\n }\n tca_tca:\n type: dcae.nodes.MicroService.cdap\n properties:\n app_config:\n appDescription: DCAE Analytics Threshold Crossing Alert Application\n appName: dcae-tca\n tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n tcaVESAlertsTableName: TCAVESAlertsTable\n tcaVESAlertsTableTTLSeconds: \'1728000\'\n tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n tcaVESMessageStatusTableTTLSeconds: \'86400\'\n thresholdCalculatorFlowletInstances: \'2\'\n app_preferences:\n publisherContentType: application/json\n publisherHostName: mrlocal-mtnjftle01.onap.org\n publisherHostPort: \'3905\'\n publisherMaxBatchSize: \'10\'\n publisherMaxRecoveryQueueSize: \'100000\'\n publisherPollingInterval: \'20000\'\n publisherProtocol: https\n publisherTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESPub\n publisherUserName: test@tca.af.dcae.onap.org\n publisherUserPassword: password\n subscriberConsumerGroup: OpenDCAE-c12\n subscriberConsumerId: c12\n subscriberContentType: application/json\n subscriberHostName: mrlocal-mtnjftle01.onap.org\n subscriberHostPort: \'3905\'\n subscriberMessageLimit: \'-1\'\n subscriberPollingInterval: \'20000\'\n subscriberProtocol: https\n subscriberTimeoutMS: \'-1\'\n subscriberTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESSub\n subscriberUserName: test@tca.af.dcae.onap.org\n subscriberUserPassword: password\n tca_policy: null\n artifact_name: dcae-analytics-tca\n artifact_version: 1.0.0\n connections:\n streams_publishes: [\n ]\n streams_subscribes: [\n ]\n jar_url: http://somejar\n location_id:\n get_input: location_id\n namespace: cdap_tca_hi_lo\n programs:\n - program_id: TCAVESCollectorFlow\n program_type: flows\n - program_id: TCADMaaPMRSubscriberWorker\n program_type: workers\n - program_id: TCADMaaPMRPublisherWorker\n program_type: workers\n service_component_type: cdap_app_tca\n service_id:\n get_input: service_id\n streamname: TCASubscriberOutputStream\n relationships:\n - target: topic0\n type: dcae.relationships.subscribe_to_events\n - target: topic1\n type: dcae.relationships.publish_events\n - target: cdap_host_host\n type: dcae.relationships.component_contained_in\n - target: policy_0\n type: dcae.relationships.depends_on\n topic0:\n type: dcae.nodes.Topic\n properties:\n topic_name: \'\'\n topic1:\n type: dcae.nodes.Topic\n properties:\n topic_name: \'\'\n \n','typeId-d2787a29-d52f-4b28-8006-6d51422fbf0f',NULL,NULL,'{\n \"dcaeDeployParameters\": {\n \"location_id\": \"\",\n \"service_id\": \"\",\n \"policy_id\": \"AUTO_GENERATED_POLICY_ID_AT_SUBMIT\"\n }\n}','DESIGN','{\n \"serviceDetails\": {\n \"serviceType\": \"\",\n \"namingPolicy\": \"\",\n \"environmentContext\": \"General_Revenue-Bearing\",\n \"serviceEcompNaming\": \"true\",\n \"serviceRole\": \"\",\n \"name\": \"vLoadBalancerMS\",\n \"description\": \"vLBMS\",\n \"invariantUUID\": \"ba4c03be-7859-4197-9c8b-415d0c1378aa\",\n \"ecompGeneratedNaming\": \"true\",\n \"category\": \"Network L4+\",\n \"type\": \"Service\",\n \"UUID\": \"7e8a3d64-1475-4928-b02d-2c27530b755f\",\n \"instantiationType\": \"A-la-carte\"\n },\n \"resourceDetails\": {\n \"CP\": {},\n \"VL\": {},\n \"VF\": {\n \"LoadBalancerMS 0\": {\n \"resourceVendor\": \"Test License\",\n \"resourceVendorModelNumber\": \"\",\n \"name\": \"LoadBalancerMS\",\n \"description\": \"vLBMS\",\n \"invariantUUID\": \"1a40cbb0-fbe1-492e-b204-39aba30f02e3\",\n \"subcategory\": \"Load Balancer\",\n \"category\": \"Application L4+\",\n \"type\": \"VF\",\n \"UUID\": \"8d7d126d-623f-4e7c-9a16-132bd89e814a\",\n \"version\": \"1.0\",\n \"resourceVendorRelease\": \"1.0\",\n \"customizationUUID\": \"310ce108-c3b5-4c90-b262-4a11c70366a3\"\n }\n },\n \"CR\": {},\n \"VFC\": {},\n \"PNF\": {},\n \"Service\": {},\n \"CVFC\": {},\n \"Service Proxy\": {},\n \"Configuration\": {},\n \"AllottedResource\": {}\n }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"17\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-5d1d5c5b-ec45-40dd-aec2-e2fb370f0db4\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"34\" x2=\"153\" y1=\"41\"/><polygon fill=\"none\" points=\" 151 39 151 43 155 41\"/><polygon points=\" 151 39 151 43 155 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"157\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"157\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"206\" xml:space=\"preserve\" y=\"42\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"177\" x2=\"177\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-14d1c5b8-fd38-4c79-a7a9-8d2a3c1a4f42\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><line y2=\"41\" fill=\"none\" x1=\"280\" x2=\"399\" y1=\"41\"/><polygon fill=\"none\" points=\" 397 39 397 43 401 41\"/><polygon points=\" 397 39 397 43 401 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"TCA_iYTIP_v1_0_ResourceInstanceName1_tca\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><rect fill=\"none\" x=\"403\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" font-family=\"sans-serif\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"403\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"453\" xml:space=\"preserve\" y=\"42\" stroke=\"none\">TCA</text><line y2=\"61\" fill=\"none\" x1=\"403\" x2=\"526\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-aaa47e20-ad94-4766-afd1-262f6c819217\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><line y2=\"41\" fill=\"none\" x1=\"526\" x2=\"645\" y1=\"41\"/><polygon fill=\"none\" points=\" 643 39 643 43 647 41\"/><polygon points=\" 643 39 643 43 647 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Policy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><rect fill=\"none\" x=\"649\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" font-family=\"sans-serif\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"649\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"693\" xml:space=\"preserve\" y=\"42\" stroke=\"none\">Policy</text><line y2=\"1\" fill=\"none\" x1=\"649\" x2=\"710\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-b3165c6c-4dfe-4ba8-be5b-66b751d5c7f7\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><line y2=\"41\" fill=\"none\" x1=\"772\" x2=\"891\" y1=\"41\"/><polygon fill=\"none\" points=\" 889 39 889 43 893 41\"/><polygon points=\" 889 39 889 43 893 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"4\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><circle fill=\"none\" r=\"17\" cx=\"912\" cy=\"41\"/></g></g></g></svg>');
-INSERT INTO `loops` VALUES ('LOOP_iYTIP_v1_0_ResourceInstanceName1_tca_3','tosca_definitions_version: cloudify_dsl_1_3\nimports:\n- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/docker/2.2.0/node-type.yaml\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/relationship/1.0.0/node-type.yaml\n- http://onap.org:8081/repository/solutioning01-mte2-raw/type_files/dmaap/dmaap_mr.yaml\ninputs:\n location_id:\n type: string\n service_id:\n type: string\n policy_id:\n type: string\nnode_templates:\n policy_0:\n type: dcae.nodes.policy\n properties:\n policy_id: \n get_input: policy_id\n policy_type_id: onap.policy.monitoring.cdap.tca.hi.lo.app\n cdap_host_host:\n type: dcae.nodes.StreamingAnalytics.SelectedCDAPInfrastructure\n properties:\n location_id:\n get_input: location_id\n scn_override: cdap_broker.solutioning-central.dcae.onap.org\n interfaces:\n cloudify.interfaces.lifecycle: {\n }\n tca_tca:\n type: dcae.nodes.MicroService.cdap\n properties:\n app_config:\n appDescription: DCAE Analytics Threshold Crossing Alert Application\n appName: dcae-tca\n tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n tcaVESAlertsTableName: TCAVESAlertsTable\n tcaVESAlertsTableTTLSeconds: \'1728000\'\n tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n tcaVESMessageStatusTableTTLSeconds: \'86400\'\n thresholdCalculatorFlowletInstances: \'2\'\n app_preferences:\n publisherContentType: application/json\n publisherHostName: mrlocal-mtnjftle01.onap.org\n publisherHostPort: \'3905\'\n publisherMaxBatchSize: \'10\'\n publisherMaxRecoveryQueueSize: \'100000\'\n publisherPollingInterval: \'20000\'\n publisherProtocol: https\n publisherTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESPub\n publisherUserName: test@tca.af.dcae.onap.org\n publisherUserPassword: password\n subscriberConsumerGroup: OpenDCAE-c12\n subscriberConsumerId: c12\n subscriberContentType: application/json\n subscriberHostName: mrlocal-mtnjftle01.onap.org\n subscriberHostPort: \'3905\'\n subscriberMessageLimit: \'-1\'\n subscriberPollingInterval: \'20000\'\n subscriberProtocol: https\n subscriberTimeoutMS: \'-1\'\n subscriberTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESSub\n subscriberUserName: test@tca.af.dcae.onap.org\n subscriberUserPassword: password\n tca_policy: null\n artifact_name: dcae-analytics-tca\n artifact_version: 1.0.0\n connections:\n streams_publishes: [\n ]\n streams_subscribes: [\n ]\n jar_url: http://somejar\n location_id:\n get_input: location_id\n namespace: cdap_tca_hi_lo\n programs:\n - program_id: TCAVESCollectorFlow\n program_type: flows\n - program_id: TCADMaaPMRSubscriberWorker\n program_type: workers\n - program_id: TCADMaaPMRPublisherWorker\n program_type: workers\n service_component_type: cdap_app_tca\n service_id:\n get_input: service_id\n streamname: TCASubscriberOutputStream\n relationships:\n - target: topic0\n type: dcae.relationships.subscribe_to_events\n - target: topic1\n type: dcae.relationships.publish_events\n - target: cdap_host_host\n type: dcae.relationships.component_contained_in\n - target: policy_0\n type: dcae.relationships.depends_on\n topic0:\n type: dcae.nodes.Topic\n properties:\n topic_name: \'\'\n topic1:\n type: dcae.nodes.Topic\n properties:\n topic_name: \'\'\n \n','typeId-7af051f7-c8c4-4a81-ab66-b55ac816c2b0',NULL,NULL,'{\n \"dcaeDeployParameters\": {\n \"location_id\": \"\",\n \"service_id\": \"\",\n \"policy_id\": \"AUTO_GENERATED_POLICY_ID_AT_SUBMIT\"\n }\n}','DESIGN','{\n \"serviceDetails\": {\n \"serviceType\": \"\",\n \"namingPolicy\": \"\",\n \"environmentContext\": \"General_Revenue-Bearing\",\n \"serviceEcompNaming\": \"true\",\n \"serviceRole\": \"\",\n \"name\": \"vLoadBalancerMS\",\n \"description\": \"vLBMS\",\n \"invariantUUID\": \"ba4c03be-7859-4197-9c8b-415d0c1378aa\",\n \"ecompGeneratedNaming\": \"true\",\n \"category\": \"Network L4+\",\n \"type\": \"Service\",\n \"UUID\": \"7e8a3d64-1475-4928-b02d-2c27530b755f\",\n \"instantiationType\": \"A-la-carte\"\n },\n \"resourceDetails\": {\n \"CP\": {},\n \"VL\": {},\n \"VF\": {\n \"LoadBalancerMS 0\": {\n \"resourceVendor\": \"Test License\",\n \"resourceVendorModelNumber\": \"\",\n \"name\": \"LoadBalancerMS\",\n \"description\": \"vLBMS\",\n \"invariantUUID\": \"1a40cbb0-fbe1-492e-b204-39aba30f02e3\",\n \"subcategory\": \"Load Balancer\",\n \"category\": \"Application L4+\",\n \"type\": \"VF\",\n \"UUID\": \"8d7d126d-623f-4e7c-9a16-132bd89e814a\",\n \"version\": \"1.0\",\n \"resourceVendorRelease\": \"1.0\",\n \"customizationUUID\": \"310ce108-c3b5-4c90-b262-4a11c70366a3\"\n }\n },\n \"CR\": {},\n \"VFC\": {},\n \"PNF\": {},\n \"Service\": {},\n \"CVFC\": {},\n \"Service Proxy\": {},\n \"Configuration\": {},\n \"AllottedResource\": {}\n }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"17\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-a95c0ab7-bbdb-4a54-97f9-63aaba382d92\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"34\" x2=\"153\" y1=\"41\"/><polygon fill=\"none\" points=\" 151 39 151 43 155 41\"/><polygon points=\" 151 39 151 43 155 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"157\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"157\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"206\" xml:space=\"preserve\" y=\"42\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"177\" x2=\"177\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-8da18abd-c861-4408-9c1c-7e10b6288cc3\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><line y2=\"41\" fill=\"none\" x1=\"280\" x2=\"399\" y1=\"41\"/><polygon fill=\"none\" points=\" 397 39 397 43 401 41\"/><polygon points=\" 397 39 397 43 401 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"TCA_iYTIP_v1_0_ResourceInstanceName1_tca_3\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><rect fill=\"none\" x=\"403\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" font-family=\"sans-serif\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"403\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"453\" xml:space=\"preserve\" y=\"42\" stroke=\"none\">TCA</text><line y2=\"61\" fill=\"none\" x1=\"403\" x2=\"526\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-feea73d0-fbb0-4d05-b410-9334a3582f3d\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><line y2=\"41\" fill=\"none\" x1=\"526\" x2=\"645\" y1=\"41\"/><polygon fill=\"none\" points=\" 643 39 643 43 647 41\"/><polygon points=\" 643 39 643 43 647 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Policy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><rect fill=\"none\" x=\"649\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" font-family=\"sans-serif\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"649\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"693\" xml:space=\"preserve\" y=\"42\" stroke=\"none\">Policy</text><line y2=\"1\" fill=\"none\" x1=\"649\" x2=\"710\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-10fb7f39-0bd6-463a-ab09-9f94df21a136\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><line y2=\"41\" fill=\"none\" x1=\"772\" x2=\"891\" y1=\"41\"/><polygon fill=\"none\" points=\" 889 39 889 43 893 41\"/><polygon points=\" 889 39 889 43 893 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"4\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><circle fill=\"none\" r=\"17\" cx=\"912\" cy=\"41\"/></g></g></g></svg>');
-INSERT INTO `loops` VALUES ('LOOP_iYTIP_v1_0_ResourceInstanceName2_tca_2','tosca_definitions_version: cloudify_dsl_1_3\nimports:\n - \"http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\"\n - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R2/dockerplugin/3.2.0/dockerplugin_types.yaml\n - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R2/relationshipplugin/1.0.0/relationshipplugin_types.yaml\n - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R2/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml\n\ninputs:\n dh_override:\n type: string\n default: \"component_dockerhost\"\n dh_location_id:\n type: string\n default: \"zone1\"\n aaiEnrichmentHost:\n type: string\n default: \"none\"\n aaiEnrichmentPort:\n type: string \n default: 8443\n enableAAIEnrichment:\n type: string\n default: false\n dmaap_host:\n type: string\n default: dmaap.onap-message-router \n dmaap_port:\n type: string\n default: 3904 \n enableRedisCaching:\n type: string\n default: false \n redisHosts:\n type: string \n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap//onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.0.0\"\n consul_host:\n type: string\n default: consul-server.onap-consul\n consul_port:\n type: string\n default: \"8500\"\n cbs_host:\n type: string\n default: \"config-binding-service.dcae\"\n cbs_port:\n type: string\n default: \"10000\"\n policy_id:\n type: string\n default: \"none\"\n external_port:\n type: string\n description: \"Port for CDAPgui to be exposed\"\n default: \"32010\"\n\nnode_templates:\n docker_service_host:\n properties:\n docker_host_override:\n get_input: dh_override\n location_id:\n get_input: dh_location_id\n type: dcae.nodes.SelectedDockerHost\n tca_docker:\n relationships:\n - type: dcae.relationships.component_contained_in\n target: docker_service_host\n - target: tca_policy\n type: cloudify.relationships.depends_on \n type: dcae.nodes.DockerContainerForComponentsUsingDmaap\n properties:\n application_config:\n app_config:\n appDescription: DCAE Analytics Threshold Crossing Alert Application\n appName: dcae-tca\n tcaAlertsAbatementTableName: TCAAlertsAbatementTable\n tcaAlertsAbatementTableTTLSeconds: \'1728000\'\n tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n tcaVESAlertsTableName: TCAVESAlertsTable\n tcaVESAlertsTableTTLSeconds: \'1728000\'\n tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n tcaVESMessageStatusTableTTLSeconds: \'86400\'\n thresholdCalculatorFlowletInstances: \'2\'\n app_preferences:\n aaiEnrichmentHost: \n get_input: aaiEnrichmentHost\n aaiEnrichmentIgnoreSSLCertificateErrors: \'true\'\n aaiEnrichmentPortNumber: \'8443\'\n aaiEnrichmentProtocol: https\n aaiEnrichmentUserName: DCAE\n aaiEnrichmentUserPassword: DCAE\n aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query\n aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf\n enableAAIEnrichment: \n get_input: enableAAIEnrichment\n enableRedisCaching: \n get_input: enableRedisCaching\n redisHosts: \n get_input: redisHosts\n enableAlertCEFFormat: \'false\'\n publisherContentType: application/json\n publisherHostName: \n get_input: dmaap_host\n publisherHostPort: \n get_input: dmaap_port \n publisherMaxBatchSize: \'1\'\n publisherMaxRecoveryQueueSize: \'100000\'\n publisherPollingInterval: \'20000\'\n publisherProtocol: http\n publisherTopicName: unauthenticated.DCAE_CL_OUTPUT\n subscriberConsumerGroup: OpenDCAE-c12\n subscriberConsumerId: c12\n subscriberContentType: application/json\n subscriberHostName: \n get_input: dmaap_host\n subscriberHostPort:\n get_input: dmaap_port \n subscriberMessageLimit: \'-1\'\n subscriberPollingInterval: \'30000\'\n subscriberProtocol: http\n subscriberTimeoutMS: \'-1\'\n subscriberTopicName: unauthenticated.SEC_MEASUREMENT_OUTPUT\n tca_policy_default: \'{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}\'\n service_component_type: dcaegen2-analytics_tca \n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n image:\n get_input: tag_version \n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n DMAAPHOST: \n { get_input: dmaap_host }\n DMAAPPORT:\n { get_input: dmaap_port }\n DMAAPPUBTOPIC: \"unauthenticated.DCAE_CL_OUTPUT\"\n DMAAPSUBTOPIC: \"unauthenticated.SEC_MEASUREMENT_OUTPUT\"\n AAIHOST: \n { get_input: aaiEnrichmentHost }\n AAIPORT: \n { get_input: aaiEnrichmentPort }\n CONSUL_HOST: \n { get_input: consul_host }\n CONSUL_PORT: \n { get_input: consul_port }\n CBS_HOST: \n { get_input: cbs_host }\n CBS_PORT: \n { get_input: cbs_port }\n CONFIG_BINDING_SERVICE: \"config_binding_service\" \n ports:\n - concat: [\"11011:\", { get_input: external_port }] \n stop:\n inputs:\n cleanup_image: true \n tca_policy:\n type: dcae.nodes.policy\n properties:\n policy_id:\n get_input: policy_id\n policy_type_id: onap.policy.monitoring.cdap.tca.hi.lo.app\n\n','typeId-538accad-2c56-492b-953e-db0f4483cd2e',NULL,NULL,'{\n \"dcaeDeployParameters\": {\n \"dh_override\": \"component_dockerhost\",\n \"dh_location_id\": \"zone1\",\n \"aaiEnrichmentHost\": \"none\",\n \"aaiEnrichmentPort\": 8443,\n \"enableAAIEnrichment\": false,\n \"dmaap_host\": \"dmaap.onap-message-router\",\n \"dmaap_port\": 3904,\n \"enableRedisCaching\": false,\n \"redisHosts\": \"\",\n \"tag_version\": \"nexus3.onap.org:10001/onap//onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.0.0\",\n \"consul_host\": \"consul-server.onap-consul\",\n \"consul_port\": \"8500\",\n \"cbs_host\": \"config-binding-service.dcae\",\n \"cbs_port\": \"10000\",\n \"external_port\": \"32010\",\n \"policy_id\": \"AUTO_GENERATED_POLICY_ID_AT_SUBMIT\"\n }\n}','DESIGN','{\n \"serviceDetails\": {\n \"serviceType\": \"\",\n \"namingPolicy\": \"\",\n \"environmentContext\": \"General_Revenue-Bearing\",\n \"serviceEcompNaming\": \"true\",\n \"serviceRole\": \"\",\n \"name\": \"vLoadBalancerMS\",\n \"description\": \"vLBMS\",\n \"invariantUUID\": \"ba4c03be-7859-4197-9c8b-415d0c1378aa\",\n \"ecompGeneratedNaming\": \"true\",\n \"category\": \"Network L4+\",\n \"type\": \"Service\",\n \"UUID\": \"7e8a3d64-1475-4928-b02d-2c27530b755f\",\n \"instantiationType\": \"A-la-carte\"\n },\n \"resourceDetails\": {\n \"CP\": {},\n \"VL\": {},\n \"VF\": {\n \"LoadBalancerMS 0\": {\n \"resourceVendor\": \"Test License\",\n \"resourceVendorModelNumber\": \"\",\n \"name\": \"LoadBalancerMS\",\n \"description\": \"vLBMS\",\n \"invariantUUID\": \"1a40cbb0-fbe1-492e-b204-39aba30f02e3\",\n \"subcategory\": \"Load Balancer\",\n \"category\": \"Application L4+\",\n \"type\": \"VF\",\n \"UUID\": \"8d7d126d-623f-4e7c-9a16-132bd89e814a\",\n \"version\": \"1.0\",\n \"resourceVendorRelease\": \"1.0\",\n \"customizationUUID\": \"310ce108-c3b5-4c90-b262-4a11c70366a3\"\n }\n },\n \"CR\": {},\n \"VFC\": {},\n \"PNF\": {},\n \"Service\": {},\n \"CVFC\": {},\n \"Service Proxy\": {},\n \"Configuration\": {},\n \"AllottedResource\": {}\n }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"17\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-f40ec512-9449-4629-83e4-afb27c8dfaa9\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"34\" x2=\"153\" y1=\"41\"/><polygon fill=\"none\" points=\" 151 39 151 43 155 41\"/><polygon points=\" 151 39 151 43 155 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"157\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"157\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"206\" xml:space=\"preserve\" y=\"42\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"177\" x2=\"177\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-41788fef-bc4a-404d-9962-475c18bb2bac\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><line y2=\"41\" fill=\"none\" x1=\"280\" x2=\"399\" y1=\"41\"/><polygon fill=\"none\" points=\" 397 39 397 43 401 41\"/><polygon points=\" 397 39 397 43 401 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"TCA_iYTIP_v1_0_ResourceInstanceName2_tca_2\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><rect fill=\"none\" x=\"403\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" font-family=\"sans-serif\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"403\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"453\" xml:space=\"preserve\" y=\"42\" stroke=\"none\">TCA</text><line y2=\"61\" fill=\"none\" x1=\"403\" x2=\"526\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-cd68a537-d56e-48bc-af04-529d3eeebd7f\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><line y2=\"41\" fill=\"none\" x1=\"526\" x2=\"645\" y1=\"41\"/><polygon fill=\"none\" points=\" 643 39 643 43 647 41\"/><polygon points=\" 643 39 643 43 647 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Policy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><rect fill=\"none\" x=\"649\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" font-family=\"sans-serif\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"649\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"693\" xml:space=\"preserve\" y=\"42\" stroke=\"none\">Policy</text><line y2=\"1\" fill=\"none\" x1=\"649\" x2=\"710\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-64cbba16-f5d4-4660-b38e-af385559ac44\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><line y2=\"41\" fill=\"none\" x1=\"772\" x2=\"891\" y1=\"41\"/><polygon fill=\"none\" points=\" 889 39 889 43 893 41\"/><polygon points=\" 889 39 889 43 893 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g text-rendering=\"optimizeQuality\" stroke-width=\"4\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><circle fill=\"none\" r=\"17\" cx=\"912\" cy=\"41\"/></g></g></g></svg>');
+INSERT INTO `loops` VALUES ('LOOP_ejh5S_v1_0_ResourceInstanceName1_tca','tosca_definitions_version: cloudify_dsl_1_3\nimports:\n- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/docker/2.2.0/node-type.yaml\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/relationship/1.0.0/node-type.yaml\n- http://onap.org:8081/repository/solutioning01-mte2-raw/type_files/dmaap/dmaap_mr.yaml\ninputs:\n location_id:\n type: string\n service_id:\n type: string\n policy_id:\n type: string\nnode_templates:\n policy_0:\n type: dcae.nodes.policy\n properties:\n policy_id: \n get_input: policy_id\n policy_model_id: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\n cdap_host_host:\n type: dcae.nodes.StreamingAnalytics.SelectedCDAPInfrastructure\n properties:\n location_id:\n get_input: location_id\n scn_override: cdap_broker.solutioning-central.dcae.onap.org\n interfaces:\n cloudify.interfaces.lifecycle: {\n }\n tca_tca:\n type: dcae.nodes.MicroService.cdap\n properties:\n app_config:\n appDescription: DCAE Analytics Threshold Crossing Alert Application\n appName: dcae-tca\n tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n tcaVESAlertsTableName: TCAVESAlertsTable\n tcaVESAlertsTableTTLSeconds: \'1728000\'\n tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n tcaVESMessageStatusTableTTLSeconds: \'86400\'\n thresholdCalculatorFlowletInstances: \'2\'\n app_preferences:\n publisherContentType: application/json\n publisherHostName: mrlocal-mtnjftle01.onap.org\n publisherHostPort: \'3905\'\n publisherMaxBatchSize: \'10\'\n publisherMaxRecoveryQueueSize: \'100000\'\n publisherPollingInterval: \'20000\'\n publisherProtocol: https\n publisherTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESPub\n publisherUserName: test@tca.af.dcae.onap.org\n publisherUserPassword: password\n subscriberConsumerGroup: OpenDCAE-c12\n subscriberConsumerId: c12\n subscriberContentType: application/json\n subscriberHostName: mrlocal-mtnjftle01.onap.org\n subscriberHostPort: \'3905\'\n subscriberMessageLimit: \'-1\'\n subscriberPollingInterval: \'20000\'\n subscriberProtocol: https\n subscriberTimeoutMS: \'-1\'\n subscriberTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESSub\n subscriberUserName: test@tca.af.dcae.onap.org\n subscriberUserPassword: password\n tca_policy: null\n artifact_name: dcae-analytics-tca\n artifact_version: 1.0.0\n connections:\n streams_publishes: [\n ]\n streams_subscribes: [\n ]\n jar_url: http://somejar\n location_id:\n get_input: location_id\n namespace: cdap_tca_hi_lo\n programs:\n - program_id: TCAVESCollectorFlow\n program_type: flows\n - program_id: TCADMaaPMRSubscriberWorker\n program_type: workers\n - program_id: TCADMaaPMRPublisherWorker\n program_type: workers\n service_component_type: cdap_app_tca\n service_id:\n get_input: service_id\n streamname: TCASubscriberOutputStream\n relationships:\n - target: topic0\n type: dcae.relationships.subscribe_to_events\n - target: topic1\n type: dcae.relationships.publish_events\n - target: cdap_host_host\n type: dcae.relationships.component_contained_in\n - target: policy_0\n type: dcae.relationships.depends_on\n topic0:\n type: dcae.nodes.Topic\n properties:\n topic_name: \'\'\n topic1:\n type: dcae.nodes.Topic\n properties:\n topic_name: \'\'\n \n','typeId-cb3bc48d-86a3-4580-92ed-c0697d9ec963',NULL,NULL,'{\n \"dcaeDeployParameters\": {\n \"location_id\": \"\",\n \"service_id\": \"\",\n \"policy_id\": \"TCA_ejh5S_v1_0_ResourceInstanceName1_tca\"\n }\n}','SUBMITTED','{\n \"serviceDetails\": {\n \"serviceType\": \"\",\n \"serviceRole\": \"\",\n \"description\": \"vLBMS\",\n \"type\": \"Service\",\n \"instantiationType\": \"A-la-carte\",\n \"namingPolicy\": \"\",\n \"serviceEcompNaming\": \"true\",\n \"environmentContext\": \"General_Revenue-Bearing\",\n \"name\": \"vLoadBalancerMS\",\n \"invariantUUID\": \"30ec5b59-4799-48d8-ac5f-1058a6b0e48f\",\n \"ecompGeneratedNaming\": \"true\",\n \"UUID\": \"63cac700-ab9a-4115-a74f-7eac85e3fce0\",\n \"category\": \"Network L4+\"\n },\n \"resourceDetails\": {\n \"CP\": {},\n \"VL\": {},\n \"VF\": {\n \"vLoadBalancerMS 0\": {\n \"resourceVendor\": \"Test\",\n \"name\": \"vLoadBalancerMS\",\n \"resourceVendorModelNumber\": \"\",\n \"description\": \"vLBMS\",\n \"invariantUUID\": \"1a31b9f2-e50d-43b7-89b3-a040250cf506\",\n \"UUID\": \"b4c4f3d7-929e-4b6d-a1cd-57e952ddc3e6\",\n \"type\": \"VF\",\n \"category\": \"Application L4+\",\n \"subcategory\": \"Load Balancer\",\n \"version\": \"1.0\",\n \"customizationUUID\": \"465246dc-7748-45f4-a013-308d92922552\",\n \"resourceVendorRelease\": \"1.0\"\n }\n },\n \"CR\": {},\n \"VFC\": {},\n \"PNF\": {},\n \"Service\": {},\n \"CVFC\": {},\n \"Service Proxy\": {},\n \"Configuration\": {},\n \"AllottedResource\": {},\n \"VFModule\": {\n \"Vloadbalancerms..vpkg..module-1\": {\n \"vfModuleModelInvariantUUID\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..vpkg..module-1\",\n \"vfModuleModelUUID\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n \"vfModuleModelCustomizationUUID\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n \"min_vf_module_instances\": 0,\n \"vf_module_label\": \"vpkg\",\n \"max_vf_module_instances\": 1,\n \"vf_module_type\": \"Expansion\",\n \"isBase\": false,\n \"initial_count\": 0,\n \"volume_group\": false\n },\n \"Vloadbalancerms..vdns..module-3\": {\n \"vfModuleModelInvariantUUID\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..vdns..module-3\",\n \"vfModuleModelUUID\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n \"vfModuleModelCustomizationUUID\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n \"min_vf_module_instances\": 0,\n \"vf_module_label\": \"vdns\",\n \"max_vf_module_instances\": 50,\n \"vf_module_type\": \"Expansion\",\n \"isBase\": false,\n \"initial_count\": 0,\n \"volume_group\": false\n },\n \"Vloadbalancerms..base_template..module-0\": {\n \"vfModuleModelInvariantUUID\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..base_template..module-0\",\n \"vfModuleModelUUID\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n \"vfModuleModelCustomizationUUID\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n \"min_vf_module_instances\": 1,\n \"vf_module_label\": \"base_template\",\n \"max_vf_module_instances\": 1,\n \"vf_module_type\": \"Base\",\n \"isBase\": true,\n \"initial_count\": 1,\n \"volume_group\": false\n },\n \"Vloadbalancerms..vlb..module-2\": {\n \"vfModuleModelInvariantUUID\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..vlb..module-2\",\n \"vfModuleModelUUID\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n \"vfModuleModelCustomizationUUID\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n \"min_vf_module_instances\": 0,\n \"vf_module_label\": \"vlb\",\n \"max_vf_module_instances\": 1,\n \"vf_module_type\": \"Expansion\",\n \"isBase\": false,\n \"initial_count\": 0,\n \"volume_group\": false\n }\n }\n }\n}','{\n \"schema\": {\n \"uniqueItems\": \"true\",\n \"format\": \"tabs\",\n \"type\": \"array\",\n \"minItems\": 1,\n \"maxItems\": 1,\n \"title\": \"Operational policies\",\n \"items\": {\n \"type\": \"object\",\n \"title\": \"Operational Policy Item\",\n \"id\": \"operational_policy_item\",\n \"headerTemplate\": \"{{self.name}}\",\n \"required\": [\n \"name\",\n \"configurationsJson\"\n ],\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"title\": \"Operational policy name\",\n \"readOnly\": \"True\"\n },\n \"configurationsJson\": {\n \"type\": \"object\",\n \"title\": \"Configuration\",\n \"required\": [\n \"operational_policy\",\n \"guard_policies\"\n ],\n \"properties\": {\n \"operational_policy\": {\n \"type\": \"object\",\n \"title\": \"Related Parameters\",\n \"required\": [\n \"controlLoop\",\n \"policies\"\n ],\n \"properties\": {\n \"controlLoop\": {\n \"type\": \"object\",\n \"title\": \"Control Loop details\",\n \"required\": [\n \"timeout\",\n \"abatement\",\n \"trigger_policy\",\n \"controlLoopName\"\n ],\n \"properties\": {\n \"timeout\": {\n \"type\": \"string\",\n \"title\": \"Overall Time Limit\",\n \"default\": \"0\",\n \"format\": \"number\"\n },\n \"abatement\": {\n \"type\": \"string\",\n \"title\": \"Abatement\",\n \"enum\": [\n \"True\",\n \"False\"\n ]\n },\n \"trigger_policy\": {\n \"type\": \"string\",\n \"title\": \"Policy Decision Entry\"\n },\n \"controlLoopName\": {\n \"type\": \"string\",\n \"title\": \"Control loop name\",\n \"readOnly\": \"True\"\n }\n }\n },\n \"policies\": {\n \"uniqueItems\": \"true\",\n \"id\": \"policies_array\",\n \"type\": \"array\",\n \"title\": \"Policy Decision Tree\",\n \"format\": \"tabs-top\",\n \"items\": {\n \"title\": \"Policy Decision\",\n \"type\": \"object\",\n \"id\": \"policy_item\",\n \"headerTemplate\": \"{{self.id}} - {{self.recipe}}\",\n \"format\": \"categories\",\n \"basicCategoryTitle\": \"recipe\",\n \"required\": [\n \"id\",\n \"recipe\",\n \"retry\",\n \"timeout\",\n \"actor\",\n \"success\",\n \"failure\",\n \"failure_timeout\",\n \"failure_retries\",\n \"failure_exception\",\n \"failure_guard\",\n \"target\"\n ],\n \"properties\": {\n \"id\": {\n \"default\": \"Policy 1\",\n \"title\": \"Policy ID\",\n \"type\": \"string\"\n },\n \"recipe\": {\n \"title\": \"Recipe\",\n \"type\": \"string\",\n \"enum\": [\n \"Restart\",\n \"Rebuild\",\n \"Migrate\",\n \"Health-Check\",\n \"ModifyConfig\",\n \"VF Module Create\",\n \"VF Module Delete\",\n \"Reroute\"\n ]\n },\n \"retry\": {\n \"default\": \"0\",\n \"title\": \"Number of Retry\",\n \"type\": \"string\",\n \"format\": \"number\"\n },\n \"timeout\": {\n \"default\": \"0\",\n \"title\": \"Timeout\",\n \"type\": \"string\",\n \"format\": \"number\"\n },\n \"actor\": {\n \"title\": \"Actor\",\n \"type\": \"string\",\n \"enum\": [\n \"APPC\",\n \"SO\",\n \"VFC\",\n \"SDNC\",\n \"SDNR\"\n ]\n },\n \"payload\": {\n \"title\": \"Payload (YAML)\",\n \"type\": \"string\",\n \"format\": \"textarea\"\n },\n \"success\": {\n \"default\": \"final_success\",\n \"title\": \"When Success\",\n \"type\": \"string\"\n },\n \"failure\": {\n \"default\": \"final_failure\",\n \"title\": \"When Failure\",\n \"type\": \"string\"\n },\n \"failure_timeout\": {\n \"default\": \"final_failure_timeout\",\n \"title\": \"When Failure Timeout\",\n \"type\": \"string\"\n },\n \"failure_retries\": {\n \"default\": \"final_failure_retries\",\n \"title\": \"When Failure Retries\",\n \"type\": \"string\"\n },\n \"failure_exception\": {\n \"default\": \"final_failure_exception\",\n \"title\": \"When Failure Exception\",\n \"type\": \"string\"\n },\n \"failure_guard\": {\n \"default\": \"final_failure_guard\",\n \"title\": \"When Failure Guard\",\n \"type\": \"string\"\n },\n \"target\": {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"resourceID\"\n ],\n \"anyOf\": [\n {\n \"title\": \"User Defined\",\n \"additionalProperties\": \"True\",\n \"properties\": {\n \"type\": {\n \"title\": \"Target type\",\n \"type\": \"string\",\n \"default\": \"\",\n \"enum\": [\n \"VNF\",\n \"VFMODULE\",\n \"VM\"\n ]\n },\n \"resourceID\": {\n \"title\": \"Target type\",\n \"type\": \"string\",\n \"default\": \"\"\n }\n }\n },\n {\n \"title\": \"VNF-vLoadBalancerMS 0\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VNF\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"vLoadBalancerMS\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..vpkg..module-1\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vpkg..module-1\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vpkg..module-1\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..vdns..module-3\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vdns..module-3\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vdns..module-3\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..base_template..module-0\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..base_template..module-0\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..base_template..module-0\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..vlb..module-2\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vlb..module-2\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vlb..module-2\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n \"readOnly\": \"True\"\n }\n }\n }\n ]\n }\n }\n }\n }\n }\n },\n \"guard_policies\": {\n \"type\": \"array\",\n \"format\": \"tabs-top\",\n \"title\": \"Associated Guard policies\",\n \"items\": {\n \"headerTemplate\": \"{{self.policy-id}} - {{self.content.recipe}}\",\n \"anyOf\": [\n {\n \"title\": \"Guard MinMax\",\n \"type\": \"object\",\n \"properties\": {\n \"policy-id\": {\n \"type\": \"string\",\n \"default\": \"guard.minmax.new\",\n \"pattern\": \"^(guard.minmax\\\\..*)$\"\n },\n \"content\": {\n \"properties\": {\n \"actor\": {\n \"type\": \"string\",\n \"enum\": [\n \"APPC\",\n \"SO\",\n \"VFC\",\n \"SDNC\",\n \"SDNR\"\n ]\n },\n \"recipe\": {\n \"type\": \"string\",\n \"enum\": [\n \"Restart\",\n \"Rebuild\",\n \"Migrate\",\n \"Health-Check\",\n \"ModifyConfig\",\n \"VF Module Create\",\n \"VF Module Delete\",\n \"Reroute\"\n ]\n },\n \"targets\": {\n \"type\": \"string\",\n \"default\": \".*\"\n },\n \"clname\": {\n \"type\": \"string\",\n \"template\": \"{{loopName}}\",\n \"watch\": {\n \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n }\n },\n \"guardActiveStart\": {\n \"type\": \"string\",\n \"default\": \"00:00:00Z\"\n },\n \"guardActiveEnd\": {\n \"type\": \"string\",\n \"default\": \"10:00:00Z\"\n },\n \"min\": {\n \"type\": \"string\",\n \"default\": \"0\"\n },\n \"max\": {\n \"type\": \"string\",\n \"default\": \"1\"\n }\n }\n }\n }\n },\n {\n \"title\": \"Guard Frequency\",\n \"type\": \"object\",\n \"properties\": {\n \"policy-id\": {\n \"type\": \"string\",\n \"default\": \"guard.frequency.new\",\n \"pattern\": \"^(guard.frequency\\\\..*)$\"\n },\n \"content\": {\n \"properties\": {\n \"actor\": {\n \"type\": \"string\",\n \"enum\": [\n \"APPC\",\n \"SO\",\n \"VFC\",\n \"SDNC\",\n \"SDNR\"\n ]\n },\n \"recipe\": {\n \"type\": \"string\",\n \"enum\": [\n \"Restart\",\n \"Rebuild\",\n \"Migrate\",\n \"Health-Check\",\n \"ModifyConfig\",\n \"VF Module Create\",\n \"VF Module Delete\",\n \"Reroute\"\n ]\n },\n \"targets\": {\n \"type\": \"string\",\n \"default\": \".*\"\n },\n \"clname\": {\n \"type\": \"string\",\n \"template\": \"{{loopName}}\",\n \"watch\": {\n \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n }\n },\n \"guardActiveStart\": {\n \"type\": \"string\",\n \"default\": \"00:00:00Z\"\n },\n \"guardActiveEnd\": {\n \"type\": \"string\",\n \"default\": \"10:00:00Z\"\n },\n \"limit\": {\n \"type\": \"string\"\n },\n \"timeWindow\": {\n \"type\": \"string\"\n },\n \"timeUnits\": {\n \"type\": \"string\",\n \"enum\": [\n \"minute\",\n \"hour\",\n \"day\",\n \"week\",\n \"month\",\n \"year\"\n ]\n }\n }\n }\n }\n }\n ]\n }\n }\n }\n }\n }\n }\n }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"18\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-443509bf-0a3a-4c17-9634-41b92426a677\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"35\" x2=\"123\" y1=\"41\"/><polygon fill=\"none\" points=\" 121 39 121 43 125 41\"/><polygon points=\" 121 39 121 43 125 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"127\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"127\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"176.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"147\" x2=\"147\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-82faaf2f-b3b5-4919-a5e6-839e75e0a2a1\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"250\" x2=\"338\" y1=\"41\"/><polygon fill=\"none\" points=\" 336 39 336 43 340 41\"/><polygon points=\" 336 39 336 43 340 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"TCA_ejh5S_v1_0_ResourceInstanceName1_tca\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"342\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"342\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"392\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">TCA</text><line y2=\"61\" fill=\"none\" x1=\"342\" x2=\"465\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-6ae3deea-0b32-4125-b7cc-dd472d3fbd1a\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"465\" x2=\"553\" y1=\"41\"/><polygon fill=\"none\" points=\" 551 39 551 43 555 41\"/><polygon points=\" 551 39 551 43 555 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"OperationalPolicy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"557\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"557\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"564.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">OperationalPolicy</text><line y2=\"1\" fill=\"none\" x1=\"557\" x2=\"618\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-0536883f-3779-4456-85fa-d9169c3c5ea6\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"680\" x2=\"768\" y1=\"41\"/><polygon fill=\"none\" points=\" 766 39 766 43 770 41\"/><polygon points=\" 766 39 766 43 770 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"4\"><circle fill=\"none\" r=\"17\" cx=\"789\" cy=\"41\"/></g></g></g></svg>');
+INSERT INTO `loops` VALUES ('LOOP_ejh5S_v1_0_ResourceInstanceName1_tca_3','tosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n This blueprint deploys/manages the TCA module as a Docker container\n\nimports:\n - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.12/k8splugin_types.yaml\n - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml\ninputs:\n aaiEnrichmentHost:\n type: string\n default: \"aai.onap.svc.cluster.local\"\n aaiEnrichmentPort:\n type: string\n default: \"8443\"\n enableAAIEnrichment:\n type: string\n default: true\n dmaap_host:\n type: string\n default: message-router.onap.svc.cluster.local\n dmaap_port:\n type: string\n default: \"3904\"\n enableRedisCaching:\n type: string\n default: false\n redisHosts:\n type: string\n default: dcae-redis.onap.svc.cluster.local:6379\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0-STAGING-latest\"\n consul_host:\n type: string\n default: consul-server.onap.svc.cluster.local\n consul_port:\n type: string\n default: \"8500\"\n cbs_host:\n type: string\n default: \"config-binding-service.dcae.svc.cluster.local\"\n cbs_port:\n type: string\n default: \"10000\"\n policy_id:\n type: string\n default: \"none\"\n external_port:\n type: string\n description: Kubernetes node port on which CDAPgui is exposed\n default: \"32012\"\n policy_model_id:\n type: string\n default: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\n\nnode_templates:\n tca_k8s:\n type: dcae.nodes.ContainerizedServiceComponent\n relationships:\n - target: tca_policy\n type: cloudify.relationships.depends_on\n properties:\n service_component_type: \'dcaegen2-analytics-tca\'\n application_config: {}\n docker_config: {}\n image:\n get_input: tag_version\n log_info:\n log_directory: \"/opt/app/TCAnalytics/logs\"\n application_config:\n app_config:\n appDescription: DCAE Analytics Threshold Crossing Alert Application\n appName: dcae-tca\n tcaAlertsAbatementTableName: TCAAlertsAbatementTable\n tcaAlertsAbatementTableTTLSeconds: \'1728000\'\n tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n tcaVESAlertsTableName: TCAVESAlertsTable\n tcaVESAlertsTableTTLSeconds: \'1728000\'\n tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n tcaVESMessageStatusTableTTLSeconds: \'86400\'\n thresholdCalculatorFlowletInstances: \'2\'\n app_preferences:\n aaiEnrichmentHost:\n get_input: aaiEnrichmentHost\n aaiEnrichmentIgnoreSSLCertificateErrors: \'true\'\n aaiEnrichmentPortNumber: \'8443\'\n aaiEnrichmentProtocol: https\n aaiEnrichmentUserName: dcae@dcae.onap.org\n aaiEnrichmentUserPassword: demo123456!\n aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query\n aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf\n enableAAIEnrichment:\n get_input: enableAAIEnrichment\n enableRedisCaching:\n get_input: enableRedisCaching\n redisHosts:\n get_input: redisHosts\n enableAlertCEFFormat: \'false\'\n publisherContentType: application/json\n publisherHostName:\n get_input: dmaap_host\n publisherHostPort:\n get_input: dmaap_port\n publisherMaxBatchSize: \'1\'\n publisherMaxRecoveryQueueSize: \'100000\'\n publisherPollingInterval: \'20000\'\n publisherProtocol: http\n publisherTopicName: unauthenticated.DCAE_CL_OUTPUT\n subscriberConsumerGroup: OpenDCAE-c12\n subscriberConsumerId: c12\n subscriberContentType: application/json\n subscriberHostName:\n get_input: dmaap_host\n subscriberHostPort:\n get_input: dmaap_port\n subscriberMessageLimit: \'-1\'\n subscriberPollingInterval: \'30000\'\n subscriberProtocol: http\n subscriberTimeoutMS: \'-1\'\n subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT\n tca_policy: \'\'\n service_component_type: dcaegen2-analytics_tca\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n DMAAPHOST:\n { get_input: dmaap_host }\n DMAAPPORT:\n { get_input: dmaap_port }\n DMAAPPUBTOPIC: \"unauthenticated.DCAE_CL_OUTPUT\"\n DMAAPSUBTOPIC: \"unauthenticated.VES_MEASUREMENT_OUTPUT\"\n AAIHOST:\n { get_input: aaiEnrichmentHost }\n AAIPORT:\n { get_input: aaiEnrichmentPort }\n CONSUL_HOST:\n { get_input: consul_host }\n CONSUL_PORT:\n { get_input: consul_port }\n CBS_HOST:\n { get_input: cbs_host }\n CBS_PORT:\n { get_input: cbs_port }\n CONFIG_BINDING_SERVICE: \"config_binding_service\"\n ports:\n - concat: [\"11011:\", { get_input: external_port }]\n tca_policy:\n type: dcae.nodes.policy\n properties:\n policy_id:\n get_input: policy_id\n policy_model_id: \n get_input: policy_model_id\n','typeId-dee5b365-edb4-4131-89af-f729d3e0972f',NULL,NULL,'{\n \"dcaeDeployParameters\": {\n \"aaiEnrichmentHost\": \"aai.onap.svc.cluster.local\",\n \"aaiEnrichmentPort\": \"8443\",\n \"enableAAIEnrichment\": true,\n \"dmaap_host\": \"message-router.onap.svc.cluster.local\",\n \"dmaap_port\": \"3904\",\n \"enableRedisCaching\": false,\n \"redisHosts\": \"dcae-redis.onap.svc.cluster.local:6379\",\n \"tag_version\": \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0-STAGING-latest\",\n \"consul_host\": \"consul-server.onap.svc.cluster.local\",\n \"consul_port\": \"8500\",\n \"cbs_host\": \"config-binding-service.dcae.svc.cluster.local\",\n \"cbs_port\": \"10000\",\n \"external_port\": \"32012\",\n \"policy_model_id\": \"onap.policies.monitoring.cdap.tca.hi.lo.app\",\n \"policy_id\": \"tca_k8s_ejh5S_v1_0_ResourceInstanceName1_tca_3\"\n }\n}','DESIGN','{\n \"serviceDetails\": {\n \"serviceType\": \"\",\n \"serviceRole\": \"\",\n \"description\": \"vLBMS\",\n \"type\": \"Service\",\n \"instantiationType\": \"A-la-carte\",\n \"namingPolicy\": \"\",\n \"serviceEcompNaming\": \"true\",\n \"environmentContext\": \"General_Revenue-Bearing\",\n \"name\": \"vLoadBalancerMS\",\n \"invariantUUID\": \"30ec5b59-4799-48d8-ac5f-1058a6b0e48f\",\n \"ecompGeneratedNaming\": \"true\",\n \"UUID\": \"63cac700-ab9a-4115-a74f-7eac85e3fce0\",\n \"category\": \"Network L4+\"\n },\n \"resourceDetails\": {\n \"CP\": {},\n \"VL\": {},\n \"VF\": {\n \"vLoadBalancerMS 0\": {\n \"resourceVendor\": \"Test\",\n \"name\": \"vLoadBalancerMS\",\n \"resourceVendorModelNumber\": \"\",\n \"description\": \"vLBMS\",\n \"invariantUUID\": \"1a31b9f2-e50d-43b7-89b3-a040250cf506\",\n \"UUID\": \"b4c4f3d7-929e-4b6d-a1cd-57e952ddc3e6\",\n \"type\": \"VF\",\n \"category\": \"Application L4+\",\n \"subcategory\": \"Load Balancer\",\n \"version\": \"1.0\",\n \"customizationUUID\": \"465246dc-7748-45f4-a013-308d92922552\",\n \"resourceVendorRelease\": \"1.0\"\n }\n },\n \"CR\": {},\n \"VFC\": {},\n \"PNF\": {},\n \"Service\": {},\n \"CVFC\": {},\n \"Service Proxy\": {},\n \"Configuration\": {},\n \"AllottedResource\": {},\n \"VFModule\": {\n \"Vloadbalancerms..vpkg..module-1\": {\n \"vfModuleModelInvariantUUID\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..vpkg..module-1\",\n \"vfModuleModelUUID\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n \"vfModuleModelCustomizationUUID\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n \"min_vf_module_instances\": 0,\n \"vf_module_label\": \"vpkg\",\n \"max_vf_module_instances\": 1,\n \"vf_module_type\": \"Expansion\",\n \"isBase\": false,\n \"initial_count\": 0,\n \"volume_group\": false\n },\n \"Vloadbalancerms..vdns..module-3\": {\n \"vfModuleModelInvariantUUID\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..vdns..module-3\",\n \"vfModuleModelUUID\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n \"vfModuleModelCustomizationUUID\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n \"min_vf_module_instances\": 0,\n \"vf_module_label\": \"vdns\",\n \"max_vf_module_instances\": 50,\n \"vf_module_type\": \"Expansion\",\n \"isBase\": false,\n \"initial_count\": 0,\n \"volume_group\": false\n },\n \"Vloadbalancerms..base_template..module-0\": {\n \"vfModuleModelInvariantUUID\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..base_template..module-0\",\n \"vfModuleModelUUID\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n \"vfModuleModelCustomizationUUID\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n \"min_vf_module_instances\": 1,\n \"vf_module_label\": \"base_template\",\n \"max_vf_module_instances\": 1,\n \"vf_module_type\": \"Base\",\n \"isBase\": true,\n \"initial_count\": 1,\n \"volume_group\": false\n },\n \"Vloadbalancerms..vlb..module-2\": {\n \"vfModuleModelInvariantUUID\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..vlb..module-2\",\n \"vfModuleModelUUID\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n \"vfModuleModelCustomizationUUID\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n \"min_vf_module_instances\": 0,\n \"vf_module_label\": \"vlb\",\n \"max_vf_module_instances\": 1,\n \"vf_module_type\": \"Expansion\",\n \"isBase\": false,\n \"initial_count\": 0,\n \"volume_group\": false\n }\n }\n }\n}','{\n \"schema\": {\n \"uniqueItems\": \"true\",\n \"format\": \"tabs\",\n \"type\": \"array\",\n \"minItems\": 1,\n \"maxItems\": 1,\n \"title\": \"Operational policies\",\n \"items\": {\n \"type\": \"object\",\n \"title\": \"Operational Policy Item\",\n \"id\": \"operational_policy_item\",\n \"headerTemplate\": \"{{self.name}}\",\n \"required\": [\n \"name\",\n \"configurationsJson\"\n ],\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"title\": \"Operational policy name\",\n \"readOnly\": \"True\"\n },\n \"configurationsJson\": {\n \"type\": \"object\",\n \"title\": \"Configuration\",\n \"required\": [\n \"operational_policy\",\n \"guard_policies\"\n ],\n \"properties\": {\n \"operational_policy\": {\n \"type\": \"object\",\n \"title\": \"Related Parameters\",\n \"required\": [\n \"controlLoop\",\n \"policies\"\n ],\n \"properties\": {\n \"controlLoop\": {\n \"type\": \"object\",\n \"title\": \"Control Loop details\",\n \"required\": [\n \"timeout\",\n \"abatement\",\n \"trigger_policy\",\n \"controlLoopName\"\n ],\n \"properties\": {\n \"timeout\": {\n \"type\": \"string\",\n \"title\": \"Overall Time Limit\",\n \"default\": \"0\",\n \"format\": \"number\"\n },\n \"abatement\": {\n \"type\": \"string\",\n \"title\": \"Abatement\",\n \"enum\": [\n \"True\",\n \"False\"\n ]\n },\n \"trigger_policy\": {\n \"type\": \"string\",\n \"title\": \"Policy Decision Entry\"\n },\n \"controlLoopName\": {\n \"type\": \"string\",\n \"title\": \"Control loop name\",\n \"readOnly\": \"True\"\n }\n }\n },\n \"policies\": {\n \"uniqueItems\": \"true\",\n \"id\": \"policies_array\",\n \"type\": \"array\",\n \"title\": \"Policy Decision Tree\",\n \"format\": \"tabs-top\",\n \"items\": {\n \"title\": \"Policy Decision\",\n \"type\": \"object\",\n \"id\": \"policy_item\",\n \"headerTemplate\": \"{{self.id}} - {{self.recipe}}\",\n \"format\": \"categories\",\n \"basicCategoryTitle\": \"recipe\",\n \"required\": [\n \"id\",\n \"recipe\",\n \"retry\",\n \"timeout\",\n \"actor\",\n \"success\",\n \"failure\",\n \"failure_timeout\",\n \"failure_retries\",\n \"failure_exception\",\n \"failure_guard\",\n \"target\"\n ],\n \"properties\": {\n \"id\": {\n \"default\": \"Policy 1\",\n \"title\": \"Policy ID\",\n \"type\": \"string\"\n },\n \"recipe\": {\n \"title\": \"Recipe\",\n \"type\": \"string\",\n \"enum\": [\n \"Restart\",\n \"Rebuild\",\n \"Migrate\",\n \"Health-Check\",\n \"ModifyConfig\",\n \"VF Module Create\",\n \"VF Module Delete\",\n \"Reroute\"\n ]\n },\n \"retry\": {\n \"default\": \"0\",\n \"title\": \"Number of Retry\",\n \"type\": \"string\",\n \"format\": \"number\"\n },\n \"timeout\": {\n \"default\": \"0\",\n \"title\": \"Timeout\",\n \"type\": \"string\",\n \"format\": \"number\"\n },\n \"actor\": {\n \"title\": \"Actor\",\n \"type\": \"string\",\n \"enum\": [\n \"APPC\",\n \"SO\",\n \"VFC\",\n \"SDNC\",\n \"SDNR\"\n ]\n },\n \"payload\": {\n \"title\": \"Payload (YAML)\",\n \"type\": \"string\",\n \"format\": \"textarea\"\n },\n \"success\": {\n \"default\": \"final_success\",\n \"title\": \"When Success\",\n \"type\": \"string\"\n },\n \"failure\": {\n \"default\": \"final_failure\",\n \"title\": \"When Failure\",\n \"type\": \"string\"\n },\n \"failure_timeout\": {\n \"default\": \"final_failure_timeout\",\n \"title\": \"When Failure Timeout\",\n \"type\": \"string\"\n },\n \"failure_retries\": {\n \"default\": \"final_failure_retries\",\n \"title\": \"When Failure Retries\",\n \"type\": \"string\"\n },\n \"failure_exception\": {\n \"default\": \"final_failure_exception\",\n \"title\": \"When Failure Exception\",\n \"type\": \"string\"\n },\n \"failure_guard\": {\n \"default\": \"final_failure_guard\",\n \"title\": \"When Failure Guard\",\n \"type\": \"string\"\n },\n \"target\": {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"resourceID\"\n ],\n \"anyOf\": [\n {\n \"title\": \"User Defined\",\n \"additionalProperties\": \"True\",\n \"properties\": {\n \"type\": {\n \"title\": \"Target type\",\n \"type\": \"string\",\n \"default\": \"\",\n \"enum\": [\n \"VNF\",\n \"VFMODULE\",\n \"VM\"\n ]\n },\n \"resourceID\": {\n \"title\": \"Target type\",\n \"type\": \"string\",\n \"default\": \"\"\n }\n }\n },\n {\n \"title\": \"VNF-vLoadBalancerMS 0\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VNF\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"vLoadBalancerMS\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..vpkg..module-1\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vpkg..module-1\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vpkg..module-1\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..vdns..module-3\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vdns..module-3\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vdns..module-3\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..base_template..module-0\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..base_template..module-0\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..base_template..module-0\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..vlb..module-2\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vlb..module-2\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vlb..module-2\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n \"readOnly\": \"True\"\n }\n }\n }\n ]\n }\n }\n }\n }\n }\n },\n \"guard_policies\": {\n \"type\": \"array\",\n \"format\": \"tabs-top\",\n \"title\": \"Associated Guard policies\",\n \"items\": {\n \"headerTemplate\": \"{{self.policy-id}} - {{self.content.recipe}}\",\n \"anyOf\": [\n {\n \"title\": \"Guard MinMax\",\n \"type\": \"object\",\n \"properties\": {\n \"policy-id\": {\n \"type\": \"string\",\n \"default\": \"guard.minmax.new\",\n \"pattern\": \"^(guard.minmax\\\\..*)$\"\n },\n \"content\": {\n \"properties\": {\n \"actor\": {\n \"type\": \"string\",\n \"enum\": [\n \"APPC\",\n \"SO\",\n \"VFC\",\n \"SDNC\",\n \"SDNR\"\n ]\n },\n \"recipe\": {\n \"type\": \"string\",\n \"enum\": [\n \"Restart\",\n \"Rebuild\",\n \"Migrate\",\n \"Health-Check\",\n \"ModifyConfig\",\n \"VF Module Create\",\n \"VF Module Delete\",\n \"Reroute\"\n ]\n },\n \"targets\": {\n \"type\": \"string\",\n \"default\": \".*\"\n },\n \"clname\": {\n \"type\": \"string\",\n \"template\": \"{{loopName}}\",\n \"watch\": {\n \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n }\n },\n \"guardActiveStart\": {\n \"type\": \"string\",\n \"default\": \"00:00:00Z\"\n },\n \"guardActiveEnd\": {\n \"type\": \"string\",\n \"default\": \"10:00:00Z\"\n },\n \"min\": {\n \"type\": \"string\",\n \"default\": \"0\"\n },\n \"max\": {\n \"type\": \"string\",\n \"default\": \"1\"\n }\n }\n }\n }\n },\n {\n \"title\": \"Guard Frequency\",\n \"type\": \"object\",\n \"properties\": {\n \"policy-id\": {\n \"type\": \"string\",\n \"default\": \"guard.frequency.new\",\n \"pattern\": \"^(guard.frequency\\\\..*)$\"\n },\n \"content\": {\n \"properties\": {\n \"actor\": {\n \"type\": \"string\",\n \"enum\": [\n \"APPC\",\n \"SO\",\n \"VFC\",\n \"SDNC\",\n \"SDNR\"\n ]\n },\n \"recipe\": {\n \"type\": \"string\",\n \"enum\": [\n \"Restart\",\n \"Rebuild\",\n \"Migrate\",\n \"Health-Check\",\n \"ModifyConfig\",\n \"VF Module Create\",\n \"VF Module Delete\",\n \"Reroute\"\n ]\n },\n \"targets\": {\n \"type\": \"string\",\n \"default\": \".*\"\n },\n \"clname\": {\n \"type\": \"string\",\n \"template\": \"{{loopName}}\",\n \"watch\": {\n \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n }\n },\n \"guardActiveStart\": {\n \"type\": \"string\",\n \"default\": \"00:00:00Z\"\n },\n \"guardActiveEnd\": {\n \"type\": \"string\",\n \"default\": \"10:00:00Z\"\n },\n \"limit\": {\n \"type\": \"string\"\n },\n \"timeWindow\": {\n \"type\": \"string\"\n },\n \"timeUnits\": {\n \"type\": \"string\",\n \"enum\": [\n \"minute\",\n \"hour\",\n \"day\",\n \"week\",\n \"month\",\n \"year\"\n ]\n }\n }\n }\n }\n }\n ]\n }\n }\n }\n }\n }\n }\n }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"18\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-50fe7213-6127-48d8-a460-22907d574a32\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"35\" x2=\"123\" y1=\"41\"/><polygon fill=\"none\" points=\" 121 39 121 43 125 41\"/><polygon points=\" 121 39 121 43 125 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"127\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"127\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"176.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"147\" x2=\"147\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-d05ff912-d920-407b-9507-783b1de740a2\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"250\" x2=\"338\" y1=\"41\"/><polygon fill=\"none\" points=\" 336 39 336 43 340 41\"/><polygon points=\" 336 39 336 43 340 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"tca_k8s_ejh5S_v1_0_ResourceInstanceName1_tca_3\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"342\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"342\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"379.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">tca_k8s</text><line y2=\"61\" fill=\"none\" x1=\"342\" x2=\"465\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-4a91f1ac-3543-48c8-b42a-0fa52f077471\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"465\" x2=\"553\" y1=\"41\"/><polygon fill=\"none\" points=\" 551 39 551 43 555 41\"/><polygon points=\" 551 39 551 43 555 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"OperationalPolicy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"557\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"557\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"564.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">OperationalPolicy</text><line y2=\"1\" fill=\"none\" x1=\"557\" x2=\"618\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-a0213bb1-47d0-4115-a69f-5c857d663719\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"680\" x2=\"768\" y1=\"41\"/><polygon fill=\"none\" points=\" 766 39 766 43 770 41\"/><polygon points=\" 766 39 766 43 770 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"4\"><circle fill=\"none\" r=\"17\" cx=\"789\" cy=\"41\"/></g></g></g></svg>');
+INSERT INTO `loops` VALUES ('LOOP_ejh5S_v1_0_ResourceInstanceName2_tca_2','#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n This blueprint deploys/manages the TCA module as a Docker container\n\nimports:\n - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.12/k8splugin_types.yaml\n# - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml\n - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/clamppolicyplugin/1.0.0/clamppolicyplugin_types.yaml\ninputs:\n aaiEnrichmentHost:\n type: string\n default: \"aai.onap.svc.cluster.local\"\n aaiEnrichmentPort:\n type: string\n default: \"8443\"\n enableAAIEnrichment:\n type: string\n default: true\n dmaap_host:\n type: string\n default: message-router.onap\n dmaap_port:\n type: string\n default: \"3904\"\n enableRedisCaching:\n type: string\n default: false\n redisHosts:\n type: string\n default: dcae-redis.onap.svc.cluster.local:6379\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.1\"\n consul_host:\n type: string\n default: consul-server.onap\n consul_port:\n type: string\n default: \"8500\"\n cbs_host:\n type: string\n default: \"config-binding-servicel\"\n cbs_port:\n type: string\n default: \"10000\"\n policy_id:\n type: string\n default: \"onap.restart.tca\"\n external_port:\n type: string\n description: Kubernetes node port on which CDAPgui is exposed\n default: \"32012\"\n policy_model_id:\n type: string\n default: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\nnode_templates:\n tca_k8s:\n type: dcae.nodes.ContainerizedServiceComponent\n relationships:\n - target: tca_policy\n type: cloudify.relationships.depends_on\n properties:\n service_component_type: \'dcaegen2-analytics-tca\'\n application_config: {}\n docker_config: {}\n image:\n get_input: tag_version\n log_info:\n log_directory: \"/opt/app/TCAnalytics/logs\"\n application_config:\n app_config:\n appDescription: DCAE Analytics Threshold Crossing Alert Application\n appName: dcae-tca\n tcaAlertsAbatementTableName: TCAAlertsAbatementTable\n tcaAlertsAbatementTableTTLSeconds: \'1728000\'\n tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n tcaVESAlertsTableName: TCAVESAlertsTable\n tcaVESAlertsTableTTLSeconds: \'1728000\'\n tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n tcaVESMessageStatusTableTTLSeconds: \'86400\'\n thresholdCalculatorFlowletInstances: \'2\'\n app_preferences:\n aaiEnrichmentHost:\n get_input: aaiEnrichmentHost\n aaiEnrichmentIgnoreSSLCertificateErrors: \'true\'\n aaiEnrichmentPortNumber: \'8443\'\n aaiEnrichmentProtocol: https\n aaiEnrichmentUserName: dcae@dcae.onap.org\n aaiEnrichmentUserPassword: demo123456!\n aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query\n aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf\n enableAAIEnrichment:\n get_input: enableAAIEnrichment\n enableRedisCaching:\n get_input: enableRedisCaching\n redisHosts:\n get_input: redisHosts\n enableAlertCEFFormat: \'false\'\n publisherContentType: application/json\n publisherHostName:\n get_input: dmaap_host\n publisherHostPort:\n get_input: dmaap_port\n publisherMaxBatchSize: \'1\'\n publisherMaxRecoveryQueueSize: \'100000\'\n publisherPollingInterval: \'20000\'\n publisherProtocol: http\n publisherTopicName: unauthenticated.DCAE_CL_OUTPUT\n subscriberConsumerGroup: OpenDCAE-clamp\n subscriberConsumerId: c12\n subscriberContentType: application/json\n subscriberHostName:\n get_input: dmaap_host\n subscriberHostPort:\n get_input: dmaap_port\n subscriberMessageLimit: \'-1\'\n subscriberPollingInterval: \'30000\'\n subscriberProtocol: http\n subscriberTimeoutMS: \'-1\'\n subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT\n# tca_policy: \'{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}\'\n service_component_type: dcaegen2-analytics_tca\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n DMAAPHOST:\n { get_input: dmaap_host }\n DMAAPPORT:\n { get_input: dmaap_port }\n DMAAPPUBTOPIC: \"unauthenticated.DCAE_CL_OUTPUT\"\n DMAAPSUBTOPIC: \"unauthenticated.VES_MEASUREMENT_OUTPUT\"\n AAIHOST:\n { get_input: aaiEnrichmentHost }\n AAIPORT:\n { get_input: aaiEnrichmentPort }\n CONSUL_HOST:\n { get_input: consul_host }\n CONSUL_PORT:\n { get_input: consul_port }\n CBS_HOST:\n { get_input: cbs_host }\n CBS_PORT:\n { get_input: cbs_port }\n CONFIG_BINDING_SERVICE: \"config_binding_service\"\n ports:\n - concat: [\"11011:\", { get_input: external_port }]\n tca_policy:\n type: clamp.nodes.policy\n properties:\n policy_id:\n get_input: policy_id\n policy_model_id: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\n','typeId-709a8102-811f-48f4-bfb4-690a8f280ece',NULL,NULL,'{\n \"dcaeDeployParameters\": {\n \"aaiEnrichmentHost\": \"aai.onap.svc.cluster.local\",\n \"aaiEnrichmentPort\": \"8443\",\n \"enableAAIEnrichment\": true,\n \"dmaap_host\": \"message-router.onap\",\n \"dmaap_port\": \"3904\",\n \"enableRedisCaching\": false,\n \"redisHosts\": \"dcae-redis.onap.svc.cluster.local:6379\",\n \"tag_version\": \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.1\",\n \"consul_host\": \"consul-server.onap\",\n \"consul_port\": \"8500\",\n \"cbs_host\": \"config-binding-servicel\",\n \"cbs_port\": \"10000\",\n \"external_port\": \"32012\",\n \"policy_model_id\": \"onap.policies.monitoring.cdap.tca.hi.lo.app\",\n \"policy_id\": \"tca_k8s_ejh5S_v1_0_ResourceInstanceName2_tca_2\"\n }\n}','DESIGN','{\n \"serviceDetails\": {\n \"serviceType\": \"\",\n \"serviceRole\": \"\",\n \"description\": \"vLBMS\",\n \"type\": \"Service\",\n \"instantiationType\": \"A-la-carte\",\n \"namingPolicy\": \"\",\n \"serviceEcompNaming\": \"true\",\n \"environmentContext\": \"General_Revenue-Bearing\",\n \"name\": \"vLoadBalancerMS\",\n \"invariantUUID\": \"30ec5b59-4799-48d8-ac5f-1058a6b0e48f\",\n \"ecompGeneratedNaming\": \"true\",\n \"UUID\": \"63cac700-ab9a-4115-a74f-7eac85e3fce0\",\n \"category\": \"Network L4+\"\n },\n \"resourceDetails\": {\n \"CP\": {},\n \"VL\": {},\n \"VF\": {\n \"vLoadBalancerMS 0\": {\n \"resourceVendor\": \"Test\",\n \"name\": \"vLoadBalancerMS\",\n \"resourceVendorModelNumber\": \"\",\n \"description\": \"vLBMS\",\n \"invariantUUID\": \"1a31b9f2-e50d-43b7-89b3-a040250cf506\",\n \"UUID\": \"b4c4f3d7-929e-4b6d-a1cd-57e952ddc3e6\",\n \"type\": \"VF\",\n \"category\": \"Application L4+\",\n \"subcategory\": \"Load Balancer\",\n \"version\": \"1.0\",\n \"customizationUUID\": \"465246dc-7748-45f4-a013-308d92922552\",\n \"resourceVendorRelease\": \"1.0\"\n }\n },\n \"CR\": {},\n \"VFC\": {},\n \"PNF\": {},\n \"Service\": {},\n \"CVFC\": {},\n \"Service Proxy\": {},\n \"Configuration\": {},\n \"AllottedResource\": {},\n \"VFModule\": {\n \"Vloadbalancerms..vpkg..module-1\": {\n \"vfModuleModelInvariantUUID\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..vpkg..module-1\",\n \"vfModuleModelUUID\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n \"vfModuleModelCustomizationUUID\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n \"min_vf_module_instances\": 0,\n \"vf_module_label\": \"vpkg\",\n \"max_vf_module_instances\": 1,\n \"vf_module_type\": \"Expansion\",\n \"isBase\": false,\n \"initial_count\": 0,\n \"volume_group\": false\n },\n \"Vloadbalancerms..vdns..module-3\": {\n \"vfModuleModelInvariantUUID\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..vdns..module-3\",\n \"vfModuleModelUUID\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n \"vfModuleModelCustomizationUUID\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n \"min_vf_module_instances\": 0,\n \"vf_module_label\": \"vdns\",\n \"max_vf_module_instances\": 50,\n \"vf_module_type\": \"Expansion\",\n \"isBase\": false,\n \"initial_count\": 0,\n \"volume_group\": false\n },\n \"Vloadbalancerms..base_template..module-0\": {\n \"vfModuleModelInvariantUUID\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..base_template..module-0\",\n \"vfModuleModelUUID\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n \"vfModuleModelCustomizationUUID\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n \"min_vf_module_instances\": 1,\n \"vf_module_label\": \"base_template\",\n \"max_vf_module_instances\": 1,\n \"vf_module_type\": \"Base\",\n \"isBase\": true,\n \"initial_count\": 1,\n \"volume_group\": false\n },\n \"Vloadbalancerms..vlb..module-2\": {\n \"vfModuleModelInvariantUUID\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n \"vfModuleModelVersion\": \"1\",\n \"vfModuleModelName\": \"Vloadbalancerms..vlb..module-2\",\n \"vfModuleModelUUID\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n \"vfModuleModelCustomizationUUID\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n \"min_vf_module_instances\": 0,\n \"vf_module_label\": \"vlb\",\n \"max_vf_module_instances\": 1,\n \"vf_module_type\": \"Expansion\",\n \"isBase\": false,\n \"initial_count\": 0,\n \"volume_group\": false\n }\n }\n }\n}','{\n \"schema\": {\n \"uniqueItems\": \"true\",\n \"format\": \"tabs\",\n \"type\": \"array\",\n \"minItems\": 1,\n \"maxItems\": 1,\n \"title\": \"Operational policies\",\n \"items\": {\n \"type\": \"object\",\n \"title\": \"Operational Policy Item\",\n \"id\": \"operational_policy_item\",\n \"headerTemplate\": \"{{self.name}}\",\n \"required\": [\n \"name\",\n \"configurationsJson\"\n ],\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"title\": \"Operational policy name\",\n \"readOnly\": \"True\"\n },\n \"configurationsJson\": {\n \"type\": \"object\",\n \"title\": \"Configuration\",\n \"required\": [\n \"operational_policy\",\n \"guard_policies\"\n ],\n \"properties\": {\n \"operational_policy\": {\n \"type\": \"object\",\n \"title\": \"Related Parameters\",\n \"required\": [\n \"controlLoop\",\n \"policies\"\n ],\n \"properties\": {\n \"controlLoop\": {\n \"type\": \"object\",\n \"title\": \"Control Loop details\",\n \"required\": [\n \"timeout\",\n \"abatement\",\n \"trigger_policy\",\n \"controlLoopName\"\n ],\n \"properties\": {\n \"timeout\": {\n \"type\": \"string\",\n \"title\": \"Overall Time Limit\",\n \"default\": \"0\",\n \"format\": \"number\"\n },\n \"abatement\": {\n \"type\": \"string\",\n \"title\": \"Abatement\",\n \"enum\": [\n \"True\",\n \"False\"\n ]\n },\n \"trigger_policy\": {\n \"type\": \"string\",\n \"title\": \"Policy Decision Entry\"\n },\n \"controlLoopName\": {\n \"type\": \"string\",\n \"title\": \"Control loop name\",\n \"readOnly\": \"True\"\n }\n }\n },\n \"policies\": {\n \"uniqueItems\": \"true\",\n \"id\": \"policies_array\",\n \"type\": \"array\",\n \"title\": \"Policy Decision Tree\",\n \"format\": \"tabs-top\",\n \"items\": {\n \"title\": \"Policy Decision\",\n \"type\": \"object\",\n \"id\": \"policy_item\",\n \"headerTemplate\": \"{{self.id}} - {{self.recipe}}\",\n \"format\": \"categories\",\n \"basicCategoryTitle\": \"recipe\",\n \"required\": [\n \"id\",\n \"recipe\",\n \"retry\",\n \"timeout\",\n \"actor\",\n \"success\",\n \"failure\",\n \"failure_timeout\",\n \"failure_retries\",\n \"failure_exception\",\n \"failure_guard\",\n \"target\"\n ],\n \"properties\": {\n \"id\": {\n \"default\": \"Policy 1\",\n \"title\": \"Policy ID\",\n \"type\": \"string\"\n },\n \"recipe\": {\n \"title\": \"Recipe\",\n \"type\": \"string\",\n \"enum\": [\n \"Restart\",\n \"Rebuild\",\n \"Migrate\",\n \"Health-Check\",\n \"ModifyConfig\",\n \"VF Module Create\",\n \"VF Module Delete\",\n \"Reroute\"\n ]\n },\n \"retry\": {\n \"default\": \"0\",\n \"title\": \"Number of Retry\",\n \"type\": \"string\",\n \"format\": \"number\"\n },\n \"timeout\": {\n \"default\": \"0\",\n \"title\": \"Timeout\",\n \"type\": \"string\",\n \"format\": \"number\"\n },\n \"actor\": {\n \"title\": \"Actor\",\n \"type\": \"string\",\n \"enum\": [\n \"APPC\",\n \"SO\",\n \"VFC\",\n \"SDNC\",\n \"SDNR\"\n ]\n },\n \"payload\": {\n \"title\": \"Payload (YAML)\",\n \"type\": \"string\",\n \"format\": \"textarea\"\n },\n \"success\": {\n \"default\": \"final_success\",\n \"title\": \"When Success\",\n \"type\": \"string\"\n },\n \"failure\": {\n \"default\": \"final_failure\",\n \"title\": \"When Failure\",\n \"type\": \"string\"\n },\n \"failure_timeout\": {\n \"default\": \"final_failure_timeout\",\n \"title\": \"When Failure Timeout\",\n \"type\": \"string\"\n },\n \"failure_retries\": {\n \"default\": \"final_failure_retries\",\n \"title\": \"When Failure Retries\",\n \"type\": \"string\"\n },\n \"failure_exception\": {\n \"default\": \"final_failure_exception\",\n \"title\": \"When Failure Exception\",\n \"type\": \"string\"\n },\n \"failure_guard\": {\n \"default\": \"final_failure_guard\",\n \"title\": \"When Failure Guard\",\n \"type\": \"string\"\n },\n \"target\": {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n \"resourceID\"\n ],\n \"anyOf\": [\n {\n \"title\": \"User Defined\",\n \"additionalProperties\": \"True\",\n \"properties\": {\n \"type\": {\n \"title\": \"Target type\",\n \"type\": \"string\",\n \"default\": \"\",\n \"enum\": [\n \"VNF\",\n \"VFMODULE\",\n \"VM\"\n ]\n },\n \"resourceID\": {\n \"title\": \"Target type\",\n \"type\": \"string\",\n \"default\": \"\"\n }\n }\n },\n {\n \"title\": \"VNF-vLoadBalancerMS 0\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VNF\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"vLoadBalancerMS\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..vpkg..module-1\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vpkg..module-1\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vpkg..module-1\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..vdns..module-3\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vdns..module-3\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vdns..module-3\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..base_template..module-0\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..base_template..module-0\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..base_template..module-0\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n \"readOnly\": \"True\"\n }\n }\n },\n {\n \"title\": \"VFMODULE-Vloadbalancerms..vlb..module-2\",\n \"properties\": {\n \"type\": {\n \"title\": \"Type\",\n \"type\": \"string\",\n \"default\": \"VFMODULE\",\n \"readOnly\": \"True\"\n },\n \"resourceID\": {\n \"title\": \"Resource ID\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vlb..module-2\",\n \"readOnly\": \"True\"\n },\n \"modelInvariantId\": {\n \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n \"type\": \"string\",\n \"default\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n \"readOnly\": \"True\"\n },\n \"modelVersionId\": {\n \"title\": \"Model Version Id (ModelUUID)\",\n \"type\": \"string\",\n \"default\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n \"readOnly\": \"True\"\n },\n \"modelName\": {\n \"title\": \"Model Name\",\n \"type\": \"string\",\n \"default\": \"Vloadbalancerms..vlb..module-2\",\n \"readOnly\": \"True\"\n },\n \"modelVersion\": {\n \"title\": \"Model Version\",\n \"type\": \"string\",\n \"default\": \"1\",\n \"readOnly\": \"True\"\n },\n \"modelCustomizationId\": {\n \"title\": \"Customization ID\",\n \"type\": \"string\",\n \"default\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n \"readOnly\": \"True\"\n }\n }\n }\n ]\n }\n }\n }\n }\n }\n },\n \"guard_policies\": {\n \"type\": \"array\",\n \"format\": \"tabs-top\",\n \"title\": \"Associated Guard policies\",\n \"items\": {\n \"headerTemplate\": \"{{self.policy-id}} - {{self.content.recipe}}\",\n \"anyOf\": [\n {\n \"title\": \"Guard MinMax\",\n \"type\": \"object\",\n \"properties\": {\n \"policy-id\": {\n \"type\": \"string\",\n \"default\": \"guard.minmax.new\",\n \"pattern\": \"^(guard.minmax\\\\..*)$\"\n },\n \"content\": {\n \"properties\": {\n \"actor\": {\n \"type\": \"string\",\n \"enum\": [\n \"APPC\",\n \"SO\",\n \"VFC\",\n \"SDNC\",\n \"SDNR\"\n ]\n },\n \"recipe\": {\n \"type\": \"string\",\n \"enum\": [\n \"Restart\",\n \"Rebuild\",\n \"Migrate\",\n \"Health-Check\",\n \"ModifyConfig\",\n \"VF Module Create\",\n \"VF Module Delete\",\n \"Reroute\"\n ]\n },\n \"targets\": {\n \"type\": \"string\",\n \"default\": \".*\"\n },\n \"clname\": {\n \"type\": \"string\",\n \"template\": \"{{loopName}}\",\n \"watch\": {\n \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n }\n },\n \"guardActiveStart\": {\n \"type\": \"string\",\n \"default\": \"00:00:00Z\"\n },\n \"guardActiveEnd\": {\n \"type\": \"string\",\n \"default\": \"10:00:00Z\"\n },\n \"min\": {\n \"type\": \"string\",\n \"default\": \"0\"\n },\n \"max\": {\n \"type\": \"string\",\n \"default\": \"1\"\n }\n }\n }\n }\n },\n {\n \"title\": \"Guard Frequency\",\n \"type\": \"object\",\n \"properties\": {\n \"policy-id\": {\n \"type\": \"string\",\n \"default\": \"guard.frequency.new\",\n \"pattern\": \"^(guard.frequency\\\\..*)$\"\n },\n \"content\": {\n \"properties\": {\n \"actor\": {\n \"type\": \"string\",\n \"enum\": [\n \"APPC\",\n \"SO\",\n \"VFC\",\n \"SDNC\",\n \"SDNR\"\n ]\n },\n \"recipe\": {\n \"type\": \"string\",\n \"enum\": [\n \"Restart\",\n \"Rebuild\",\n \"Migrate\",\n \"Health-Check\",\n \"ModifyConfig\",\n \"VF Module Create\",\n \"VF Module Delete\",\n \"Reroute\"\n ]\n },\n \"targets\": {\n \"type\": \"string\",\n \"default\": \".*\"\n },\n \"clname\": {\n \"type\": \"string\",\n \"template\": \"{{loopName}}\",\n \"watch\": {\n \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n }\n },\n \"guardActiveStart\": {\n \"type\": \"string\",\n \"default\": \"00:00:00Z\"\n },\n \"guardActiveEnd\": {\n \"type\": \"string\",\n \"default\": \"10:00:00Z\"\n },\n \"limit\": {\n \"type\": \"string\"\n },\n \"timeWindow\": {\n \"type\": \"string\"\n },\n \"timeUnits\": {\n \"type\": \"string\",\n \"enum\": [\n \"minute\",\n \"hour\",\n \"day\",\n \"week\",\n \"month\",\n \"year\"\n ]\n }\n }\n }\n }\n }\n ]\n }\n }\n }\n }\n }\n }\n }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"18\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-75d5a3c5-3f47-4bcc-9c73-7c14a018643b\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"35\" x2=\"123\" y1=\"41\"/><polygon fill=\"none\" points=\" 121 39 121 43 125 41\"/><polygon points=\" 121 39 121 43 125 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"127\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"127\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"176.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"147\" x2=\"147\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-13e0b331-ffed-46c0-afee-a61535eb64e4\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"250\" x2=\"338\" y1=\"41\"/><polygon fill=\"none\" points=\" 336 39 336 43 340 41\"/><polygon points=\" 336 39 336 43 340 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"tca_k8s_ejh5S_v1_0_ResourceInstanceName2_tca_2\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"342\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"342\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"379.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">tca_k8s</text><line y2=\"61\" fill=\"none\" x1=\"342\" x2=\"465\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-875d4430-9af1-44ba-a524-bb1f56a9b2f9\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"465\" x2=\"553\" y1=\"41\"/><polygon fill=\"none\" points=\" 551 39 551 43 555 41\"/><polygon points=\" 551 39 551 43 555 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"OperationalPolicy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"557\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"557\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"564.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">OperationalPolicy</text><line y2=\"1\" fill=\"none\" x1=\"557\" x2=\"618\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-a2c37cff-448d-46df-9af0-0b51076b0954\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"680\" x2=\"768\" y1=\"41\"/><polygon fill=\"none\" points=\" 766 39 766 43 770 41\"/><polygon points=\" 766 39 766 43 770 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"4\"><circle fill=\"none\" r=\"17\" cx=\"789\" cy=\"41\"/></g></g></g></svg>');
/*!40000 ALTER TABLE `loops` ENABLE KEYS */;
UNLOCK TABLES;
@@ -86,9 +605,9 @@ UNLOCK TABLES;
LOCK TABLES `loops_microservicepolicies` WRITE;
/*!40000 ALTER TABLE `loops_microservicepolicies` DISABLE KEYS */;
-INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_iYTIP_v1_0_ResourceInstanceName1_tca','TCA_iYTIP_v1_0_ResourceInstanceName1_tca');
-INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_iYTIP_v1_0_ResourceInstanceName1_tca_3','TCA_iYTIP_v1_0_ResourceInstanceName1_tca_3');
-INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_iYTIP_v1_0_ResourceInstanceName2_tca_2','TCA_iYTIP_v1_0_ResourceInstanceName2_tca_2');
+INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_ejh5S_v1_0_ResourceInstanceName1_tca','TCA_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_ejh5S_v1_0_ResourceInstanceName1_tca_3','tca_k8s_ejh5S_v1_0_ResourceInstanceName1_tca_3');
+INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_ejh5S_v1_0_ResourceInstanceName2_tca_2','tca_k8s_ejh5S_v1_0_ResourceInstanceName2_tca_2');
/*!40000 ALTER TABLE `loops_microservicepolicies` ENABLE KEYS */;
UNLOCK TABLES;
@@ -98,9 +617,9 @@ UNLOCK TABLES;
LOCK TABLES `micro_service_policies` WRITE;
/*!40000 ALTER TABLE `micro_service_policies` DISABLE KEYS */;
-INSERT INTO `micro_service_policies` VALUES ('TCA_iYTIP_v1_0_ResourceInstanceName1_tca','{\n \"schema\": {\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"type\": \"array\",\n \"title\": \"TCA Policy JSON\",\n \"items\": {\n \"type\": \"object\",\n \"title\": \"TCA Policy JSON\",\n \"required\": [\n \"domain\",\n \"metricsPerEventName\"\n ],\n \"properties\": {\n \"domain\": {\n \"propertyOrder\": 1001,\n \"default\": \"measurementsForVfScaling\",\n \"title\": \"Domain name to which TCA needs to be applied\",\n \"type\": \"string\"\n },\n \"metricsPerEventName\": {\n \"propertyOrder\": 1002,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"controlLoopSchemaType\",\n \"eventName\",\n \"policyName\",\n \"policyScope\",\n \"policyVersion\",\n \"thresholds\"\n ],\n \"properties\": {\n \"policyVersion\": {\n \"propertyOrder\": 1007,\n \"title\": \"TCA Policy Scope Version\",\n \"type\": \"string\"\n },\n \"thresholds\": {\n \"propertyOrder\": 1008,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Thresholds associated with eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"closedLoopControlName\",\n \"closedLoopEventStatus\",\n \"direction\",\n \"fieldPath\",\n \"severity\",\n \"thresholdValue\",\n \"version\"\n ],\n \"properties\": {\n \"severity\": {\n \"propertyOrder\": 1013,\n \"title\": \"Threshold Event Severity\",\n \"type\": \"string\",\n \"enum\": [\n \"CRITICAL\",\n \"MAJOR\",\n \"MINOR\",\n \"WARNING\",\n \"NORMAL\"\n ]\n },\n \"fieldPath\": {\n \"propertyOrder\": 1012,\n \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n \"type\": \"string\",\n \"enum\": [\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n ]\n },\n \"thresholdValue\": {\n \"propertyOrder\": 1014,\n \"title\": \"Threshold value for the field Path inside CEF message\",\n \"type\": \"integer\"\n },\n \"closedLoopEventStatus\": {\n \"propertyOrder\": 1010,\n \"title\": \"Closed Loop Event Status of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"ONSET\",\n \"ABATED\"\n ]\n },\n \"closedLoopControlName\": {\n \"propertyOrder\": 1009,\n \"title\": \"Closed Loop Control Name associated with the threshold\",\n \"type\": \"string\"\n },\n \"version\": {\n \"propertyOrder\": 1015,\n \"title\": \"Version number associated with the threshold\",\n \"type\": \"string\"\n },\n \"direction\": {\n \"propertyOrder\": 1011,\n \"title\": \"Direction of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"LESS\",\n \"LESS_OR_EQUAL\",\n \"GREATER\",\n \"GREATER_OR_EQUAL\",\n \"EQUAL\"\n ]\n }\n }\n }\n },\n \"policyName\": {\n \"propertyOrder\": 1005,\n \"title\": \"TCA Policy Scope Name\",\n \"type\": \"string\"\n },\n \"controlLoopSchemaType\": {\n \"propertyOrder\": 1003,\n \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n \"type\": \"string\",\n \"enum\": [\n \"VM\",\n \"VNF\"\n ]\n },\n \"policyScope\": {\n \"propertyOrder\": 1006,\n \"title\": \"TCA Policy Scope\",\n \"type\": \"string\"\n },\n \"eventName\": {\n \"propertyOrder\": 1004,\n \"title\": \"Event name to which thresholds need to be applied\",\n \"type\": \"string\"\n }\n }\n }\n }\n }\n }\n }\n}','onap.policy.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n onap.policies.Monitoring:\n derived_from: tosca.policies.Root\n description: a base policy type for all policies that governs monitoring provisioning\n onap.policy.monitoring.cdap.tca.hi.lo.app:\n derived_from: onap.policies.Monitoring\n version: 1.0.0\n properties:\n tca_policy:\n type: map\n description: TCA Policy JSON\n entry_schema:\n type: onap.datatypes.monitoring.tca_policy\ndata_types:\n onap.datatypes.monitoring.metricsPerEventName:\n derived_from: tosca.datatypes.Root\n properties:\n controlLoopSchemaType:\n type: string\n required: true\n description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n constraints:\n - valid_values:\n - VM\n - VNF\n eventName:\n type: string\n required: true\n description: Event name to which thresholds need to be applied\n policyName:\n type: string\n required: true\n description: TCA Policy Scope Name\n policyScope:\n type: string\n required: true\n description: TCA Policy Scope\n policyVersion:\n type: string\n required: true\n description: TCA Policy Scope Version\n thresholds:\n type: list\n required: true\n description: Thresholds associated with eventName\n entry_schema:\n type: onap.datatypes.monitoring.thresholds\n onap.datatypes.monitoring.tca_policy:\n derived_from: tosca.datatypes.Root\n properties:\n domain:\n type: string\n required: true\n description: Domain name to which TCA needs to be applied\n default: measurementsForVfScaling\n constraints:\n - equal: measurementsForVfScaling\n metricsPerEventName:\n type: list\n required: true\n description: Contains eventName and threshold details that need to be applied to given eventName\n entry_schema:\n type: onap.datatypes.monitoring.metricsPerEventName\n onap.datatypes.monitoring.thresholds:\n derived_from: tosca.datatypes.Root\n properties:\n closedLoopControlName:\n type: string\n required: true\n description: Closed Loop Control Name associated with the threshold\n closedLoopEventStatus:\n type: string\n required: true\n description: Closed Loop Event Status of the threshold\n constraints:\n - valid_values:\n - ONSET\n - ABATED\n direction:\n type: string\n required: true\n description: Direction of the threshold\n constraints:\n - valid_values:\n - LESS\n - LESS_OR_EQUAL\n - GREATER\n - GREATER_OR_EQUAL\n - EQUAL\n fieldPath:\n type: string\n required: true\n description: Json field Path as per CEF message which needs to be analyzed for TCA\n constraints:\n - valid_values:\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n - $.event.measurementsForVfScalingFields.meanRequestLatency\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n severity:\n type: string\n required: true\n description: Threshold Event Severity\n constraints:\n - valid_values:\n - CRITICAL\n - MAJOR\n - MINOR\n - WARNING\n - NORMAL\n thresholdValue:\n type: integer\n required: true\n description: Threshold value for the field Path inside CEF message\n version:\n type: string\n required: true\n description: Version number associated with the threshold\n',NULL,'\0');
-INSERT INTO `micro_service_policies` VALUES ('TCA_iYTIP_v1_0_ResourceInstanceName1_tca_3','{\n \"schema\": {\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"type\": \"array\",\n \"title\": \"TCA Policy JSON\",\n \"items\": {\n \"type\": \"object\",\n \"title\": \"TCA Policy JSON\",\n \"required\": [\n \"domain\",\n \"metricsPerEventName\"\n ],\n \"properties\": {\n \"domain\": {\n \"propertyOrder\": 1001,\n \"default\": \"measurementsForVfScaling\",\n \"title\": \"Domain name to which TCA needs to be applied\",\n \"type\": \"string\"\n },\n \"metricsPerEventName\": {\n \"propertyOrder\": 1002,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"controlLoopSchemaType\",\n \"eventName\",\n \"policyName\",\n \"policyScope\",\n \"policyVersion\",\n \"thresholds\"\n ],\n \"properties\": {\n \"policyVersion\": {\n \"propertyOrder\": 1007,\n \"title\": \"TCA Policy Scope Version\",\n \"type\": \"string\"\n },\n \"thresholds\": {\n \"propertyOrder\": 1008,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Thresholds associated with eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"closedLoopControlName\",\n \"closedLoopEventStatus\",\n \"direction\",\n \"fieldPath\",\n \"severity\",\n \"thresholdValue\",\n \"version\"\n ],\n \"properties\": {\n \"severity\": {\n \"propertyOrder\": 1013,\n \"title\": \"Threshold Event Severity\",\n \"type\": \"string\",\n \"enum\": [\n \"CRITICAL\",\n \"MAJOR\",\n \"MINOR\",\n \"WARNING\",\n \"NORMAL\"\n ]\n },\n \"fieldPath\": {\n \"propertyOrder\": 1012,\n \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n \"type\": \"string\",\n \"enum\": [\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n ]\n },\n \"thresholdValue\": {\n \"propertyOrder\": 1014,\n \"title\": \"Threshold value for the field Path inside CEF message\",\n \"type\": \"integer\"\n },\n \"closedLoopEventStatus\": {\n \"propertyOrder\": 1010,\n \"title\": \"Closed Loop Event Status of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"ONSET\",\n \"ABATED\"\n ]\n },\n \"closedLoopControlName\": {\n \"propertyOrder\": 1009,\n \"title\": \"Closed Loop Control Name associated with the threshold\",\n \"type\": \"string\"\n },\n \"version\": {\n \"propertyOrder\": 1015,\n \"title\": \"Version number associated with the threshold\",\n \"type\": \"string\"\n },\n \"direction\": {\n \"propertyOrder\": 1011,\n \"title\": \"Direction of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"LESS\",\n \"LESS_OR_EQUAL\",\n \"GREATER\",\n \"GREATER_OR_EQUAL\",\n \"EQUAL\"\n ]\n }\n }\n }\n },\n \"policyName\": {\n \"propertyOrder\": 1005,\n \"title\": \"TCA Policy Scope Name\",\n \"type\": \"string\"\n },\n \"controlLoopSchemaType\": {\n \"propertyOrder\": 1003,\n \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n \"type\": \"string\",\n \"enum\": [\n \"VM\",\n \"VNF\"\n ]\n },\n \"policyScope\": {\n \"propertyOrder\": 1006,\n \"title\": \"TCA Policy Scope\",\n \"type\": \"string\"\n },\n \"eventName\": {\n \"propertyOrder\": 1004,\n \"title\": \"Event name to which thresholds need to be applied\",\n \"type\": \"string\"\n }\n }\n }\n }\n }\n }\n }\n}','onap.policy.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n onap.policies.Monitoring:\n derived_from: tosca.policies.Root\n description: a base policy type for all policies that governs monitoring provisioning\n onap.policy.monitoring.cdap.tca.hi.lo.app:\n derived_from: onap.policies.Monitoring\n version: 1.0.0\n properties:\n tca_policy:\n type: map\n description: TCA Policy JSON\n entry_schema:\n type: onap.datatypes.monitoring.tca_policy\ndata_types:\n onap.datatypes.monitoring.metricsPerEventName:\n derived_from: tosca.datatypes.Root\n properties:\n controlLoopSchemaType:\n type: string\n required: true\n description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n constraints:\n - valid_values:\n - VM\n - VNF\n eventName:\n type: string\n required: true\n description: Event name to which thresholds need to be applied\n policyName:\n type: string\n required: true\n description: TCA Policy Scope Name\n policyScope:\n type: string\n required: true\n description: TCA Policy Scope\n policyVersion:\n type: string\n required: true\n description: TCA Policy Scope Version\n thresholds:\n type: list\n required: true\n description: Thresholds associated with eventName\n entry_schema:\n type: onap.datatypes.monitoring.thresholds\n onap.datatypes.monitoring.tca_policy:\n derived_from: tosca.datatypes.Root\n properties:\n domain:\n type: string\n required: true\n description: Domain name to which TCA needs to be applied\n default: measurementsForVfScaling\n constraints:\n - equal: measurementsForVfScaling\n metricsPerEventName:\n type: list\n required: true\n description: Contains eventName and threshold details that need to be applied to given eventName\n entry_schema:\n type: onap.datatypes.monitoring.metricsPerEventName\n onap.datatypes.monitoring.thresholds:\n derived_from: tosca.datatypes.Root\n properties:\n closedLoopControlName:\n type: string\n required: true\n description: Closed Loop Control Name associated with the threshold\n closedLoopEventStatus:\n type: string\n required: true\n description: Closed Loop Event Status of the threshold\n constraints:\n - valid_values:\n - ONSET\n - ABATED\n direction:\n type: string\n required: true\n description: Direction of the threshold\n constraints:\n - valid_values:\n - LESS\n - LESS_OR_EQUAL\n - GREATER\n - GREATER_OR_EQUAL\n - EQUAL\n fieldPath:\n type: string\n required: true\n description: Json field Path as per CEF message which needs to be analyzed for TCA\n constraints:\n - valid_values:\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n - $.event.measurementsForVfScalingFields.meanRequestLatency\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n severity:\n type: string\n required: true\n description: Threshold Event Severity\n constraints:\n - valid_values:\n - CRITICAL\n - MAJOR\n - MINOR\n - WARNING\n - NORMAL\n thresholdValue:\n type: integer\n required: true\n description: Threshold value for the field Path inside CEF message\n version:\n type: string\n required: true\n description: Version number associated with the threshold\n',NULL,'\0');
-INSERT INTO `micro_service_policies` VALUES ('TCA_iYTIP_v1_0_ResourceInstanceName2_tca_2','{\n \"schema\": {\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"type\": \"array\",\n \"title\": \"TCA Policy JSON\",\n \"items\": {\n \"type\": \"object\",\n \"title\": \"TCA Policy JSON\",\n \"required\": [\n \"domain\",\n \"metricsPerEventName\"\n ],\n \"properties\": {\n \"domain\": {\n \"propertyOrder\": 1001,\n \"default\": \"measurementsForVfScaling\",\n \"title\": \"Domain name to which TCA needs to be applied\",\n \"type\": \"string\"\n },\n \"metricsPerEventName\": {\n \"propertyOrder\": 1002,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"controlLoopSchemaType\",\n \"eventName\",\n \"policyName\",\n \"policyScope\",\n \"policyVersion\",\n \"thresholds\"\n ],\n \"properties\": {\n \"policyVersion\": {\n \"propertyOrder\": 1007,\n \"title\": \"TCA Policy Scope Version\",\n \"type\": \"string\"\n },\n \"thresholds\": {\n \"propertyOrder\": 1008,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Thresholds associated with eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"closedLoopControlName\",\n \"closedLoopEventStatus\",\n \"direction\",\n \"fieldPath\",\n \"severity\",\n \"thresholdValue\",\n \"version\"\n ],\n \"properties\": {\n \"severity\": {\n \"propertyOrder\": 1013,\n \"title\": \"Threshold Event Severity\",\n \"type\": \"string\",\n \"enum\": [\n \"CRITICAL\",\n \"MAJOR\",\n \"MINOR\",\n \"WARNING\",\n \"NORMAL\"\n ]\n },\n \"fieldPath\": {\n \"propertyOrder\": 1012,\n \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n \"type\": \"string\",\n \"enum\": [\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n ]\n },\n \"thresholdValue\": {\n \"propertyOrder\": 1014,\n \"title\": \"Threshold value for the field Path inside CEF message\",\n \"type\": \"integer\"\n },\n \"closedLoopEventStatus\": {\n \"propertyOrder\": 1010,\n \"title\": \"Closed Loop Event Status of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"ONSET\",\n \"ABATED\"\n ]\n },\n \"closedLoopControlName\": {\n \"propertyOrder\": 1009,\n \"title\": \"Closed Loop Control Name associated with the threshold\",\n \"type\": \"string\"\n },\n \"version\": {\n \"propertyOrder\": 1015,\n \"title\": \"Version number associated with the threshold\",\n \"type\": \"string\"\n },\n \"direction\": {\n \"propertyOrder\": 1011,\n \"title\": \"Direction of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"LESS\",\n \"LESS_OR_EQUAL\",\n \"GREATER\",\n \"GREATER_OR_EQUAL\",\n \"EQUAL\"\n ]\n }\n }\n }\n },\n \"policyName\": {\n \"propertyOrder\": 1005,\n \"title\": \"TCA Policy Scope Name\",\n \"type\": \"string\"\n },\n \"controlLoopSchemaType\": {\n \"propertyOrder\": 1003,\n \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n \"type\": \"string\",\n \"enum\": [\n \"VM\",\n \"VNF\"\n ]\n },\n \"policyScope\": {\n \"propertyOrder\": 1006,\n \"title\": \"TCA Policy Scope\",\n \"type\": \"string\"\n },\n \"eventName\": {\n \"propertyOrder\": 1004,\n \"title\": \"Event name to which thresholds need to be applied\",\n \"type\": \"string\"\n }\n }\n }\n }\n }\n }\n }\n}','onap.policy.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n onap.policies.Monitoring:\n derived_from: tosca.policies.Root\n description: a base policy type for all policies that governs monitoring provisioning\n onap.policy.monitoring.cdap.tca.hi.lo.app:\n derived_from: onap.policies.Monitoring\n version: 1.0.0\n properties:\n tca_policy:\n type: map\n description: TCA Policy JSON\n entry_schema:\n type: onap.datatypes.monitoring.tca_policy\ndata_types:\n onap.datatypes.monitoring.metricsPerEventName:\n derived_from: tosca.datatypes.Root\n properties:\n controlLoopSchemaType:\n type: string\n required: true\n description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n constraints:\n - valid_values:\n - VM\n - VNF\n eventName:\n type: string\n required: true\n description: Event name to which thresholds need to be applied\n policyName:\n type: string\n required: true\n description: TCA Policy Scope Name\n policyScope:\n type: string\n required: true\n description: TCA Policy Scope\n policyVersion:\n type: string\n required: true\n description: TCA Policy Scope Version\n thresholds:\n type: list\n required: true\n description: Thresholds associated with eventName\n entry_schema:\n type: onap.datatypes.monitoring.thresholds\n onap.datatypes.monitoring.tca_policy:\n derived_from: tosca.datatypes.Root\n properties:\n domain:\n type: string\n required: true\n description: Domain name to which TCA needs to be applied\n default: measurementsForVfScaling\n constraints:\n - equal: measurementsForVfScaling\n metricsPerEventName:\n type: list\n required: true\n description: Contains eventName and threshold details that need to be applied to given eventName\n entry_schema:\n type: onap.datatypes.monitoring.metricsPerEventName\n onap.datatypes.monitoring.thresholds:\n derived_from: tosca.datatypes.Root\n properties:\n closedLoopControlName:\n type: string\n required: true\n description: Closed Loop Control Name associated with the threshold\n closedLoopEventStatus:\n type: string\n required: true\n description: Closed Loop Event Status of the threshold\n constraints:\n - valid_values:\n - ONSET\n - ABATED\n direction:\n type: string\n required: true\n description: Direction of the threshold\n constraints:\n - valid_values:\n - LESS\n - LESS_OR_EQUAL\n - GREATER\n - GREATER_OR_EQUAL\n - EQUAL\n fieldPath:\n type: string\n required: true\n description: Json field Path as per CEF message which needs to be analyzed for TCA\n constraints:\n - valid_values:\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n - $.event.measurementsForVfScalingFields.meanRequestLatency\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n severity:\n type: string\n required: true\n description: Threshold Event Severity\n constraints:\n - valid_values:\n - CRITICAL\n - MAJOR\n - MINOR\n - WARNING\n - NORMAL\n thresholdValue:\n type: integer\n required: true\n description: Threshold value for the field Path inside CEF message\n version:\n type: string\n required: true\n description: Version number associated with the threshold\n',NULL,'\0');
+INSERT INTO `micro_service_policies` VALUES ('TCA_ejh5S_v1_0_ResourceInstanceName1_tca','{\n \"schema\": {\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"type\": \"array\",\n \"title\": \"TCA Policy JSON\",\n \"items\": {\n \"type\": \"object\",\n \"title\": \"TCA Policy JSON\",\n \"required\": [\n \"domain\",\n \"metricsPerEventName\"\n ],\n \"properties\": {\n \"domain\": {\n \"propertyOrder\": 1001,\n \"default\": \"measurementsForVfScaling\",\n \"title\": \"Domain name to which TCA needs to be applied\",\n \"type\": \"string\"\n },\n \"metricsPerEventName\": {\n \"propertyOrder\": 1002,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"controlLoopSchemaType\",\n \"eventName\",\n \"policyName\",\n \"policyScope\",\n \"policyVersion\",\n \"thresholds\"\n ],\n \"properties\": {\n \"policyVersion\": {\n \"propertyOrder\": 1007,\n \"title\": \"TCA Policy Scope Version\",\n \"type\": \"string\"\n },\n \"thresholds\": {\n \"propertyOrder\": 1008,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Thresholds associated with eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"closedLoopControlName\",\n \"closedLoopEventStatus\",\n \"direction\",\n \"fieldPath\",\n \"severity\",\n \"thresholdValue\",\n \"version\"\n ],\n \"properties\": {\n \"severity\": {\n \"propertyOrder\": 1013,\n \"title\": \"Threshold Event Severity\",\n \"type\": \"string\",\n \"enum\": [\n \"CRITICAL\",\n \"MAJOR\",\n \"MINOR\",\n \"WARNING\",\n \"NORMAL\"\n ]\n },\n \"fieldPath\": {\n \"propertyOrder\": 1012,\n \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n \"type\": \"string\",\n \"enum\": [\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n ]\n },\n \"thresholdValue\": {\n \"propertyOrder\": 1014,\n \"title\": \"Threshold value for the field Path inside CEF message\",\n \"type\": \"integer\"\n },\n \"closedLoopEventStatus\": {\n \"propertyOrder\": 1010,\n \"title\": \"Closed Loop Event Status of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"ONSET\",\n \"ABATED\"\n ]\n },\n \"closedLoopControlName\": {\n \"propertyOrder\": 1009,\n \"title\": \"Closed Loop Control Name associated with the threshold\",\n \"type\": \"string\"\n },\n \"version\": {\n \"propertyOrder\": 1015,\n \"title\": \"Version number associated with the threshold\",\n \"type\": \"string\"\n },\n \"direction\": {\n \"propertyOrder\": 1011,\n \"title\": \"Direction of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"LESS\",\n \"LESS_OR_EQUAL\",\n \"GREATER\",\n \"GREATER_OR_EQUAL\",\n \"EQUAL\"\n ]\n }\n }\n }\n },\n \"policyName\": {\n \"propertyOrder\": 1005,\n \"title\": \"TCA Policy Scope Name\",\n \"type\": \"string\"\n },\n \"controlLoopSchemaType\": {\n \"propertyOrder\": 1003,\n \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n \"type\": \"string\",\n \"enum\": [\n \"VM\",\n \"VNF\"\n ]\n },\n \"policyScope\": {\n \"propertyOrder\": 1006,\n \"title\": \"TCA Policy Scope\",\n \"type\": \"string\"\n },\n \"eventName\": {\n \"propertyOrder\": 1004,\n \"title\": \"Event name to which thresholds need to be applied\",\n \"type\": \"string\"\n }\n }\n }\n }\n }\n }\n }\n}','onap.policies.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n onap.policies.Monitoring:\n derived_from: tosca.policies.Root\n description: a base policy type for all policies that governs monitoring provisioning\n onap.policies.monitoring.cdap.tca.hi.lo.app:\n derived_from: onap.policies.Monitoring\n version: 1.0.0\n properties:\n tca_policy:\n type: map\n description: TCA Policy JSON\n entry_schema:\n type: onap.datatypes.monitoring.tca_policy\ndata_types:\n onap.datatypes.monitoring.metricsPerEventName:\n derived_from: tosca.datatypes.Root\n properties:\n controlLoopSchemaType:\n type: string\n required: true\n description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n constraints:\n - valid_values:\n - VM\n - VNF\n eventName:\n type: string\n required: true\n description: Event name to which thresholds need to be applied\n policyName:\n type: string\n required: true\n description: TCA Policy Scope Name\n policyScope:\n type: string\n required: true\n description: TCA Policy Scope\n policyVersion:\n type: string\n required: true\n description: TCA Policy Scope Version\n thresholds:\n type: list\n required: true\n description: Thresholds associated with eventName\n entry_schema:\n type: onap.datatypes.monitoring.thresholds\n onap.datatypes.monitoring.tca_policy:\n derived_from: tosca.datatypes.Root\n properties:\n domain:\n type: string\n required: true\n description: Domain name to which TCA needs to be applied\n default: measurementsForVfScaling\n constraints:\n - equal: measurementsForVfScaling\n metricsPerEventName:\n type: list\n required: true\n description: Contains eventName and threshold details that need to be applied to given eventName\n entry_schema:\n type: onap.datatypes.monitoring.metricsPerEventName\n onap.datatypes.monitoring.thresholds:\n derived_from: tosca.datatypes.Root\n properties:\n closedLoopControlName:\n type: string\n required: true\n description: Closed Loop Control Name associated with the threshold\n closedLoopEventStatus:\n type: string\n required: true\n description: Closed Loop Event Status of the threshold\n constraints:\n - valid_values:\n - ONSET\n - ABATED\n direction:\n type: string\n required: true\n description: Direction of the threshold\n constraints:\n - valid_values:\n - LESS\n - LESS_OR_EQUAL\n - GREATER\n - GREATER_OR_EQUAL\n - EQUAL\n fieldPath:\n type: string\n required: true\n description: Json field Path as per CEF message which needs to be analyzed for TCA\n constraints:\n - valid_values:\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n - $.event.measurementsForVfScalingFields.meanRequestLatency\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n severity:\n type: string\n required: true\n description: Threshold Event Severity\n constraints:\n - valid_values:\n - CRITICAL\n - MAJOR\n - MINOR\n - WARNING\n - NORMAL\n thresholdValue:\n type: integer\n required: true\n description: Threshold value for the field Path inside CEF message\n version:\n type: string\n required: true\n description: Version number associated with the threshold\n','{\n \"domain\": \"measurementsForVfScaling\",\n \"metricsPerEventName\": [\n {\n \"policyVersion\": \"1.0.0\",\n \"thresholds\": [\n {\n \"severity\": \"CRITICAL\",\n \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n \"thresholdValue\": 10,\n \"closedLoopEventStatus\": \"ONSET\",\n \"closedLoopControlName\": \"LOOP_ejh5S_v1_0_ResourceInstanceName1_tca\",\n \"version\": \"1.0.2\",\n \"direction\": \"LESS\"\n }\n ],\n \"policyName\": \"test\",\n \"controlLoopSchemaType\": \"VM\",\n \"policyScope\": \"test\",\n \"eventName\": \"test\"\n }\n ]\n}','\0');
+INSERT INTO `micro_service_policies` VALUES ('tca_k8s_ejh5S_v1_0_ResourceInstanceName1_tca_3','{\n \"schema\": {\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"type\": \"array\",\n \"title\": \"TCA Policy JSON\",\n \"items\": {\n \"type\": \"object\",\n \"title\": \"TCA Policy JSON\",\n \"required\": [\n \"domain\",\n \"metricsPerEventName\"\n ],\n \"properties\": {\n \"domain\": {\n \"propertyOrder\": 1001,\n \"default\": \"measurementsForVfScaling\",\n \"title\": \"Domain name to which TCA needs to be applied\",\n \"type\": \"string\"\n },\n \"metricsPerEventName\": {\n \"propertyOrder\": 1002,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"controlLoopSchemaType\",\n \"eventName\",\n \"policyName\",\n \"policyScope\",\n \"policyVersion\",\n \"thresholds\"\n ],\n \"properties\": {\n \"policyVersion\": {\n \"propertyOrder\": 1007,\n \"title\": \"TCA Policy Scope Version\",\n \"type\": \"string\"\n },\n \"thresholds\": {\n \"propertyOrder\": 1008,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Thresholds associated with eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"closedLoopControlName\",\n \"closedLoopEventStatus\",\n \"direction\",\n \"fieldPath\",\n \"severity\",\n \"thresholdValue\",\n \"version\"\n ],\n \"properties\": {\n \"severity\": {\n \"propertyOrder\": 1013,\n \"title\": \"Threshold Event Severity\",\n \"type\": \"string\",\n \"enum\": [\n \"CRITICAL\",\n \"MAJOR\",\n \"MINOR\",\n \"WARNING\",\n \"NORMAL\"\n ]\n },\n \"fieldPath\": {\n \"propertyOrder\": 1012,\n \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n \"type\": \"string\",\n \"enum\": [\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n ]\n },\n \"thresholdValue\": {\n \"propertyOrder\": 1014,\n \"title\": \"Threshold value for the field Path inside CEF message\",\n \"type\": \"integer\"\n },\n \"closedLoopEventStatus\": {\n \"propertyOrder\": 1010,\n \"title\": \"Closed Loop Event Status of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"ONSET\",\n \"ABATED\"\n ]\n },\n \"closedLoopControlName\": {\n \"propertyOrder\": 1009,\n \"title\": \"Closed Loop Control Name associated with the threshold\",\n \"type\": \"string\"\n },\n \"version\": {\n \"propertyOrder\": 1015,\n \"title\": \"Version number associated with the threshold\",\n \"type\": \"string\"\n },\n \"direction\": {\n \"propertyOrder\": 1011,\n \"title\": \"Direction of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"LESS\",\n \"LESS_OR_EQUAL\",\n \"GREATER\",\n \"GREATER_OR_EQUAL\",\n \"EQUAL\"\n ]\n }\n }\n }\n },\n \"policyName\": {\n \"propertyOrder\": 1005,\n \"title\": \"TCA Policy Scope Name\",\n \"type\": \"string\"\n },\n \"controlLoopSchemaType\": {\n \"propertyOrder\": 1003,\n \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n \"type\": \"string\",\n \"enum\": [\n \"VM\",\n \"VNF\"\n ]\n },\n \"policyScope\": {\n \"propertyOrder\": 1006,\n \"title\": \"TCA Policy Scope\",\n \"type\": \"string\"\n },\n \"eventName\": {\n \"propertyOrder\": 1004,\n \"title\": \"Event name to which thresholds need to be applied\",\n \"type\": \"string\"\n }\n }\n }\n }\n }\n }\n }\n}','onap.policies.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n onap.policies.Monitoring:\n derived_from: tosca.policies.Root\n description: a base policy type for all policies that governs monitoring provisioning\n onap.policies.monitoring.cdap.tca.hi.lo.app:\n derived_from: onap.policies.Monitoring\n version: 1.0.0\n properties:\n tca_policy:\n type: map\n description: TCA Policy JSON\n entry_schema:\n type: onap.datatypes.monitoring.tca_policy\ndata_types:\n onap.datatypes.monitoring.metricsPerEventName:\n derived_from: tosca.datatypes.Root\n properties:\n controlLoopSchemaType:\n type: string\n required: true\n description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n constraints:\n - valid_values:\n - VM\n - VNF\n eventName:\n type: string\n required: true\n description: Event name to which thresholds need to be applied\n policyName:\n type: string\n required: true\n description: TCA Policy Scope Name\n policyScope:\n type: string\n required: true\n description: TCA Policy Scope\n policyVersion:\n type: string\n required: true\n description: TCA Policy Scope Version\n thresholds:\n type: list\n required: true\n description: Thresholds associated with eventName\n entry_schema:\n type: onap.datatypes.monitoring.thresholds\n onap.datatypes.monitoring.tca_policy:\n derived_from: tosca.datatypes.Root\n properties:\n domain:\n type: string\n required: true\n description: Domain name to which TCA needs to be applied\n default: measurementsForVfScaling\n constraints:\n - equal: measurementsForVfScaling\n metricsPerEventName:\n type: list\n required: true\n description: Contains eventName and threshold details that need to be applied to given eventName\n entry_schema:\n type: onap.datatypes.monitoring.metricsPerEventName\n onap.datatypes.monitoring.thresholds:\n derived_from: tosca.datatypes.Root\n properties:\n closedLoopControlName:\n type: string\n required: true\n description: Closed Loop Control Name associated with the threshold\n closedLoopEventStatus:\n type: string\n required: true\n description: Closed Loop Event Status of the threshold\n constraints:\n - valid_values:\n - ONSET\n - ABATED\n direction:\n type: string\n required: true\n description: Direction of the threshold\n constraints:\n - valid_values:\n - LESS\n - LESS_OR_EQUAL\n - GREATER\n - GREATER_OR_EQUAL\n - EQUAL\n fieldPath:\n type: string\n required: true\n description: Json field Path as per CEF message which needs to be analyzed for TCA\n constraints:\n - valid_values:\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n - $.event.measurementsForVfScalingFields.meanRequestLatency\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n severity:\n type: string\n required: true\n description: Threshold Event Severity\n constraints:\n - valid_values:\n - CRITICAL\n - MAJOR\n - MINOR\n - WARNING\n - NORMAL\n thresholdValue:\n type: integer\n required: true\n description: Threshold value for the field Path inside CEF message\n version:\n type: string\n required: true\n description: Version number associated with the threshold\n',NULL,'\0');
+INSERT INTO `micro_service_policies` VALUES ('tca_k8s_ejh5S_v1_0_ResourceInstanceName2_tca_2','{\n \"schema\": {\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"type\": \"array\",\n \"title\": \"TCA Policy JSON\",\n \"items\": {\n \"type\": \"object\",\n \"title\": \"TCA Policy JSON\",\n \"required\": [\n \"domain\",\n \"metricsPerEventName\"\n ],\n \"properties\": {\n \"domain\": {\n \"propertyOrder\": 1001,\n \"default\": \"measurementsForVfScaling\",\n \"title\": \"Domain name to which TCA needs to be applied\",\n \"type\": \"string\"\n },\n \"metricsPerEventName\": {\n \"propertyOrder\": 1002,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"controlLoopSchemaType\",\n \"eventName\",\n \"policyName\",\n \"policyScope\",\n \"policyVersion\",\n \"thresholds\"\n ],\n \"properties\": {\n \"policyVersion\": {\n \"propertyOrder\": 1007,\n \"title\": \"TCA Policy Scope Version\",\n \"type\": \"string\"\n },\n \"thresholds\": {\n \"propertyOrder\": 1008,\n \"uniqueItems\": \"true\",\n \"format\": \"tabs-top\",\n \"title\": \"Thresholds associated with eventName\",\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"required\": [\n \"closedLoopControlName\",\n \"closedLoopEventStatus\",\n \"direction\",\n \"fieldPath\",\n \"severity\",\n \"thresholdValue\",\n \"version\"\n ],\n \"properties\": {\n \"severity\": {\n \"propertyOrder\": 1013,\n \"title\": \"Threshold Event Severity\",\n \"type\": \"string\",\n \"enum\": [\n \"CRITICAL\",\n \"MAJOR\",\n \"MINOR\",\n \"WARNING\",\n \"NORMAL\"\n ]\n },\n \"fieldPath\": {\n \"propertyOrder\": 1012,\n \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n \"type\": \"string\",\n \"enum\": [\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n ]\n },\n \"thresholdValue\": {\n \"propertyOrder\": 1014,\n \"title\": \"Threshold value for the field Path inside CEF message\",\n \"type\": \"integer\"\n },\n \"closedLoopEventStatus\": {\n \"propertyOrder\": 1010,\n \"title\": \"Closed Loop Event Status of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"ONSET\",\n \"ABATED\"\n ]\n },\n \"closedLoopControlName\": {\n \"propertyOrder\": 1009,\n \"title\": \"Closed Loop Control Name associated with the threshold\",\n \"type\": \"string\"\n },\n \"version\": {\n \"propertyOrder\": 1015,\n \"title\": \"Version number associated with the threshold\",\n \"type\": \"string\"\n },\n \"direction\": {\n \"propertyOrder\": 1011,\n \"title\": \"Direction of the threshold\",\n \"type\": \"string\",\n \"enum\": [\n \"LESS\",\n \"LESS_OR_EQUAL\",\n \"GREATER\",\n \"GREATER_OR_EQUAL\",\n \"EQUAL\"\n ]\n }\n }\n }\n },\n \"policyName\": {\n \"propertyOrder\": 1005,\n \"title\": \"TCA Policy Scope Name\",\n \"type\": \"string\"\n },\n \"controlLoopSchemaType\": {\n \"propertyOrder\": 1003,\n \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n \"type\": \"string\",\n \"enum\": [\n \"VM\",\n \"VNF\"\n ]\n },\n \"policyScope\": {\n \"propertyOrder\": 1006,\n \"title\": \"TCA Policy Scope\",\n \"type\": \"string\"\n },\n \"eventName\": {\n \"propertyOrder\": 1004,\n \"title\": \"Event name to which thresholds need to be applied\",\n \"type\": \"string\"\n }\n }\n }\n }\n }\n }\n }\n}','onap.policies.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n onap.policies.Monitoring:\n derived_from: tosca.policies.Root\n description: a base policy type for all policies that governs monitoring provisioning\n onap.policies.monitoring.cdap.tca.hi.lo.app:\n derived_from: onap.policies.Monitoring\n version: 1.0.0\n properties:\n tca_policy:\n type: map\n description: TCA Policy JSON\n entry_schema:\n type: onap.datatypes.monitoring.tca_policy\ndata_types:\n onap.datatypes.monitoring.metricsPerEventName:\n derived_from: tosca.datatypes.Root\n properties:\n controlLoopSchemaType:\n type: string\n required: true\n description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n constraints:\n - valid_values:\n - VM\n - VNF\n eventName:\n type: string\n required: true\n description: Event name to which thresholds need to be applied\n policyName:\n type: string\n required: true\n description: TCA Policy Scope Name\n policyScope:\n type: string\n required: true\n description: TCA Policy Scope\n policyVersion:\n type: string\n required: true\n description: TCA Policy Scope Version\n thresholds:\n type: list\n required: true\n description: Thresholds associated with eventName\n entry_schema:\n type: onap.datatypes.monitoring.thresholds\n onap.datatypes.monitoring.tca_policy:\n derived_from: tosca.datatypes.Root\n properties:\n domain:\n type: string\n required: true\n description: Domain name to which TCA needs to be applied\n default: measurementsForVfScaling\n constraints:\n - equal: measurementsForVfScaling\n metricsPerEventName:\n type: list\n required: true\n description: Contains eventName and threshold details that need to be applied to given eventName\n entry_schema:\n type: onap.datatypes.monitoring.metricsPerEventName\n onap.datatypes.monitoring.thresholds:\n derived_from: tosca.datatypes.Root\n properties:\n closedLoopControlName:\n type: string\n required: true\n description: Closed Loop Control Name associated with the threshold\n closedLoopEventStatus:\n type: string\n required: true\n description: Closed Loop Event Status of the threshold\n constraints:\n - valid_values:\n - ONSET\n - ABATED\n direction:\n type: string\n required: true\n description: Direction of the threshold\n constraints:\n - valid_values:\n - LESS\n - LESS_OR_EQUAL\n - GREATER\n - GREATER_OR_EQUAL\n - EQUAL\n fieldPath:\n type: string\n required: true\n description: Json field Path as per CEF message which needs to be analyzed for TCA\n constraints:\n - valid_values:\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n - $.event.measurementsForVfScalingFields.meanRequestLatency\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n severity:\n type: string\n required: true\n description: Threshold Event Severity\n constraints:\n - valid_values:\n - CRITICAL\n - MAJOR\n - MINOR\n - WARNING\n - NORMAL\n thresholdValue:\n type: integer\n required: true\n description: Threshold value for the field Path inside CEF message\n version:\n type: string\n required: true\n description: Version number associated with the threshold\n',NULL,'\0');
/*!40000 ALTER TABLE `micro_service_policies` ENABLE KEYS */;
UNLOCK TABLES;
@@ -146,9 +665,9 @@ UNLOCK TABLES;
LOCK TABLES `operational_policies` WRITE;
/*!40000 ALTER TABLE `operational_policies` DISABLE KEYS */;
-INSERT INTO `operational_policies` VALUES ('OPERATIONAL_iYTIP_v1_0_ResourceInstanceName1_tca','{}','LOOP_iYTIP_v1_0_ResourceInstanceName1_tca');
-INSERT INTO `operational_policies` VALUES ('OPERATIONAL_iYTIP_v1_0_ResourceInstanceName1_tca_3','{}','LOOP_iYTIP_v1_0_ResourceInstanceName1_tca_3');
-INSERT INTO `operational_policies` VALUES ('OPERATIONAL_iYTIP_v1_0_ResourceInstanceName2_tca_2','{}','LOOP_iYTIP_v1_0_ResourceInstanceName2_tca_2');
+INSERT INTO `operational_policies` VALUES ('OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca','{\n \"operational_policy\": {\n \"controlLoop\": {\n \"timeout\": \"200\",\n \"abatement\": \"True\",\n \"trigger_policy\": \"Policy1\",\n \"controlLoopName\": \"LOOP_ejh5S_v1_0_ResourceInstanceName1_tca\"\n },\n \"policies\": [\n {\n \"id\": \"Policy1\",\n \"recipe\": \"Restart\",\n \"retry\": \"0\",\n \"timeout\": \"0\",\n \"actor\": \"APPC\",\n \"payload\": \"\",\n \"success\": \"final_success\",\n \"failure\": \"final_failure\",\n \"failure_timeout\": \"final_failure_timeout\",\n \"failure_retries\": \"final_failure_retries\",\n \"failure_exception\": \"final_failure_exception\",\n \"failure_guard\": \"final_failure_guard\",\n \"target\": {\n \"type\": \"VNF\",\n \"resourceID\": \"vLoadBalancerMS\"\n }\n }\n ]\n },\n \"guard_policies\": [\n {\n \"policy-id\": \"guard.minmax.new\",\n \"content\": {\n \"actor\": \"APPC\",\n \"recipe\": \"Restart\",\n \"targets\": \".*\",\n \"clname\": \"LOOP_ejh5S_v1_0_ResourceInstanceName1_tca\",\n \"guardActiveStart\": \"00:00:00Z\",\n \"guardActiveEnd\": \"10:00:00Z\",\n \"min\": \"0\",\n \"max\": \"1\"\n }\n }\n ]\n}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `operational_policies` VALUES ('OPERATIONAL_ejh5S_v1_0_ResourceInstanceName1_tca_3','{\n \"operational_policy\": {\n \"controlLoop\": {\n \"controlLoopName\": \"LOOP_ejh5S_v1_0_ResourceInstanceName1_tca_3\"\n }\n }\n}','LOOP_ejh5S_v1_0_ResourceInstanceName1_tca_3');
+INSERT INTO `operational_policies` VALUES ('OPERATIONAL_ejh5S_v1_0_ResourceInstanceName2_tca_2','{\n \"operational_policy\": {\n \"controlLoop\": {\n \"controlLoopName\": \"LOOP_ejh5S_v1_0_ResourceInstanceName2_tca_2\"\n }\n }\n}','LOOP_ejh5S_v1_0_ResourceInstanceName2_tca_2');
/*!40000 ALTER TABLE `operational_policies` ENABLE KEYS */;
UNLOCK TABLES;
@@ -214,4 +733,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2019-04-09 8:06:05
+-- Dump completed on 2019-08-27 11:53:07
diff --git a/src/test/resources/tosca/guard1-policy-payload.json b/src/test/resources/tosca/guard1-policy-payload.json
index b4e0809c9..1c03df306 100644
--- a/src/test/resources/tosca/guard1-policy-payload.json
+++ b/src/test/resources/tosca/guard1-policy-payload.json
@@ -1,16 +1,13 @@
{
- "policy-id": "guard1",
+ "policy-id": "guard.minmax.new",
"content": {
- "recipe": "Rebuild",
- "actor": "SO",
- "clname": "testloop",
+ "actor": "APPC",
+ "recipe": "Restart",
"targets": ".*",
- "min": "3",
- "max": "7",
- "limit": "",
- "timeUnits": "",
- "timeWindow": "",
- "guardActiveStart": "00:00:01-05:00",
- "guardActiveEnd": "23:59:01-05:00"
+ "clname": "LOOP_ASJOy_v1_0_ResourceInstanceName1_tca",
+ "guardActiveStart": "00:00:00Z",
+ "guardActiveEnd": "10:00:00Z",
+ "min": "0",
+ "max": "1"
}
} \ No newline at end of file
diff --git a/src/test/resources/tosca/guard2-policy-payload.json b/src/test/resources/tosca/guard2-policy-payload.json
index 29beb6b98..559a56840 100644
--- a/src/test/resources/tosca/guard2-policy-payload.json
+++ b/src/test/resources/tosca/guard2-policy-payload.json
@@ -1,16 +1,14 @@
{
- "policy-id": "guard2",
+ "policy-id": "guard.frequency.new",
"content": {
- "recipe": "Migrate",
- "actor": "SO",
- "clname": "testloop",
+ "actor": "APPC",
+ "recipe": "Rebuild",
"targets": ".*",
- "min": "1",
- "max": "2",
- "limit": "",
- "timeUnits": "",
- "timeWindow": "",
- "guardActiveStart": "00:00:01-05:00",
- "guardActiveEnd": "23:59:01-05:00"
+ "clname": "LOOP_ASJOy_v1_0_ResourceInstanceName1_tca",
+ "guardActiveStart": "00:00:00Z",
+ "guardActiveEnd": "10:00:00Z",
+ "limit": "1",
+ "timeWindow": "2",
+ "timeUnits": "minute"
}
} \ No newline at end of file
diff --git a/src/test/resources/tosca/operational-policy-json-schema.json b/src/test/resources/tosca/operational-policy-json-schema.json
new file mode 100644
index 000000000..d6870dc9d
--- /dev/null
+++ b/src/test/resources/tosca/operational-policy-json-schema.json
@@ -0,0 +1,574 @@
+{
+ "schema": {
+ "uniqueItems": "true",
+ "format": "tabs",
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 1,
+ "title": "Operational policies",
+ "items": {
+ "type": "object",
+ "title": "Operational Policy Item",
+ "id": "operational_policy_item",
+ "headerTemplate": "{{self.name}}",
+ "required": [
+ "name",
+ "configurationsJson"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Operational policy name",
+ "readOnly": "True"
+ },
+ "configurationsJson": {
+ "type": "object",
+ "title": "Configuration",
+ "required": [
+ "operational_policy",
+ "guard_policies"
+ ],
+ "properties": {
+ "operational_policy": {
+ "type": "object",
+ "title": "Related Parameters",
+ "required": [
+ "controlLoop",
+ "policies"
+ ],
+ "properties": {
+ "controlLoop": {
+ "type": "object",
+ "title": "Control Loop details",
+ "required": [
+ "timeout",
+ "abatement",
+ "trigger_policy",
+ "controlLoopName"
+ ],
+ "properties": {
+ "timeout": {
+ "type": "string",
+ "title": "Overall Time Limit",
+ "default": "0",
+ "format": "number"
+ },
+ "abatement": {
+ "type": "string",
+ "title": "Abatement",
+ "enum": [
+ "True",
+ "False"
+ ]
+ },
+ "trigger_policy": {
+ "type": "string",
+ "title": "Policy Decision Entry"
+ },
+ "controlLoopName": {
+ "type": "string",
+ "title": "Control loop name",
+ "readOnly": "True"
+ }
+ }
+ },
+ "policies": {
+ "uniqueItems": "true",
+ "id": "policies_array",
+ "type": "array",
+ "title": "Policy Decision Tree",
+ "format": "tabs-top",
+ "items": {
+ "title": "Policy Decision",
+ "type": "object",
+ "id": "policy_item",
+ "headerTemplate": "{{self.id}} - {{self.recipe}}",
+ "format": "categories",
+ "basicCategoryTitle": "recipe",
+ "required": [
+ "id",
+ "recipe",
+ "retry",
+ "timeout",
+ "actor",
+ "success",
+ "failure",
+ "failure_timeout",
+ "failure_retries",
+ "failure_exception",
+ "failure_guard",
+ "target"
+ ],
+ "properties": {
+ "id": {
+ "default": "Policy 1",
+ "title": "Policy ID",
+ "type": "string"
+ },
+ "recipe": {
+ "title": "Recipe",
+ "type": "string",
+ "enum": [
+ "Restart",
+ "Rebuild",
+ "Migrate",
+ "Health-Check",
+ "ModifyConfig",
+ "VF Module Create",
+ "VF Module Delete",
+ "Reroute"
+ ]
+ },
+ "retry": {
+ "default": "0",
+ "title": "Number of Retry",
+ "type": "string",
+ "format": "number"
+ },
+ "timeout": {
+ "default": "0",
+ "title": "Timeout",
+ "type": "string",
+ "format": "number"
+ },
+ "actor": {
+ "title": "Actor",
+ "type": "string",
+ "enum": [
+ "APPC",
+ "SO",
+ "VFC",
+ "SDNC",
+ "SDNR"
+ ]
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "string",
+ "format": "textarea"
+ },
+ "success": {
+ "default": "final_success",
+ "title": "When Success",
+ "type": "string"
+ },
+ "failure": {
+ "default": "final_failure",
+ "title": "When Failure",
+ "type": "string"
+ },
+ "failure_timeout": {
+ "default": "final_failure_timeout",
+ "title": "When Failure Timeout",
+ "type": "string"
+ },
+ "failure_retries": {
+ "default": "final_failure_retries",
+ "title": "When Failure Retries",
+ "type": "string"
+ },
+ "failure_exception": {
+ "default": "final_failure_exception",
+ "title": "When Failure Exception",
+ "type": "string"
+ },
+ "failure_guard": {
+ "default": "final_failure_guard",
+ "title": "When Failure Guard",
+ "type": "string"
+ },
+ "target": {
+ "type": "object",
+ "required": [
+ "type",
+ "resourceID"
+ ],
+ "anyOf": [
+ {
+ "title": "User Defined",
+ "additionalProperties": "True",
+ "properties": {
+ "type": {
+ "title": "Target type",
+ "type": "string",
+ "default": "",
+ "enum": [
+ "VNF",
+ "VFMODULE",
+ "VM"
+ ]
+ },
+ "resourceID": {
+ "title": "Target type",
+ "type": "string",
+ "default": ""
+ }
+ }
+ },
+ {
+ "title": "VNF-vLoadBalancerMS 0",
+ "properties": {
+ "type": {
+ "title": "Type",
+ "type": "string",
+ "default": "VNF",
+ "readOnly": "True"
+ },
+ "resourceID": {
+ "title": "Resource ID",
+ "type": "string",
+ "default": "vLoadBalancerMS",
+ "readOnly": "True"
+ }
+ }
+ },
+ {
+ "title": "VFMODULE-Vloadbalancerms..vpkg..module-1",
+ "properties": {
+ "type": {
+ "title": "Type",
+ "type": "string",
+ "default": "VFMODULE",
+ "readOnly": "True"
+ },
+ "resourceID": {
+ "title": "Resource ID",
+ "type": "string",
+ "default": "Vloadbalancerms..vpkg..module-1",
+ "readOnly": "True"
+ },
+ "modelInvariantId": {
+ "title": "Model Invariant Id (ModelInvariantUUID)",
+ "type": "string",
+ "default": "ca052563-eb92-4b5b-ad41-9111768ce043",
+ "readOnly": "True"
+ },
+ "modelVersionId": {
+ "title": "Model Version Id (ModelUUID)",
+ "type": "string",
+ "default": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
+ "readOnly": "True"
+ },
+ "modelName": {
+ "title": "Model Name",
+ "type": "string",
+ "default": "Vloadbalancerms..vpkg..module-1",
+ "readOnly": "True"
+ },
+ "modelVersion": {
+ "title": "Model Version",
+ "type": "string",
+ "default": "1",
+ "readOnly": "True"
+ },
+ "modelCustomizationId": {
+ "title": "Customization ID",
+ "type": "string",
+ "default": "1bffdc31-a37d-4dee-b65c-dde623a76e52",
+ "readOnly": "True"
+ }
+ }
+ },
+ {
+ "title": "VFMODULE-Vloadbalancerms..vdns..module-3",
+ "properties": {
+ "type": {
+ "title": "Type",
+ "type": "string",
+ "default": "VFMODULE",
+ "readOnly": "True"
+ },
+ "resourceID": {
+ "title": "Resource ID",
+ "type": "string",
+ "default": "Vloadbalancerms..vdns..module-3",
+ "readOnly": "True"
+ },
+ "modelInvariantId": {
+ "title": "Model Invariant Id (ModelInvariantUUID)",
+ "type": "string",
+ "default": "4c10ba9b-f88f-415e-9de3-5d33336047fa",
+ "readOnly": "True"
+ },
+ "modelVersionId": {
+ "title": "Model Version Id (ModelUUID)",
+ "type": "string",
+ "default": "4fa73b49-8a6c-493e-816b-eb401567b720",
+ "readOnly": "True"
+ },
+ "modelName": {
+ "title": "Model Name",
+ "type": "string",
+ "default": "Vloadbalancerms..vdns..module-3",
+ "readOnly": "True"
+ },
+ "modelVersion": {
+ "title": "Model Version",
+ "type": "string",
+ "default": "1",
+ "readOnly": "True"
+ },
+ "modelCustomizationId": {
+ "title": "Customization ID",
+ "type": "string",
+ "default": "bafcdab0-801d-4d81-9ead-f464640a38b1",
+ "readOnly": "True"
+ }
+ }
+ },
+ {
+ "title": "VFMODULE-Vloadbalancerms..base_template..module-0",
+ "properties": {
+ "type": {
+ "title": "Type",
+ "type": "string",
+ "default": "VFMODULE",
+ "readOnly": "True"
+ },
+ "resourceID": {
+ "title": "Resource ID",
+ "type": "string",
+ "default": "Vloadbalancerms..base_template..module-0",
+ "readOnly": "True"
+ },
+ "modelInvariantId": {
+ "title": "Model Invariant Id (ModelInvariantUUID)",
+ "type": "string",
+ "default": "921f7c96-ebdd-42e6-81b9-1cfc0c9796f3",
+ "readOnly": "True"
+ },
+ "modelVersionId": {
+ "title": "Model Version Id (ModelUUID)",
+ "type": "string",
+ "default": "63734409-f745-4e4d-a38b-131638a0edce",
+ "readOnly": "True"
+ },
+ "modelName": {
+ "title": "Model Name",
+ "type": "string",
+ "default": "Vloadbalancerms..base_template..module-0",
+ "readOnly": "True"
+ },
+ "modelVersion": {
+ "title": "Model Version",
+ "type": "string",
+ "default": "1",
+ "readOnly": "True"
+ },
+ "modelCustomizationId": {
+ "title": "Customization ID",
+ "type": "string",
+ "default": "86baddea-c730-4fb8-9410-cd2e17fd7f27",
+ "readOnly": "True"
+ }
+ }
+ },
+ {
+ "title": "VFMODULE-Vloadbalancerms..vlb..module-2",
+ "properties": {
+ "type": {
+ "title": "Type",
+ "type": "string",
+ "default": "VFMODULE",
+ "readOnly": "True"
+ },
+ "resourceID": {
+ "title": "Resource ID",
+ "type": "string",
+ "default": "Vloadbalancerms..vlb..module-2",
+ "readOnly": "True"
+ },
+ "modelInvariantId": {
+ "title": "Model Invariant Id (ModelInvariantUUID)",
+ "type": "string",
+ "default": "a772a1f4-0064-412c-833d-4749b15828dd",
+ "readOnly": "True"
+ },
+ "modelVersionId": {
+ "title": "Model Version Id (ModelUUID)",
+ "type": "string",
+ "default": "0f5c3f6a-650a-4303-abb6-fff3e573a07a",
+ "readOnly": "True"
+ },
+ "modelName": {
+ "title": "Model Name",
+ "type": "string",
+ "default": "Vloadbalancerms..vlb..module-2",
+ "readOnly": "True"
+ },
+ "modelVersion": {
+ "title": "Model Version",
+ "type": "string",
+ "default": "1",
+ "readOnly": "True"
+ },
+ "modelCustomizationId": {
+ "title": "Customization ID",
+ "type": "string",
+ "default": "96a78aad-4ffb-4ef0-9c4f-deb03bf1d806",
+ "readOnly": "True"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "guard_policies": {
+ "type": "array",
+ "format": "tabs-top",
+ "title": "Associated Guard policies",
+ "items": {
+ "headerTemplate": "{{self.policy-id}} - {{self.content.recipe}}",
+ "anyOf": [
+ {
+ "title": "Guard MinMax",
+ "type": "object",
+ "properties": {
+ "policy-id": {
+ "type": "string",
+ "default": "guard.minmax.new",
+ "pattern": "^(guard.minmax\\..*)$"
+ },
+ "content": {
+ "properties": {
+ "actor": {
+ "type": "string",
+ "enum": [
+ "APPC",
+ "SO",
+ "VFC",
+ "SDNC",
+ "SDNR"
+ ]
+ },
+ "recipe": {
+ "type": "string",
+ "enum": [
+ "Restart",
+ "Rebuild",
+ "Migrate",
+ "Health-Check",
+ "ModifyConfig",
+ "VF Module Create",
+ "VF Module Delete",
+ "Reroute"
+ ]
+ },
+ "targets": {
+ "type": "string",
+ "default": ".*"
+ },
+ "clname": {
+ "type": "string",
+ "template": "{{loopName}}",
+ "watch": {
+ "loopName": "operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName"
+ }
+ },
+ "guardActiveStart": {
+ "type": "string",
+ "default": "00:00:00Z"
+ },
+ "guardActiveEnd": {
+ "type": "string",
+ "default": "10:00:00Z"
+ },
+ "min": {
+ "type": "string",
+ "default": "0"
+ },
+ "max": {
+ "type": "string",
+ "default": "1"
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Guard Frequency",
+ "type": "object",
+ "properties": {
+ "policy-id": {
+ "type": "string",
+ "default": "guard.frequency.new",
+ "pattern": "^(guard.frequency\\..*)$"
+ },
+ "content": {
+ "properties": {
+ "actor": {
+ "type": "string",
+ "enum": [
+ "APPC",
+ "SO",
+ "VFC",
+ "SDNC",
+ "SDNR"
+ ]
+ },
+ "recipe": {
+ "type": "string",
+ "enum": [
+ "Restart",
+ "Rebuild",
+ "Migrate",
+ "Health-Check",
+ "ModifyConfig",
+ "VF Module Create",
+ "VF Module Delete",
+ "Reroute"
+ ]
+ },
+ "targets": {
+ "type": "string",
+ "default": ".*"
+ },
+ "clname": {
+ "type": "string",
+ "template": "{{loopName}}",
+ "watch": {
+ "loopName": "operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName"
+ }
+ },
+ "guardActiveStart": {
+ "type": "string",
+ "default": "00:00:00Z"
+ },
+ "guardActiveEnd": {
+ "type": "string",
+ "default": "10:00:00Z"
+ },
+ "limit": {
+ "type": "string"
+ },
+ "timeWindow": {
+ "type": "string"
+ },
+ "timeUnits": {
+ "type": "string",
+ "enum": [
+ "minute",
+ "hour",
+ "day",
+ "week",
+ "month",
+ "year"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/tosca/operational-policy-payload-legacy.yaml b/src/test/resources/tosca/operational-policy-payload-legacy.yaml
index 41184c9c9..4d2b9f361 100644
--- a/src/test/resources/tosca/operational-policy-payload-legacy.yaml
+++ b/src/test/resources/tosca/operational-policy-payload-legacy.yaml
@@ -1,39 +1,43 @@
controlLoop:
abatement: true
- controlLoopName: control loop
- timeout: 30
- trigger_policy: new1
- version: 2.0.0
+ controlLoopName: LOOP_ASJOy_v1_0_ResourceInstanceName1_tca
+ timeout: 0
+ trigger_policy: policy1
policies:
-- actor: SO
- failure: new2
- failure_exception: new2
- failure_guard: new2
- failure_retries: new2
- failure_timeout: new2
- id: new1
+- actor: APPC
+ failure: policy2
+ failure_exception: final_failure_exception
+ failure_guard: final_failure_guard
+ failure_retries: final_failure_retries
+ failure_timeout: final_failure_timeout
+ id: policy1
payload:
configurationParameters: '[{"ip-addr":"$.vf-module-topology.vf-module-parameters.param[10].value","oam-ip-addr":"$.vf-module-topology.vf-module-parameters.param[15].value","enabled":"$.vf-module-topology.vf-module-parameters.param[22].value"}]'
requestParameters: '{"usePreload":true,"userParams":[]}'
- recipe: Rebuild
- retry: 10
- success: new2
+ recipe: Restart
+ retry: 0
+ success: final_success
target:
- resourceTargetId: test
- type: VFC
- timeout: 20
-- actor: SDNC
+ resourceID: vLoadBalancerMS
+ type: VNF
+ timeout: 0
+- actor: SO
failure: final_failure
failure_exception: final_failure_exception
failure_guard: final_failure_guard
failure_retries: final_failure_retries
failure_timeout: final_failure_timeout
- id: new2
+ id: policy2
payload: ''
- recipe: Migrate
- retry: 30
+ recipe: VF Module Create
+ retry: 0
success: final_success
target:
- resourceTargetId: test
- type: VFC
- timeout: 40
+ modelCustomizationId: 1bffdc31-a37d-4dee-b65c-dde623a76e52
+ modelInvariantId: ca052563-eb92-4b5b-ad41-9111768ce043
+ modelName: Vloadbalancerms..vpkg..module-1
+ modelVersion: 1
+ modelVersionId: 1e725ccc-b823-4f67-82b9-4f4367070dbc
+ resourceID: Vloadbalancerms..vpkg..module-1
+ type: VFMODULE
+ timeout: 0
diff --git a/src/test/resources/tosca/operational-policy-payload.json b/src/test/resources/tosca/operational-policy-payload.json
index 5097654da..ed0197606 100644
--- a/src/test/resources/tosca/operational-policy-payload.json
+++ b/src/test/resources/tosca/operational-policy-payload.json
@@ -1,4 +1,4 @@
{
"policy-id": "testPolicy",
- "content": "controlLoop%3A%0A++abatement%3A+true%0A++controlLoopName%3A+control+loop%0A++timeout%3A+30%0A++trigger_policy%3A+new1%0A++version%3A+2.0.0%0Apolicies%3A%0A-+actor%3A+SO%0A++failure%3A+new2%0A++failure_exception%3A+new2%0A++failure_guard%3A+new2%0A++failure_retries%3A+new2%0A++failure_timeout%3A+new2%0A++id%3A+new1%0A++payload%3A%0A++++configurationParameters%3A+%27%5B%7B%22ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B10%5D.value%22%2C%22oam-ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B15%5D.value%22%2C%22enabled%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B22%5D.value%22%7D%5D%27%0A++++requestParameters%3A+%27%7B%22usePreload%22%3Atrue%2C%22userParams%22%3A%5B%5D%7D%27%0A++recipe%3A+Rebuild%0A++retry%3A+10%0A++success%3A+new2%0A++target%3A%0A++++resourceTargetId%3A+test%0A++++type%3A+VFC%0A++timeout%3A+20%0A-+actor%3A+SDNC%0A++failure%3A+final_failure%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+new2%0A++payload%3A+%27%27%0A++recipe%3A+Migrate%0A++retry%3A+30%0A++success%3A+final_success%0A++target%3A%0A++++resourceTargetId%3A+test%0A++++type%3A+VFC%0A++timeout%3A+40%0A"
+ "content": "controlLoop%3A%0A++abatement%3A+true%0A++controlLoopName%3A+LOOP_ASJOy_v1_0_ResourceInstanceName1_tca%0A++timeout%3A+0%0A++trigger_policy%3A+policy1%0Apolicies%3A%0A-+actor%3A+APPC%0A++failure%3A+policy2%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy1%0A++payload%3A%0A++++configurationParameters%3A+%27%5B%7B%22ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B10%5D.value%22%2C%22oam-ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B15%5D.value%22%2C%22enabled%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B22%5D.value%22%7D%5D%27%0A++++requestParameters%3A+%27%7B%22usePreload%22%3Atrue%2C%22userParams%22%3A%5B%5D%7D%27%0A++recipe%3A+Restart%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++resourceID%3A+vLoadBalancerMS%0A++++type%3A+VNF%0A++timeout%3A+0%0A-+actor%3A+SO%0A++failure%3A+final_failure%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy2%0A++payload%3A+%27%27%0A++recipe%3A+VF+Module+Create%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++modelCustomizationId%3A+1bffdc31-a37d-4dee-b65c-dde623a76e52%0A++++modelInvariantId%3A+ca052563-eb92-4b5b-ad41-9111768ce043%0A++++modelName%3A+Vloadbalancerms..vpkg..module-1%0A++++modelVersion%3A+1%0A++++modelVersionId%3A+1e725ccc-b823-4f67-82b9-4f4367070dbc%0A++++resourceID%3A+Vloadbalancerms..vpkg..module-1%0A++++type%3A+VFMODULE%0A++timeout%3A+0%0A"
} \ No newline at end of file
diff --git a/src/test/resources/tosca/operational-policy-payload.yaml b/src/test/resources/tosca/operational-policy-payload.yaml
index c3a6b5c23..ed03842f5 100644
--- a/src/test/resources/tosca/operational-policy-payload.yaml
+++ b/src/test/resources/tosca/operational-policy-payload.yaml
@@ -8,35 +8,45 @@ topology_template:
policy-id: testPolicy
properties:
controlLoop:
- controlLoopName: control loop
- version: 2.0.0
- trigger_policy: new1
- timeout: '30'
- abatement: 'true'
+ timeout: '0'
+ abatement: 'True'
+ trigger_policy: policy1
+ controlLoopName: LOOP_ASJOy_v1_0_ResourceInstanceName1_tca
policies:
- - id: new1
- recipe: Rebuild
- retry: '10'
- timeout: '20'
- actor: SO
+ - id: policy1
+ recipe: Restart
+ retry: '0'
+ timeout: '0'
+ actor: APPC
payload:
requestParameters: '{"usePreload":true,"userParams":[]}'
configurationParameters: '[{"ip-addr":"$.vf-module-topology.vf-module-parameters.param[10].value","oam-ip-addr":"$.vf-module-topology.vf-module-parameters.param[15].value","enabled":"$.vf-module-topology.vf-module-parameters.param[22].value"}]'
- success: new2
- failure: new2
- failure_timeout: new2
- failure_retries: new2
- failure_exception: new2
- failure_guard: new2
+ success: final_success
+ failure: policy2
+ failure_timeout: final_failure_timeout
+ failure_retries: final_failure_retries
+ failure_exception: final_failure_exception
+ failure_guard: final_failure_guard
target:
- type: VFC
- resourceTargetId: test
- - id: new2
- recipe: Migrate
- retry: '30'
- timeout: '40'
- actor: SDNC
+ type: VNF
+ resourceID: vLoadBalancerMS
+ - id: policy2
+ recipe: VF Module Create
+ retry: '0'
+ timeout: '0'
+ actor: SO
payload: ''
+ success: final_success
+ failure: final_failure
+ failure_timeout: final_failure_timeout
+ failure_retries: final_failure_retries
+ failure_exception: final_failure_exception
+ failure_guard: final_failure_guard
target:
- type: VFC
- resourceTargetId: test
+ type: VFMODULE
+ resourceID: Vloadbalancerms..vpkg..module-1
+ modelInvariantId: ca052563-eb92-4b5b-ad41-9111768ce043
+ modelVersionId: 1e725ccc-b823-4f67-82b9-4f4367070dbc
+ modelName: Vloadbalancerms..vpkg..module-1
+ modelVersion: '1'
+ modelCustomizationId: 1bffdc31-a37d-4dee-b65c-dde623a76e52
diff --git a/src/test/resources/tosca/operational-policy-properties.json b/src/test/resources/tosca/operational-policy-properties.json
index bfce6b331..ac1314ecb 100644
--- a/src/test/resources/tosca/operational-policy-properties.json
+++ b/src/test/resources/tosca/operational-policy-properties.json
@@ -1,71 +1,82 @@
{
- "guard_policies": {
- "guard1":{
- "recipe": "Rebuild",
- "actor": "SO",
- "clname": "testloop",
- "targets": ".*",
- "min": "3",
- "max": "7",
- "limit": "",
- "timeUnits": "",
- "timeWindow": "",
- "guardActiveStart": "00:00:01-05:00",
- "guardActiveEnd": "23:59:01-05:00"
- },
- "guard2":{
- "recipe": "Migrate",
- "actor": "SO",
- "clname": "testloop",
- "targets": ".*",
- "min": "1",
- "max": "2",
- "limit": "",
- "timeUnits": "",
- "timeWindow": "",
- "guardActiveStart": "00:00:01-05:00",
- "guardActiveEnd": "23:59:01-05:00"
- }
- },
- "operational_policy": {
- "controlLoop": {
- "controlLoopName": "control loop",
- "version": "2.0.0",
- "trigger_policy": "new1",
- "timeout": "30",
- "abatement": "true"
- },
- "policies": [
- {
- "id": "new1",
- "recipe": "Rebuild",
- "retry": "10",
- "timeout": "20",
- "actor": "SO",
- "payload": "requestParameters: '{\"usePreload\":true,\"userParams\":[]}'\r\nconfigurationParameters: '[{\"ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[10].value\",\"oam-ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[15].value\",\"enabled\":\"$.vf-module-topology.vf-module-parameters.param[22].value\"}]'",
- "success": "new2",
- "failure": "new2",
- "failure_timeout": "new2",
- "failure_retries": "new2",
- "failure_exception": "new2",
- "failure_guard": "new2",
- "target": {
- "type": "VFC",
- "resourceTargetId": "test"
- }
- },
- {
- "id": "new2",
- "recipe": "Migrate",
- "retry": "30",
- "timeout": "40",
- "actor": "SDNC",
- "payload": "",
- "target": {
- "type": "VFC",
- "resourceTargetId": "test"
- }
- }
- ]
- }
+ "operational_policy": {
+ "controlLoop": {
+ "timeout": "0",
+ "abatement": "True",
+ "trigger_policy": "policy1",
+ "controlLoopName": "LOOP_ASJOy_v1_0_ResourceInstanceName1_tca"
+ },
+ "policies": [
+ {
+ "id": "policy1",
+ "recipe": "Restart",
+ "retry": "0",
+ "timeout": "0",
+ "actor": "APPC",
+ "payload": "requestParameters: '{\"usePreload\":true,\"userParams\":[]}'\r\nconfigurationParameters: '[{\"ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[10].value\",\"oam-ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[15].value\",\"enabled\":\"$.vf-module-topology.vf-module-parameters.param[22].value\"}]'",
+ "success": "final_success",
+ "failure": "policy2",
+ "failure_timeout": "final_failure_timeout",
+ "failure_retries": "final_failure_retries",
+ "failure_exception": "final_failure_exception",
+ "failure_guard": "final_failure_guard",
+ "target": {
+ "type": "VNF",
+ "resourceID": "vLoadBalancerMS"
+ }
+ },
+ {
+ "id": "policy2",
+ "recipe": "VF Module Create",
+ "retry": "0",
+ "timeout": "0",
+ "actor": "SO",
+ "payload": "",
+ "success": "final_success",
+ "failure": "final_failure",
+ "failure_timeout": "final_failure_timeout",
+ "failure_retries": "final_failure_retries",
+ "failure_exception": "final_failure_exception",
+ "failure_guard": "final_failure_guard",
+ "target": {
+ "type": "VFMODULE",
+ "resourceID": "Vloadbalancerms..vpkg..module-1",
+ "modelInvariantId": "ca052563-eb92-4b5b-ad41-9111768ce043",
+ "modelVersionId": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
+ "modelName": "Vloadbalancerms..vpkg..module-1",
+ "modelVersion": "1",
+ "modelCustomizationId": "1bffdc31-a37d-4dee-b65c-dde623a76e52"
+ }
+ }
+ ]
+ },
+ "guard_policies": [
+ {
+ "policy-id": "guard.minmax.new",
+ "content": {
+ "actor": "APPC",
+ "recipe": "Restart",
+ "targets": ".*",
+ "clname": "LOOP_ASJOy_v1_0_ResourceInstanceName1_tca",
+ "guardActiveStart": "00:00:00Z",
+ "guardActiveEnd": "10:00:00Z",
+ "min": "0",
+ "max": "1"
+ }
+ },
+ {
+ "policy-id": "guard.frequency.new",
+ "content": {
+ "actor": "APPC",
+ "recipe": "Rebuild",
+ "targets": ".*",
+ "clname": "LOOP_ASJOy_v1_0_ResourceInstanceName1_tca",
+ "guardActiveStart": "00:00:00Z",
+ "guardActiveEnd": "10:00:00Z",
+ "limit": "1",
+ "timeWindow": "2",
+ "timeUnits": "minute"
+ }
+ }
+ ]
}
diff --git a/src/test/resources/tosca/pdp-group-policy-payload.json b/src/test/resources/tosca/pdp-group-policy-payload.json
index bf941e516..ad3a5b4c3 100644
--- a/src/test/resources/tosca/pdp-group-policy-payload.json
+++ b/src/test/resources/tosca/pdp-group-policy-payload.json
@@ -4,10 +4,10 @@
"policy-id": "GuardOpPolicyTest"
},
{
- "policy-id": "guard2"
+ "policy-id": "guard.minmax.new"
},
{
- "policy-id": "guard1"
+ "policy-id": "guard.frequency.new"
},
{
"policy-id": "configPolicyTest"