summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--mod/bpgenerator/common/pom.xml4
-rw-r--r--mod/bpgenerator/onap-executable/pom.xml61
-rw-r--r--mod/bpgenerator/onap-executable/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java (renamed from mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java)0
-rw-r--r--mod/bpgenerator/onap-executable/src/main/resources/application.properties (renamed from mod/bpgenerator/onap/src/main/resources/application.properties)10
-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
-rw-r--r--mod/bpgenerator/onap/pom.xml27
-rw-r--r--mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorConfiguration.java35
-rw-r--r--mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java10
-rw-r--r--mod/bpgenerator/onap/src/main/resources/bpgen.properties32
-rw-r--r--mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java7
-rw-r--r--mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintJarComparatorTest.java179
-rw-r--r--mod/bpgenerator/pom.xml4
14 files changed, 620 insertions, 219 deletions
diff --git a/mod/bpgenerator/common/pom.xml b/mod/bpgenerator/common/pom.xml
index a0078c2..cae390f 100644
--- a/mod/bpgenerator/common/pom.xml
+++ b/mod/bpgenerator/common/pom.xml
@@ -5,6 +5,7 @@
~ * 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.
@@ -38,7 +39,8 @@
<parent>
<groupId>org.onap.dcaegen2.platform.mod</groupId>
<artifactId>blueprint-generator</artifactId>
- <version>1.7.0-SNAPSHOT</version>
+ <version>1.7.1-SNAPSHOT</version>
</parent>
+
</project>
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/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java b/mod/bpgenerator/onap-executable/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java
index 796424f..796424f 100644
--- a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java
+++ b/mod/bpgenerator/onap-executable/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java
diff --git a/mod/bpgenerator/onap/src/main/resources/application.properties b/mod/bpgenerator/onap-executable/src/main/resources/application.properties
index f7155a5..877b273 100644
--- a/mod/bpgenerator/onap/src/main/resources/application.properties
+++ b/mod/bpgenerator/onap-executable/src/main/resources/application.properties
@@ -4,6 +4,7 @@
# * 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.
@@ -20,13 +21,6 @@
# */
#
#
+
spring.main.banner-mode=off
spring.output.ansi.enabled=ALWAYS
-imports.onap.types=https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-imports.onap.K8s.plugintypes=plugin:k8splugin?version=3.4.2
-imports.onap.K8s.dcaepolicyplugin=plugin:dcaepolicyplugin?version=2.4.0
-imports.dmaap.dmaapplugin=plugin:dmaap?version=1.5.0
-import.Postgres=plugin:pgaas?version=1.3.0
-import.Clamp=plugin:clamppolicyplugin?version=1.1.0
-
-
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
diff --git a/mod/bpgenerator/onap/pom.xml b/mod/bpgenerator/onap/pom.xml
index 6193d46..63390ca 100644
--- a/mod/bpgenerator/onap/pom.xml
+++ b/mod/bpgenerator/onap/pom.xml
@@ -5,6 +5,7 @@
~ * 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.
@@ -28,18 +29,18 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>blueprint-generator-onap</artifactId>
- <version>1.7.0-SNAPSHOT</version>
+ <version>1.7.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Onap</name>
- <description>This Application is used to generate ONAP Blueprint YAML Files for given Component
- Specs
+ <description>
+ This Application is a library used to generate ONAP Blueprint YAML Files for given Component Specs
</description>
<parent>
<groupId>org.onap.dcaegen2.platform.mod</groupId>
<artifactId>blueprint-generator</artifactId>
- <version>1.7.0-SNAPSHOT</version>
+ <version>1.7.1-SNAPSHOT</version>
</parent>
<dependencies>
@@ -51,22 +52,4 @@
</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>
- <finalName>onap-blueprint-generator-${project.version}</finalName>
- </build>
-
</project>
diff --git a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorConfiguration.java b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorConfiguration.java
new file mode 100644
index 0000000..fbe97e9
--- /dev/null
+++ b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorConfiguration.java
@@ -0,0 +1,35 @@
+/*
+ *
+ * * ============LICENSE_START=======================================================
+ * * org.onap.dcae
+ * * ================================================================================
+ * * 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 org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+
+@Configuration
+@PropertySource("classpath:bpgen.properties")
+@ComponentScan(basePackages = {"org.onap.blueprintgenerator", "org.onap.policycreate"})
+public class BlueprintGeneratorConfiguration {
+
+}
diff --git a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java
index 6fa43da..44bca11 100644
--- a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java
+++ b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java
@@ -4,6 +4,7 @@
* * 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.
@@ -24,17 +25,16 @@
package org.onap.blueprintgenerator.service.common;
import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
import org.onap.blueprintgenerator.model.common.Imports;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* @author : Ravi Mantena
* @date 10/16/2020 Application: DCAE/ONAP - Blueprint Generator Common Module: Used by ONAP
diff --git a/mod/bpgenerator/onap/src/main/resources/bpgen.properties b/mod/bpgenerator/onap/src/main/resources/bpgen.properties
new file mode 100644
index 0000000..69a3ad6
--- /dev/null
+++ b/mod/bpgenerator/onap/src/main/resources/bpgen.properties
@@ -0,0 +1,32 @@
+#
+# /*
+# * ============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=========================================================
+# */
+#
+#
+
+imports.onap.types=https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
+imports.onap.K8s.plugintypes=plugin:k8splugin?version=3.4.2
+imports.onap.K8s.dcaepolicyplugin=plugin:dcaepolicyplugin?version=2.4.0
+imports.dmaap.dmaapplugin=plugin:dmaap?version=1.5.0
+import.Postgres=plugin:pgaas?version=1.3.0
+import.Clamp=plugin:clamppolicyplugin?version=1.1.0
+
+
diff --git a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java
index 86d257a..6e6ebd7 100644
--- a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java
+++ b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java
@@ -27,7 +27,7 @@ package org.onap.blueprintgenerator.test;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Ignore;
import org.junit.runner.RunWith;
-import org.onap.blueprintgenerator.BlueprintGeneratorMainApplication;
+import org.onap.blueprintgenerator.BlueprintGeneratorConfiguration;
import org.onap.blueprintgenerator.model.componentspec.OnapComponentSpec;
import org.onap.blueprintgenerator.service.BlueprintCreatorService;
import org.onap.blueprintgenerator.service.base.BlueprintService;
@@ -45,11 +45,12 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author : Ravi Mantena
- * @date 10/16/2020 Application: ONAP - Blueprint Generator ONAP Test Cases
+ * @date 10/16/2020
+ * Application: ONAP - Blueprint Generator ONAP Test Cases
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
- classes = BlueprintGeneratorMainApplication.class,
+ classes = BlueprintGeneratorConfiguration.class,
initializers = ConfigFileApplicationContextInitializer.class)
@TestPropertySource(
properties = {
diff --git a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintJarComparatorTest.java b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintJarComparatorTest.java
deleted file mode 100644
index a0cf04a..0000000
--- a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintJarComparatorTest.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- *
- * * ============LICENSE_START=======================================================
- * * org.onap.dcae
- * * ================================================================================
- * * Copyright (c) 2020 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.blueprintgenerator.test;
-
-import org.apache.commons.io.FileUtils;
-import org.junit.Assert;
-import org.junit.FixMethodOrder;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.jupiter.api.Order;
-import org.junit.runners.MethodSorters;
-import org.onap.blueprintgenerator.test.BlueprintGeneratorTests;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Paths;
-
-/**
- * @author : Ravi Mantena
- * @date 10/16/2020 Application: ONAP - Blueprint Generator ONAP Bueprint Jar Comparision with
- * Blueprint Comparator using preious and new Jar files to make sure the new code doesnt break previous changes.
- */
-@Ignore
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class BlueprintJarComparatorTest extends BlueprintGeneratorTests {
-
- private String previousJarVersion = "0.1";
- private String latestJarVersion = "1.0";
- private String previousVersion = "0_1";
- private String latestVersion = "1_0";
- private String latestJarPath = Paths.get("target").toAbsolutePath().toString() + "\\";
- private String previousJarPath =
- Paths.get("src", "test", "resources", "archives").toAbsolutePath().toString() + "\\";
- private String inputPath =
- Paths.get("src", "test", "resources", "componentspecs").toAbsolutePath().toString() + "\\";
- private String inputPolicyPath =
- Paths.get("src", "test", "resources", "policyjson").toAbsolutePath().toString() + "\\";
- private String outputPath =
- Paths.get("src", "test", "resources", "outputfiles").toAbsolutePath().toString() + "\\";
- private String previousJar = "onap-blueprint-generator-" + previousJarVersion + ".jar";
- private String latestJar = "onap-blueprint-generator-" + latestJarVersion + ".jar";
-
- @Test
- @Order(value = 1)
- public void filesCleanup() throws IOException {
- FileUtils.deleteDirectory(new File(outputPath));
- }
-
- @Test
- public void jarTestVeswithDmaapK8s() throws IOException, InterruptedException {
- String inputFileName = ves;
- String outputFileName = "dcae-ves-collector-dmaap-";
- String inputImportsFileName = testImports;
-
- String previousJarCommand =
- "java -jar "
- + previousJarPath
- + previousJar
- + " app ONAP -i "
- + inputPath
- + inputFileName
- + " -p "
- + outputPath
- + " -n "
- + outputFileName
- + previousVersion
- + " -t "
- + inputPath
- + inputImportsFileName
- + " -d";
- Runtime.getRuntime().exec(previousJarCommand);
-
- String latestJarCommand =
- "java -jar "
- + latestJarPath
- + latestJar
- + " app ONAP -i "
- + inputPath
- + inputFileName
- + " -p "
- + outputPath
- + " -n "
- + outputFileName
- + latestVersion
- + " -t "
- + inputPath
- + inputImportsFileName
- + " -d";
- Runtime.getRuntime().exec(latestJarCommand);
-
- Thread.sleep(8000);
-
- 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;
-
- String previousJarCommand =
- "java -jar "
- + previousJarPath
- + previousJar
- + " app ONAP -i "
- + inputPath
- + inputFileName
- + " -p "
- + outputPath
- + " -n "
- + outputFileName
- + previousVersion
- + " -t "
- + inputPath
- + inputImportsFileName;
- Runtime.getRuntime().exec(previousJarCommand);
-
- String latestJarCommand =
- "java -jar "
- + latestJarPath
- + latestJar
- + " app ONAP -i "
- + inputPath
- + inputFileName
- + " -p "
- + outputPath
- + " -n "
- + outputFileName
- + latestVersion
- + " -t "
- + inputPath
- + inputImportsFileName;
- Runtime.getRuntime().exec(latestJarCommand);
-
- Thread.sleep(8000);
-
- 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"));
- }
-}
diff --git a/mod/bpgenerator/pom.xml b/mod/bpgenerator/pom.xml
index 423ffc9..84edb05 100644
--- a/mod/bpgenerator/pom.xml
+++ b/mod/bpgenerator/pom.xml
@@ -5,6 +5,7 @@
~ * 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.
@@ -29,12 +30,13 @@
<groupId>org.onap.dcaegen2.platform.mod</groupId>
<artifactId>blueprint-generator</artifactId>
- <version>1.7.0-SNAPSHOT</version>
+ <version>1.7.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>common</module>
<module>onap</module>
+ <module>onap-executable</module>
</modules>
<name>BlueprintGenerator</name>