summaryrefslogtreecommitdiffstats
path: root/mod/bpgenerator/onap-executable
diff options
context:
space:
mode:
authorRemigiusz Janeczek <remigiusz.janeczek@nokia.com>2020-12-17 18:20:12 +0100
committerRemigiusz Janeczek <remigiusz.janeczek@nokia.com>2021-01-04 21:52:41 +0000
commit88286a3487c3ec955cc6207be2e70318634ebbd9 (patch)
tree2bd02b0322f4b14c0820b7ec086e9229fd75364c /mod/bpgenerator/onap-executable
parenta3c8fc0395e9518c5f0f064a033f4ab4d7040c61 (diff)
Blueprint Generator - split executable part to separate submodule
Issue-ID: DCAEGEN2-2529 Signed-off-by: Remigiusz Janeczek <remigiusz.janeczek@nokia.com> Change-Id: I0d6a4ac0f6bc8332b79ebcf5ac3bb4aee1c951c6
Diffstat (limited to 'mod/bpgenerator/onap-executable')
-rw-r--r--mod/bpgenerator/onap-executable/pom.xml61
-rw-r--r--mod/bpgenerator/onap-executable/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java113
-rw-r--r--mod/bpgenerator/onap-executable/src/main/resources/application.properties26
-rw-r--r--mod/bpgenerator/onap-executable/src/test/java/org/onap/blueprintgenerator/BlueprintJarComparatorTest.java129
-rw-r--r--mod/bpgenerator/onap-executable/src/test/resources/componentspecs/testImports.yaml4
-rw-r--r--mod/bpgenerator/onap-executable/src/test/resources/componentspecs/ves.json337
6 files changed, 670 insertions, 0 deletions
diff --git a/mod/bpgenerator/onap-executable/pom.xml b/mod/bpgenerator/onap-executable/pom.xml
new file mode 100644
index 0000000..1ec9fef
--- /dev/null
+++ b/mod/bpgenerator/onap-executable/pom.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+============LICENSE_START=======================================================
+Copyright (c) 2020 Nokia. 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=========================================================
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>blueprint-generator</artifactId>
+ <groupId>org.onap.dcaegen2.platform.mod</groupId>
+ <version>1.7.1-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>blueprint-generator-onap-executable</artifactId>
+ <version>1.7.1-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>OnapExecutable</name>
+ <description>This Application is used to generate ONAP Blueprint YAML Files for given Component Specs</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.dcaegen2.platform.mod</groupId>
+ <artifactId>blueprint-generator-onap</artifactId>
+ <version>1.7.1-SNAPSHOT</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ <version>2.2.5.RELEASE</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>repackage</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/mod/bpgenerator/onap-executable/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java b/mod/bpgenerator/onap-executable/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java
new file mode 100644
index 0000000..796424f
--- /dev/null
+++ b/mod/bpgenerator/onap-executable/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java
@@ -0,0 +1,113 @@
+/*
+ *
+ * * ============LICENSE_START=======================================================
+ * * org.onap.dcae
+ * * ================================================================================
+ * * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
+ * * Copyright (c) 2020 Nokia. 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.blueprintgenerator;
+
+
+import static java.lang.System.exit;
+
+import org.onap.blueprintgenerator.model.base.Blueprint;
+import org.onap.blueprintgenerator.model.common.Input;
+import org.onap.blueprintgenerator.model.componentspec.OnapComponentSpec;
+import org.onap.blueprintgenerator.model.componentspec.base.ComponentSpec;
+import org.onap.blueprintgenerator.service.BlueprintCreatorService;
+import org.onap.blueprintgenerator.service.base.BlueprintService;
+import org.onap.blueprintgenerator.service.common.CommonUtils;
+import org.onap.blueprintgenerator.service.common.ComponentSpecService;
+import org.onap.policycreate.service.PolicyModelService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.ComponentScan;
+
+/**
+ * @author : Ravi Mantena
+ * @date 10/16/2020 Application: ONAP - Blueprint Generator ONAP - Blueprint Generator Main
+ * Application to create Policy Models or Blueprints
+ */
+@ComponentScan({"org.onap.blueprintgenerator", "org.onap.policycreate"})
+@SpringBootApplication
+public class BlueprintGeneratorMainApplication implements CommandLineRunner {
+
+ @Autowired
+ private ComponentSpecService componentSpecService;
+
+ @Autowired
+ private PolicyModelService policyModelService;
+
+ @Autowired
+ private CommonUtils commonUtils;
+
+ @Autowired
+ private PolicyModelService onapPolicyModelNodeService;
+
+ @Autowired
+ private ComponentSpecService onapComponentSpecService;
+
+ @Autowired
+ private CommonUtils onapCommonUtils;
+
+ @Autowired
+ private BlueprintCreatorService blueprintCreatorService;
+
+ @Autowired
+ private BlueprintService blueprintService;
+
+ /**
+ * Main Application to run BPGen to generate Policies/Blueprint based on Input Arguments values
+ *
+ * @param args Input Arguments
+ */
+ public static void main(String[] args) {
+ SpringApplication.run(BlueprintGeneratorMainApplication.class, args);
+ }
+
+ /**
+ * Creates Policies/Blueprint based on Input Arguments values
+ *
+ * @param args Input Arguments
+ */
+ @Override
+ public void run(String... args) {
+ if (args.length >= 2 && args[0].equals("app") && args[1].equals("ONAP")) {
+ onapCommonUtils.printInstructions();
+ if (args.length >= 4 && args[2].equals("-type") && args[3].equals("policycreate")) {
+ Input input = onapCommonUtils.parseInputs(args);
+ ComponentSpec componentSpec =
+ componentSpecService.createComponentSpecFromFile(input.getComponentSpecPath());
+ onapPolicyModelNodeService.createPolicyModels(
+ componentSpec.getParameters(), input.getOutputPath());
+ } else {
+ Input input = onapCommonUtils.parseInputs(args);
+ OnapComponentSpec onapComponentSpec = onapComponentSpecService.createComponentSpecFromFile(input.getComponentSpecPath());
+ Blueprint blueprint = blueprintCreatorService.createBlueprint(onapComponentSpec, input);
+ blueprintService.blueprintToYaml(onapComponentSpec, blueprint, input);
+ System.out.println(blueprintService.blueprintToString(onapComponentSpec, blueprint, input));
+ }
+ }
+
+ exit(0);
+ }
+}
diff --git a/mod/bpgenerator/onap-executable/src/main/resources/application.properties b/mod/bpgenerator/onap-executable/src/main/resources/application.properties
new file mode 100644
index 0000000..877b273
--- /dev/null
+++ b/mod/bpgenerator/onap-executable/src/main/resources/application.properties
@@ -0,0 +1,26 @@
+#
+# /*
+# * ============LICENSE_START=======================================================
+# * org.onap.dcae
+# * ================================================================================
+# * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
+# * Copyright (c) 2020 Nokia. 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=========================================================
+# */
+#
+#
+
+spring.main.banner-mode=off
+spring.output.ansi.enabled=ALWAYS
diff --git a/mod/bpgenerator/onap-executable/src/test/java/org/onap/blueprintgenerator/BlueprintJarComparatorTest.java b/mod/bpgenerator/onap-executable/src/test/java/org/onap/blueprintgenerator/BlueprintJarComparatorTest.java
new file mode 100644
index 0000000..973572d
--- /dev/null
+++ b/mod/bpgenerator/onap-executable/src/test/java/org/onap/blueprintgenerator/BlueprintJarComparatorTest.java
@@ -0,0 +1,129 @@
+/*
+ *
+ * * ============LICENSE_START=======================================================
+ * * org.onap.dcae
+ * * ================================================================================
+ * * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
+ * * Copyright (c) 2020 Nokia. 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.blueprintgenerator;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Paths;
+import org.apache.commons.io.FileUtils;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.FixMethodOrder;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+/**
+ * @author : Ravi Mantena
+ * @date 10/16/2020 Application: ONAP - Blueprint Generator ONAP Bueprint Jar Comparision with Previos version to make
+ * sure Bps are not broken with new changes
+ */
+@Ignore
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class BlueprintJarComparatorTest {
+
+ private static final String ves = "ves.json";
+ private static final String testImports = "testImports.yaml";
+ private static final String previousJarVersion = "1.7.0-SNAPSHOT";
+ private static final String latestJarVersion = "1.7.1-SNAPSHOT";
+ private static final String previousVersion = "0_1";
+ private static final String latestVersion = "1_0";
+ private static final String latestJarPath = buildPathAsString("target");
+ private static final String previousJarPath = buildPathAsString("src", "test", "resources", "archives");
+ private static final String inputPath = buildPathAsString("src", "test", "resources", "componentspecs");
+ private static final String outputPath = buildPathAsString("src", "test", "resources", "outputfiles");
+ private static final String previousJar = "blueprint-generator-onap-executable-" + previousJarVersion + ".jar";
+ private static final String latestJar = "blueprint-generator-onap-executable-" + latestJarVersion + ".jar";
+
+ @BeforeClass
+ @AfterClass
+ public static void filesCleanup() throws IOException {
+ FileUtils.deleteDirectory(new File(outputPath));
+ }
+
+ private static String buildPathAsString(String first, String... more) {
+ return Paths.get(first, more).toAbsolutePath().toString() + File.separator;
+ }
+
+ @Test
+ public void jarTestVeswithDmaapK8s() throws IOException, InterruptedException {
+ String inputFileName = ves;
+ String outputFileName = "dcae-ves-collector-dmaap-";
+ String inputImportsFileName = testImports;
+
+ Process process = runBpgenWithDmaap(inputFileName, outputFileName, inputImportsFileName, previousJarPath,
+ previousJar, previousVersion);
+
+ Process process1 = runBpgenWithDmaap(inputFileName, outputFileName, inputImportsFileName, latestJarPath,
+ latestJar, latestVersion);
+
+ process.waitFor();
+ process1.waitFor();
+
+ Assert.assertEquals(
+ "The BluePrint files (" + outputFileName + ") for " + inputFileName + " with -m option don't match!",
+ FileUtils.readFileToString(new File(outputPath + outputFileName + previousVersion + ".yaml"), "utf-8"),
+ FileUtils.readFileToString(new File(outputPath + outputFileName + latestVersion + ".yaml"), "utf-8"));
+ }
+
+ @Test
+ public void jarTestVeswithoutDmaapK8s() throws IOException, InterruptedException {
+ String inputFileName = ves;
+ String outputFileName = "dcae-ves-collector-";
+ String inputImportsFileName = testImports;
+
+ Process process = runBpgenWithoutDmaap(inputFileName, outputFileName, inputImportsFileName, previousJarPath,
+ previousJar, previousVersion);
+
+ Process process1 = runBpgenWithoutDmaap(inputFileName, outputFileName, inputImportsFileName, latestJarPath,
+ latestJar, latestVersion);
+
+ process.waitFor();
+ process1.waitFor();
+
+ Assert.assertEquals(
+ "The BluePrint files (" + outputFileName + ") for " + inputFileName + " with -m option dont match!",
+ FileUtils.readFileToString(new File(outputPath + outputFileName + previousVersion + ".yaml"), "utf-8"),
+ FileUtils.readFileToString(new File(outputPath + outputFileName + latestVersion + ".yaml"), "utf-8"));
+ }
+
+ private Process runBpgenWithoutDmaap(String inputFileName, String outputFileName, String inputImportsFileName,
+ String jarPath, String jarName, String outputFileVersion) throws IOException {
+ String jarCommand = "java -jar " + jarPath + jarName + " app ONAP -i " + inputPath + inputFileName + " -p " +
+ outputPath + " -n " + outputFileName + outputFileVersion + " -t " + inputPath + inputImportsFileName;
+ return Runtime.getRuntime().exec(jarCommand);
+ }
+
+ private Process runBpgenWithDmaap(String inputFileName, String outputFileName, String inputImportsFileName,
+ String jarPath, String jarName, String outputFileVersion) throws IOException {
+ String jarCommand = "java -jar " + jarPath + jarName + " app ONAP -i " + inputPath + inputFileName + " -p " +
+ outputPath + " -n " + outputFileName + outputFileVersion + " -t " + inputPath + inputImportsFileName
+ + " -d";
+ return Runtime.getRuntime().exec(jarCommand);
+ }
+
+}
+
diff --git a/mod/bpgenerator/onap-executable/src/test/resources/componentspecs/testImports.yaml b/mod/bpgenerator/onap-executable/src/test/resources/componentspecs/testImports.yaml
new file mode 100644
index 0000000..42a482d
--- /dev/null
+++ b/mod/bpgenerator/onap-executable/src/test/resources/componentspecs/testImports.yaml
@@ -0,0 +1,4 @@
+imports:
+ - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
+ - plugin:k8splugin?version=3.0.0
+ - plugin:dcaepolicyplugin?version=2.4.0 \ No newline at end of file
diff --git a/mod/bpgenerator/onap-executable/src/test/resources/componentspecs/ves.json b/mod/bpgenerator/onap-executable/src/test/resources/componentspecs/ves.json
new file mode 100644
index 0000000..6655a2c
--- /dev/null
+++ b/mod/bpgenerator/onap-executable/src/test/resources/componentspecs/ves.json
@@ -0,0 +1,337 @@
+{
+ "self": {
+ "version": "1.5.0",
+ "name": "dcae-ves-collector",
+ "description": "Collector for receiving VES events through restful interface",
+ "component_type": "docker"
+ },
+ "streams": {
+ "subscribes": [
+ {
+ "format": "dataformat_Hello_World_PM",
+ "version": "1.0.0",
+ "route": "/TEST_HELLO_WORLD_SUB_MR",
+ "type": "message_router",
+ "config_key": "TEST-SUB-MR"
+ },
+ {
+ "format": "dataformat_Hello_World_PM DR",
+ "version": "1.0.0",
+ "route": "/TEST_HELLO_WORLD_SUB_DR",
+ "type": "data_router",
+ "config_key": "TEST-SUB-DR"
+ }
+ ],
+ "publishes": [
+ {
+ "format": "VES_specification",
+ "version": "5.28.4",
+ "type": "message router",
+ "config_key": "ves-fault"
+ },
+ {
+ "format": "VES_specification",
+ "version": "5.28.4",
+ "type": "message router",
+ "config_key": "ves-measurement"
+ },
+ {
+ "format": "VES_specification",
+ "version": "5.28.4",
+ "type": "message router",
+ "config_key": "ves-other"
+ },
+ {
+ "format": "VES_specification",
+ "version": "5.28.4",
+ "type": "message router",
+ "config_key": "ves-heartbeat-secondary"
+ },
+ {
+ "format": "VES_specification",
+ "version": "7.30.0",
+ "type": "message router",
+ "config_key": "ves-pnfRegistration"
+ },
+ {
+ "format": "VES_specification",
+ "version": "7.30.0",
+ "type": "message router",
+ "config_key": "ves-notification"
+ }
+ ]
+ },
+ "services": {
+ "calls": [],
+ "provides": [
+ {
+ "route": "/eventListener/v1",
+ "verb": "POST",
+ "request": {
+ "format": "VES_specification",
+ "version": "4.27.2"
+ },
+ "response": {
+ "format": "ves.coll.response",
+ "version": "1.0.0"
+ }
+ },
+ {
+ "route": "/eventListener/v2",
+ "verb": "POST",
+ "request": {
+ "format": "VES_specification",
+ "version": "4.27.2"
+ },
+ "response": {
+ "format": "ves.coll.response",
+ "version": "1.0.0"
+ }
+ },
+ {
+ "route": "/eventListener/v3",
+ "verb": "POST",
+ "request": {
+ "format": "VES_specification",
+ "version": "4.27.2"
+ },
+ "response": {
+ "format": "ves.coll.response",
+ "version": "1.0.0"
+ }
+ },
+ {
+ "route": "/eventListener/v4",
+ "verb": "POST",
+ "request": {
+ "format": "VES_specification",
+ "version": "4.27.2"
+ },
+ "response": {
+ "format": "ves.coll.response",
+ "version": "1.0.0"
+ }
+ },
+ {
+ "route": "/eventListener/v5",
+ "verb": "POST",
+ "request": {
+ "format": "VES_specification",
+ "version": "5.28.4"
+ },
+ "response": {
+ "format": "ves.coll.response",
+ "version": "1.0.0"
+ }
+ },
+ {
+ "route": "/eventListener/v7",
+ "verb": "POST",
+ "request": {
+ "format": "VES_specification",
+ "version": "7.30.0"
+ },
+ "response": {
+ "format": "ves.coll.response",
+ "version": "1.0.0"
+ }
+ }
+ ]
+ },
+ "parameters": [
+ {
+ "name": "collector.service.port",
+ "value": 8080,
+ "description": "standard http port collector will open for listening;",
+ "sourced_at_deployment": false,
+ "policy_editable": false,
+ "designer_editable": false
+ },
+ {
+ "name": "collector.service.secure.port",
+ "value": 8443,
+ "description": "secure http port collector will open for listening ",
+ "sourced_at_deployment": false,
+ "policy_editable": false,
+ "designer_editable": true
+ },
+ {
+ "name": "collector.keystore.file.location",
+ "value": "/opt/app/dcae-certificate/keystore.jks",
+ "description": "fs location of keystore file in vm",
+ "sourced_at_deployment": false,
+ "policy_editable": false,
+ "designer_editable": false
+ },
+ {
+ "name": "collector.keystore.passwordfile",
+ "value": "/opt/app/dcae-certificate/.password",
+ "description": "location of keystore password file in vm",
+ "sourced_at_deployment": false,
+ "policy_editable": false,
+ "designer_editable": false
+ },
+ {
+ "name": "collector.truststore.file.location",
+ "value": "/opt/app/dcae-certificate/truststore.jks",
+ "description": "fs location of truststore file in vm",
+ "sourced_at_deployment": false,
+ "policy_editable": false,
+ "designer_editable": false
+ },
+ {
+ "name": "collector.truststore.passwordfile",
+ "value": "/opt/app/dcae-certificate/.trustpassword",
+ "description": "location of truststore password file in vm",
+ "sourced_at_deployment": false,
+ "policy_editable": false,
+ "designer_editable": false
+ },
+ {
+ "name": "collector.dmaap.streamid",
+ "value": "fault=ves-fault,ves-fault-secondary|syslog=ves-syslog,ves-syslog-secondary|heartbeat=ves-heartbeat,ves-heartbeat-secondary|measurementsForVfScaling=ves-measurement,ves-measurement-secondary|mobileFlow=ves-mobileflow,ves-mobileflow-secondary|other=ves-other,ves-other-secondary|stateChange=ves-statechange,ves-statechange-secondary|thresholdCrossingAlert=ves-thresholdCrossingAlert,ves-thresholdCrossingAlert-secondary|voiceQuality=ves-voicequality,ves-voicequality-secondary|sipSignaling=ves-sipsignaling,ves-sipsignaling-secondary|notification=ves-notification,ves-notification-secondary|pnfRegistration=ves-pnfRegistration,ves-pnfRegistration-secondary",
+ "description": "domain-to-streamid mapping used by VESCollector to distributes events based on domain. Both primary and secondary config_key are included for resilency (multiple streamid can be included commma separated). The streamids MUST match to topic config_keys. For single site without resiliency deployment - configkeys with -secondary suffix can be removed",
+ "sourced_at_deployment": true,
+ "policy_editable": false,
+ "designer_editable": false
+ },
+ {
+ "name": "auth.method",
+ "value": "noAuth",
+ "description": "Property to manage application mode, possible configurations: noAuth - default option - no security (http) , certOnly - auth by certificate (https), basicAuth - auth by basic auth username and password (https),certBasicAuth - auth by certificate and basic auth username / password (https),",
+ "sourced_at_deployment": false,
+ "policy_editable": false,
+ "designer_editable": false
+ },
+ {
+ "name": "header.authlist",
+ "value": "sample1,$2a$10$pgjaxDzSuc6XVFEeqvxQ5u90DKJnM/u7TJTcinAlFJVaavXMWf/Zi|userid1,$2a$10$61gNubgJJl9lh3nvQvY9X.x4e5ETWJJ7ao7ZhJEvmfJigov26Z6uq|userid2,$2a$10$G52y/3uhuhWAMy.bx9Se8uzWinmbJa.dlm1LW6bYPdPkkywLDPLiy",
+ "description": "List of id and base 64 encoded password.For each onboarding VNF - unique userid and password should be assigned and communicated to VNF owner. Password value should be base64 encoded in config here",
+ "policy_editable": false,
+ "sourced_at_deployment": true,
+ "designer_editable": true
+ },
+ {
+ "name": "collector.schema.checkflag",
+ "value": 1,
+ "description": "Schema check validation flag. When enabled, collector will validate input VES events against VES Schema defined on collector.schema.file ",
+ "sourced_at_deployment": false,
+ "policy_editable": false,
+ "designer_editable": false
+ },
+ {
+ "name": "collector.schema.file",
+ "value": "{\"v1\":\"./etc/CommonEventFormat_27.2.json\",\"v2\":\"./etc/CommonEventFormat_27.2.json\",\"v3\":\"./etc/CommonEventFormat_27.2.json\",\"v4\":\"./etc/CommonEventFormat_27.2.json\",\"v5\":\"./etc/CommonEventFormat_28.4.1.json\",\"v7\":\"./etc/CommonEventFormat_30.json\"}",
+ "description": "VES schema file name per version used for validation",
+ "designer_editable": true,
+ "sourced_at_deployment": false,
+ "policy_editable": false
+ },
+ {
+ "name": "event.transform.flag",
+ "value": 1,
+ "description": "flag to enable tranformation rules defined under eventTransform.json; this is applicable when event tranformation rules preset should be activated for transforming <VES5.4 events to 5.4",
+ "sourced_at_deployment": false,
+ "policy_editable": false,
+ "designer_editable": false
+ },
+ {
+ "name": "testParam1",
+ "value": "test-param-1",
+ "description": "testParam1",
+ "sourced_at_deployment": true,
+ "policy_editable": true,
+ "policy_group": "Test_Parameters",
+ "required": true,
+ "designer_editable": true,
+ "policy_schema": [
+ {
+ "name": "PolicySchemaTest",
+ "description": "List of objects for vnf type monitorng",
+ "type": "String",
+ "entry_schema": [
+ {
+ "name": "TestEntrySchema",
+ "description": "entry",
+ "type": "string",
+ "value": "None"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "tomcat.maxthreads",
+ "value": "200",
+ "description": "Tomcat control for concurrent request",
+ "sourced_at_deployment": false,
+ "policy_editable": false,
+ "designer_editable": false
+ }
+ ],
+ "auxilary": {
+ "healthcheck": {
+ "type": "http",
+ "interval": "15s",
+ "timeout": "1s",
+ "endpoint": "/healthcheck"
+ },
+ "livehealthcheck": {
+ "type": "http",
+ "interval": "15s",
+ "timeout": "1s",
+ "endpoint": "/livehealthcheck"
+ },
+ "databases": {
+ "dti": "postgres"
+ },
+ "reconfigs": {
+ "app_reconfig": "abc"
+ },
+ "policy": {
+ "trigger_type": "docker",
+ "script_path": "/opt/app/manager/bin/reconfigure.sh"
+ },
+ "volumes": [
+ {
+ "container": {
+ "bind": "/opt/app/dcae-certificate"
+ },
+ "host": {
+ "path": "/opt/app/dcae-certificate"
+ }
+ },
+ {
+ "container": {
+ "bind": "/opt/app/VESCollector/logs"
+ },
+ "host": {
+ "path": "/opt/logs/DCAE/VESCollector/logs"
+ }
+ },
+ {
+ "container": {
+ "bind": "/opt/app/VESCollector/etc"
+ },
+ "host": {
+ "path": "/opt/logs/DCAE/VESCollector/etc"
+ }
+ }
+ ],
+ "ports": [
+ "8080:8080",
+ "8443:8443"
+ ],
+ "tls_info": {
+ "cert_directory": "/opt/app/dcae-certificate/",
+ "use_tls": true,
+ "use_external_tls": true
+ }
+ },
+ "artifacts": [
+ {
+ "type": "docker image",
+ "uri": "nexus.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:latest"
+ }
+ ]
+} \ No newline at end of file