diff options
Diffstat (limited to 'src')
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&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authUsername={{clamp.config.dcae.deployment.userName}}&authPassword={{clamp.config.dcae.deployment.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=300000&authenticationPreemptive=true&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&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authUsername={{clamp.config.dcae.deployment.userName}}&authPassword={{clamp.config.dcae.deployment.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=300000&authenticationPreemptive=true&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&useSystemProperties=true&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authMethod=Basic&authUsername={{clamp.config.dcae.deployment.userName}}&authPassword={{clamp.config.dcae.deployment.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=30000&authenticationPreemptive=true&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&useSystemProperties=true&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authMethod=Basic&authUsername={{clamp.config.policy.api.userName}}&authPassword={{clamp.config.policy.api.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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&useSystemProperties=true&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authMethod=Basic&authUsername={{clamp.config.policy.api.userName}}&authPassword={{clamp.config.policy.api.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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&useSystemProperties=true&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authMethod=Basic&authUsername={{clamp.config.policy.api.userName}}&authPassword={{clamp.config.policy.api.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authUsername={{clamp.config.policy.api.userName}}&authPassword={{clamp.config.policy.api.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&deleteWithBody=false&mapHttpMessageBody=false&mapHttpMessageFormUrlEncodedBody=false&authUsername={{clamp.config.policy.api.userName}}&authPassword={{clamp.config.policy.api.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authUsername={{clamp.config.policy.api.userName}}&authPassword={{clamp.config.policy.api.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&deleteWithBody=false&mapHttpMessageBody=false&mapHttpMessageFormUrlEncodedBody=false&authUsername={{clamp.config.policy.api.userName}}&authPassword={{clamp.config.policy.api.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authUsername={{clamp.config.policy.api.userName}}&authPassword={{clamp.config.policy.api.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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&useSystemProperties=true&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&deleteWithBody=false&mapHttpMessageBody=false&mapHttpMessageFormUrlEncodedBody=false&authUsername={{clamp.config.policy.api.userName}}&authPassword={{clamp.config.policy.api.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&useSystemProperties=true&authUsername={{clamp.config.policy.pap.userName}}&authPassword={{clamp.config.policy.pap.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authUsername={{clamp.config.policy.pap.userName}}&authPassword={{clamp.config.policy.pap.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=20000&authenticationPreemptive=true&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" |