Blueprint Generator - split executable part to separate submodule 65/116465/5
authorRemigiusz Janeczek <remigiusz.janeczek@nokia.com>
Thu, 17 Dec 2020 17:20:12 +0000 (18:20 +0100)
committerRemigiusz Janeczek <remigiusz.janeczek@nokia.com>
Mon, 4 Jan 2021 21:52:41 +0000 (21:52 +0000)
Issue-ID: DCAEGEN2-2529
Signed-off-by: Remigiusz Janeczek <remigiusz.janeczek@nokia.com>
Change-Id: I0d6a4ac0f6bc8332b79ebcf5ac3bb4aee1c951c6

14 files changed:
mod/bpgenerator/common/pom.xml
mod/bpgenerator/onap-executable/pom.xml [new file with mode: 0644]
mod/bpgenerator/onap-executable/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java [moved from mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java with 100% similarity]
mod/bpgenerator/onap-executable/src/main/resources/application.properties [new file with mode: 0644]
mod/bpgenerator/onap-executable/src/test/java/org/onap/blueprintgenerator/BlueprintJarComparatorTest.java [new file with mode: 0644]
mod/bpgenerator/onap-executable/src/test/resources/componentspecs/testImports.yaml [new file with mode: 0644]
mod/bpgenerator/onap-executable/src/test/resources/componentspecs/ves.json [new file with mode: 0644]
mod/bpgenerator/onap/pom.xml
mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorConfiguration.java [new file with mode: 0644]
mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java
mod/bpgenerator/onap/src/main/resources/bpgen.properties [moved from mod/bpgenerator/onap/src/main/resources/application.properties with 95% similarity]
mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java
mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintJarComparatorTest.java [deleted file]
mod/bpgenerator/pom.xml

index a0078c2..cae390f 100644 (file)
@@ -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 (file)
index 0000000..1ec9fef
--- /dev/null
@@ -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/resources/application.properties b/mod/bpgenerator/onap-executable/src/main/resources/application.properties
new file mode 100644 (file)
index 0000000..877b273
--- /dev/null
@@ -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 (file)
index 0000000..973572d
--- /dev/null
@@ -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 (file)
index 0000000..42a482d
--- /dev/null
@@ -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 (file)
index 0000000..6655a2c
--- /dev/null
@@ -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
index 6193d46..63390ca 100644 (file)
@@ -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.
     <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>
         </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 (file)
index 0000000..fbe97e9
--- /dev/null
@@ -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 {
+
+}
index 6fa43da..44bca11 100644 (file)
@@ -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.
 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
@@ -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,8 +21,7 @@
 #  */
 #
 #
-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
index 86d257a..6e6ebd7 100644 (file)
@@ -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 (file)
index a0cf04a..0000000
+++ /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"));
-    }
-}
index 423ffc9..84edb05 100644 (file)
@@ -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.
 
     <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>