aboutsummaryrefslogtreecommitdiffstats
path: root/asdctool
diff options
context:
space:
mode:
authorMichael Lando <ml636r@att.com>2018-06-11 13:26:35 +0300
committerMichael Lando <ml636r@att.com>2018-06-12 12:38:22 +0300
commit9a6c8fc028db1e94c873300ec14211b7beb5c78a (patch)
treea0114b0e58b721dae1dc1caa745b590b6ac7dbac /asdctool
parent95b8fb296567ab71e2661a56ad4a9cbbd84fd31a (diff)
update sdc logic for new types
update sdc conformance level and add logic to package onap normatives. Change-Id: I321eeb0cccf662346eb36cb42420fd8fca72ae32 Issue-ID: SDC-1380 Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'asdctool')
-rw-r--r--asdctool/pom.xml115
-rw-r--r--asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/recipes/04-importComformance.rb2
-rw-r--r--asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb119
-rw-r--r--asdctool/src/main/java/org/openecomp/sdc/asdctool/main/SdcSchemaFileImport.java54
-rw-r--r--asdctool/src/test/java/org/openecomp/sdc/asdctool/main/SdcSchemaFileImportTest.java9
5 files changed, 177 insertions, 122 deletions
diff --git a/asdctool/pom.xml b/asdctool/pom.xml
index 4fd16cc30b..ce64b7fc1b 100644
--- a/asdctool/pom.xml
+++ b/asdctool/pom.xml
@@ -552,6 +552,46 @@
<build>
<finalName>${project.artifactId}-${project.version}-jar-with-dependencies</finalName>
<plugins>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>3.0.0</version>
+ <executions>
+ <execution>
+ <id>clean-static-files</id>
+ <phase>clean</phase>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ <configuration>
+ <filesets>
+ <!-- tosca files -->
+ <fileset>
+ <directory>${project.parent.basedir}/asdctool/tosca</directory>
+ <followSymlinks>false</followSymlinks>
+ </fileset>
+ <fileset>
+ <directory>${project.basedir}/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/attributes/</directory>
+ <followSymlinks>false</followSymlinks>
+ <includes>
+ <include>**/default.rb</include>
+ </includes>
+ </fileset>
+ <fileset>
+ <directory>${project.basedir}/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/files/default/tools</directory>
+ <followSymlinks>false</followSymlinks>
+ </fileset>
+ <fileset>
+ <directory>${project.basedir}/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/files/default</directory>
+ <followSymlinks>false</followSymlinks>
+ <includes>
+ <include>**/sdctool.tar</include>
+ </includes>
+ </fileset>
+ </filesets>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -617,47 +657,6 @@
</execution>
</executions>
</plugin>
-
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- <executions>
- <execution>
- <id>clean-static-files</id>
- <phase>clean</phase>
- <goals>
- <goal>clean</goal>
- </goals>
- <configuration>
- <filesets>
- <!-- tosca files -->
- <fileset>
- <directory>${project.parent.basedir}/asdctool/tosca</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>${project.basedir}/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/attributes/</directory>
- <followSymlinks>false</followSymlinks>
- <includes>
- <include>**/default.rb</include>
- </includes>
- </fileset>
- <fileset>
- <directory>${project.basedir}/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/files/default/tools</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>${project.basedir}/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/files/default</directory>
- <followSymlinks>false</followSymlinks>
- <includes>
- <include>**/sdctool.tar</include>
- </includes>
- </fileset>
- </filesets>
- </configuration>
- </execution>
- </executions>
- </plugin>
<plugin>
<groupId>ru.yaal.maven</groupId>
<artifactId>write-text-files-maven-plugin</artifactId>
@@ -690,7 +689,6 @@
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
-
<execution>
<id>copy-tosca-folder</id>
<!-- here the phase you need -->
@@ -708,20 +706,12 @@
</resources>
</configuration>
</execution>
-
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
- <id>docker-staging</id>
- <properties>
- <docker.tag>${project.version}-STAGING-${maven.build.timestamp}</docker.tag>
- <docker.latest.tag>${project.version}-STAGING-latest</docker.latest.tag>
- </properties>
- </profile>
- <profile>
<id>docker</id>
<activation>
<activeByDefault>false</activeByDefault>
@@ -733,30 +723,6 @@
<version>3.0.2</version>
<executions>
<execution>
- <id>copy-dox-files</id>
- <phase>verify</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>${basedir}/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/files/default</outputDirectory>
- <resources>
- <resource>
- <directory>${project.parent.basedir}/openecomp-be</directory>
- <includes>
- <include>tools/build/**</include>
- </includes>
- </resource>
- <resource>
- <directory>${project.parent.basedir}/openecomp-be</directory>
- <includes>
- <include>tools/install/**</include>
- </includes>
- </resource>
- </resources>
- </configuration>
- </execution>
- <execution>
<id>copy-sdctool</id>
<phase>verify</phase>
<goals>
@@ -780,7 +746,6 @@
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${fabric8.version}</version>
-
<configuration>
<verbose>true</verbose>
<apiVersion>1.23</apiVersion>
diff --git a/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/recipes/04-importComformance.rb b/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/recipes/04-importComformance.rb
index 3b293e88b9..6841175902 100644
--- a/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/recipes/04-importComformance.rb
+++ b/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/recipes/04-importComformance.rb
@@ -14,7 +14,7 @@ bash "import-Comformance" do
cd /tmp/sdctool/scripts
/bin/chmod +x sdcSchemaFileImport.sh
- echo "execute /tmp/sdctool/scripts/sdcSchemaFileImport.sh ${tosca_dir} #{cl_release} ${cl_version} ${conf_dir} "
+ echo "execute /tmp/sdctool/scripts/sdcSchemaFileImport.sh ${tosca_dir} #{cl_release} ${cl_version} ${conf_dir} onap"
./sdcSchemaFileImport.sh ${tosca_dir} #{cl_release} ${cl_version} ${conf_dir}
EOH
end \ No newline at end of file
diff --git a/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb b/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb
index 75a5d756c3..d6e4c11b11 100644
--- a/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb
+++ b/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb
@@ -16,13 +16,17 @@ beHttpPort: <%= @catalog_port %>
beContext: /sdc/rest/config/get
# catalog backend protocol
+<% if node[:disableHttp] -%>
+beProtocol: https
+<% else %>
beProtocol: http
+<% end -%>
# catalog backend ssl port
beSslPort: <%= @ssl_port %>
version: 1.0
released: 2012-11-30
-toscaConformanceLevel: 5.0
+toscaConformanceLevel: 10.0
minToscaConformanceLevel: 3.0
titanCfgFile: <%= @titan_Path %>/titan.properties
@@ -130,6 +134,7 @@ artifactTypes:
- SNMP_POLL
- SNMP_TRAP
- GUIDE
+ - PLAN
licenseTypes:
- User
@@ -146,23 +151,9 @@ resourceTypes: &allResourceTypes
- Abstract
- CVFC
-# validForResourceTypes usage
-# validForResourceTypes:
-# - VF
-# - VL
+
deploymentResourceArtifacts:
-# heat:
-# displayName: "Base HEAT Template"
-# type: HEAT
-# validForResourceTypes: *allResourceTypes
-# heatVol:
-# displayName: "Volume HEAT Template"
-# type: HEAT_VOL
-# validForResourceTypes: *allResourceTypes
-# heatNet:
-# displayName: "Network HEAT Template"
-# type: HEAT_NET
-# validForResourceTypes: *allResourceTypes
+
deploymentResourceInstanceArtifacts:
heatEnv:
@@ -193,7 +184,7 @@ toscaArtifacts:
excludeResourceCategory:
- Generic
excludeResourceType:
- - PNF
+ - PNF
informationalResourceArtifacts:
features:
displayName: Features
@@ -283,7 +274,7 @@ serviceApiArtifacts:
additionalInformationMaxNumberOfKeys: 50
systemMonitoring:
- enabled: true
+ enabled: false
isProxy: false
probeIntervalInSeconds: 15
@@ -302,9 +293,6 @@ serviceDeploymentArtifacts:
MODEL_QUERY_SPEC:
acceptedTypes:
- xml
- UCPE_LAYER_2_CONFIGURATION:
- acceptedTypes:
- - xml
#AAI Artifacts
AAI_SERVICE_MODEL:
@@ -316,9 +304,17 @@ serviceDeploymentArtifacts:
AAI_VF_INSTANCE_MODEL:
acceptedTypes:
- xml
+ UCPE_LAYER_2_CONFIGURATION:
+ acceptedTypes:
+ - xml
OTHER:
acceptedTypes:
+#PLAN
+ PLAN:
+ acceptedTypes:
+ - xml
+
resourceDeploymentArtifacts:
HEAT:
acceptedTypes:
@@ -436,6 +432,14 @@ resourceDeploymentArtifacts:
acceptedTypes:
validForResourceTypes: *allResourceTypes
+#PLAN
+ PLAN:
+ acceptedTypes:
+ - xml
+ validForResourceTypes:
+ - VF
+ - VFC
+
resourceInstanceDeploymentArtifacts:
HEAT_ENV:
acceptedTypes:
@@ -473,6 +477,11 @@ resourceInstanceDeploymentArtifacts:
acceptedTypes:
validForResourceTypes: *allResourceTypes
+#PLAN
+ PLAN:
+ acceptedTypes:
+ - xml
+
resourceInformationalArtifacts:
CHEF:
acceptedTypes:
@@ -503,7 +512,7 @@ resourceInformationalArtifacts:
validForResourceTypes: *allResourceTypes
OTHER:
acceptedTypes:
- validForResourceTypes:
+ validForResourceTypes:
- VFC
- CVFC
- CP
@@ -583,9 +592,9 @@ applicationL1Cache:
pollIntervalInSec: 60
applicationL2Cache:
- enabled: true
+ enabled: false
catalogL1Cache:
- enabled: true
+ enabled: false
resourcesSizeInCache: 300
servicesSizeInCache: 200
productsSizeInCache: 100
@@ -637,4 +646,62 @@ environmentContext:
- Important_Non-Revenue
- Needed_Non-Revenue
- Useful_Non-Revenue
- - General_Non-Revenue \ No newline at end of file
+ - General_Non-Revenue
+
+dmaapConsumerConfiguration:
+ hosts: localhost:3905
+ consumerGroup: sdc
+ consumerId: mama
+ timeoutMs: 15000
+ limit: 1
+ pollingInterval: 2
+ topic: topic
+ latitude: 32.109333
+ longitude: 34.855499
+ version: 1.0
+ serviceName: localhost/events
+ environment: TEST
+ partner: BOT_R
+ routeOffer: MR1
+ protocol: https
+ contenttype: application/json
+ dme2TraceOn: true
+ aftEnvironment: AFTUAT
+ aftDme2ConnectionTimeoutMs: 15000
+ aftDme2RoundtripTimeoutMs: 240000
+ aftDme2ReadTimeoutMs: 50000
+ dme2preferredRouterFilePath: DME2preferredRouter.txt
+ timeLimitForNotificationHandleMs: 120000
+ credential:
+ username: user
+ password:
+
+dmeConfiguration:
+ dme2Search: DME2SEARCH
+ dme2Resolve: DME2RESOLVE
+
+excludedPolicyTypesMapping:
+ # VF:
+ # - a.b.c
+ # - c.d.e
+ #CR:
+ # - x.y.z
+
+excludedGroupTypesMapping:
+ CR:
+ - org.openecomp.groups.VfModule
+ - org.openecomp.groups.heat.HeatStack
+ - tosca.groups.Root
+ VF:
+ - org.openecomp.groups.VfModule
+ - org.openecomp.groups.heat.HeatStack
+ - tosca.groups.Root
+ Service:
+ - org.openecomp.groups.VfModule
+ - org.openecomp.groups.heat.HeatStack
+ - tosca.groups.Root
+
+healthStatusExclude:
+ - DE
+ - DMAPP
+ - DCAE
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/main/SdcSchemaFileImport.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/main/SdcSchemaFileImport.java
index 0e545f2afd..e915d27502 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/main/SdcSchemaFileImport.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/main/SdcSchemaFileImport.java
@@ -36,6 +36,7 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.openecomp.sdc.asdctool.enums.SchemaZipFileEnum;
import org.openecomp.sdc.asdctool.impl.EsToCassandraDataMigrationConfig;
import org.openecomp.sdc.be.config.ConfigurationManager;
@@ -53,16 +54,16 @@ import org.yaml.snakeyaml.Yaml;
public class SdcSchemaFileImport {
private static final String SEPARATOR = FileSystems.getDefault().getSeparator();
-
- private static SdcSchemaFilesCassandraDao schemaFilesCassandraDao;
private static final String TOSCA_VERSION = "tosca_simple_yaml_1_1";
private static String importToscaPath;
- private static byte[] buffer = new byte[1024];
+ private static final byte[] buffer = new byte[1024];
- private static String YAML_EXTENSION = ".yml";
+ private static final String YAML_EXTENSION = ".yml";
+
+ private static final String DEPLOYMENT_TYPE_ONAP = "onap";
private static String LICENSE_TXT;
@@ -74,7 +75,7 @@ public class SdcSchemaFileImport {
System.out.println("Starting SdcSchemaFileImport procedure...");
final String FILE_NAME = "SDC.zip";
- if (args == null || args.length < 4) {
+ if (args == null || !(args.length ==4 || args.length == 5 )) {
usageAndExit();
}
@@ -82,6 +83,11 @@ public class SdcSchemaFileImport {
String sdcReleaseNum = args[1];
String conformanceLevel = args[2];
String appConfigDir = args[3];
+ String deploymentType=null;
+ if(args.length==5){
+ deploymentType=args[4];
+ }
+
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -116,7 +122,7 @@ public class SdcSchemaFileImport {
}
}
- createAndSaveNodeSchemaFile();
+ createAndSaveNodeSchemaFile(deploymentType);
try {
//close the ZipOutputStream
@@ -128,10 +134,10 @@ public class SdcSchemaFileImport {
System.exit(1);
}
- //Generation flow end - generating SDC from normatives
+ //Generation flow end - generating SDC from narratives
AnnotationConfigApplicationContext context = initContext(appConfigDir);
- schemaFilesCassandraDao = (SdcSchemaFilesCassandraDao) context.getBean("sdc-schema-files-cassandra-dao");
+ SdcSchemaFilesCassandraDao schemaFilesCassandraDao = (SdcSchemaFilesCassandraDao) context.getBean("sdc-schema-files-cassandra-dao");
byte[] fileBytes = baos.toByteArray();
@@ -166,7 +172,7 @@ public class SdcSchemaFileImport {
yaml.setName(fileName);
//Initialize the yaml contents
- Map<String, Object> data = new LinkedHashMap<String, Object>();
+ Map<String, Object> data = new LinkedHashMap<>();
data.put("tosca_definitions_version", TOSCA_VERSION);
@@ -199,29 +205,40 @@ public class SdcSchemaFileImport {
zos.write(buffer, 0, len);
}
//close the InputStream
- stream.close();
+ file.delete();
+ stream.close();
zos.closeEntry();
- file.delete();
+
} catch (IOException e) {
System.out.println("Error in file creation : " + fileName + ", " + e.getMessage());
System.exit(1);
}
}
-
- public static void createAndSaveNodeSchemaFile() throws IOException {
+
+ /**
+ *the method is responsible for creating and storing the sdc normatives in the DB
+ * @param deploymentType if the deployments type is onap the onap narratives will be add to the zip
+ * @throws IOException thrown in case of issues in reding files.
+ */
+ public static void createAndSaveNodeSchemaFile(String deploymentType) throws IOException {
//Initialize the snake yaml dumper option
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
- Map<String, Object> nodeTypeList = new LinkedHashMap<String, Object>();
+ Map<String, Object> nodeTypeList = new LinkedHashMap<>();
String[] importFileList = new String[]{"data.yml", "artifacts.yml", "capabilities.yml", "interfaces.yml", "relationships.yml"};
String collectionTitle = "node_types";
//Create node.yaml - collect all types from normative-types and heat-types directories
String[] nodeTypesMainFolders = new String[]{"normative-types", "heat-types"};
+
+ if(DEPLOYMENT_TYPE_ONAP.equals(deploymentType)){
+ String[] onapNodeTypesMainFolders = new String[]{"nfv-types"};
+ nodeTypesMainFolders=ArrayUtils.addAll(nodeTypesMainFolders,onapNodeTypesMainFolders);
+ }
for (String nodeTypesMainFolder : nodeTypesMainFolders) {
Files.walk(Paths.get(importToscaPath + SEPARATOR + nodeTypesMainFolder))
@@ -232,7 +249,7 @@ public class SdcSchemaFileImport {
System.out.println("Processing node type file "+path+"...");
FileInputStream inputStream = new FileInputStream(path);
Yaml yaml = new Yaml();
- Map<String, Object> load = (Map<String, Object>) yaml.load(inputStream);
+ Map<String, Object> load = yaml.loadAs(inputStream,Map.class);
Map<String, Object> nodeType = (Map<String, Object>) load.get(collectionTitle);
nodeTypeList.putAll(nodeType);
@@ -251,13 +268,12 @@ public class SdcSchemaFileImport {
}
private static void SdcSchemaFileImportUsage() {
- System.err.println("Usage: <file dir/filename> <SDC release number> <Schema conformance level> <configuration dir>");
+ System.err.println("Usage: <file dir/filename> <SDC release number> <Schema conformance level> <configuration dir> <deployment type optional>");
}
private static AnnotationConfigApplicationContext initContext(String appConfigDir) {
ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), appConfigDir);
- ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
- AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(EsToCassandraDataMigrationConfig.class);
- return context;
+ new ConfigurationManager(configurationSource);
+ return new AnnotationConfigApplicationContext(EsToCassandraDataMigrationConfig.class);
}
}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/main/SdcSchemaFileImportTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/main/SdcSchemaFileImportTest.java
index 2f5dababb7..791aeb922d 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/main/SdcSchemaFileImportTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/main/SdcSchemaFileImportTest.java
@@ -15,7 +15,14 @@ public class SdcSchemaFileImportTest {
public void testCreateAndSaveNodeSchemaFile() throws Exception {
// default test
- SdcSchemaFileImport.createAndSaveNodeSchemaFile();
+ SdcSchemaFileImport.createAndSaveNodeSchemaFile("");
+ }
+
+ @Test(expected=NoSuchFileException.class)
+ public void testCreateAndSaveNodeSchemaFileOnap() throws Exception {
+
+ // default test
+ SdcSchemaFileImport.createAndSaveNodeSchemaFile("onap");
}
@Test(expected=NullPointerException.class)