From 7f592e87a5ba61a8538d6f399f3778b884a9b3ce Mon Sep 17 00:00:00 2001 From: "Polavarapu, Chaitanya (cp8128)" Date: Fri, 12 Feb 2021 13:32:33 -0500 Subject: Updated pom to remove distribution-management section and corrected aai base image version Issue-ID: AAI-2996 Change-Id: I28da9ccf5618e180e04e3f29b0440bab5e3ffc3f Signed-off-by: Polavarapu, Chaitanya (cp8128) --- pom.xml | 423 ++++--- src/main/bin/start.sh | 32 +- src/main/docker/Dockerfile | 24 +- .../java/org/onap/aai/babel/BabelApplication.java | 26 +- .../config/PropertyPasswordConfiguration.java | 121 ++ .../onap/aai/babel/csar/CsarToXmlConverter.java | 4 +- .../csar/vnfcatalog/VnfVendorImageExtractor.java | 9 +- .../java/org/onap/aai/babel/logging/LogHelper.java | 2 +- .../service/GenerateArtifactsServiceImpl.java | 24 +- .../aai/babel/xml/generator/ModelGenerator.java | 8 +- .../onap/aai/babel/xml/generator/model/Widget.java | 2 + src/main/resources/application.properties | 3 +- .../vnfcatalog/TestVnfVendorImageExtractor.java | 9 + .../aai/babel/logging/TestApplicationLogger.java | 4 +- .../aai/babel/service/TestCsarToXmlConverter.java | 42 + .../service/TestGenerateArtifactsServiceImpl.java | 1 + .../org/onap/aai/babel/util/ArtifactTestUtils.java | 2 +- src/test/resources/auth/auth_policy.json | 3 +- .../service-Dev2devnfodservice17July-csar.csar | Bin 0 -> 44226 bytes .../service-NetworkCloudVnfServiceMock-csar.csar | Bin 0 -> 61269 bytes .../service-RgCollector615-csar.csar | Bin 0 -> 32798 bytes .../compressedArtifacts/service-VdbeSrv-csar.csar | Bin 0 -> 72185 bytes .../compressedArtifacts/service_CosAvpn_csar.csar | Bin 0 -> 41004 bytes .../generatedXml/AAI-COS_AVPN-service-1.0.xml | 70 ++ .../generatedXml/AAI-ExtVL-resource-40.0.xml | 2 +- .../generatedXml/AAI-ExtVL-resource-48.0.xml | 32 + .../AAI-Fabric Configuration-resource-10.0.xml | 32 + .../AAI-Grouping Service for Test-service-1.0.xml | 4 +- .../AAI-Network Cloud VNF MOCK-resource-1.0.xml | 69 ++ ...-Network Cloud VNF Service MOCK-service-1.0.xml | 51 + .../AAI-Network Res 1806-resource-4.0.xml | 51 + ...k Res 1806..NetworkCollection..0-resource-1.xml | 50 + ...est_Heat_08152018_base..module-0-resource-1.xml | 123 ++ .../AAI-Port Mirror_Test-service-1.0.xml | 4 +- ...-Port Mirroring Configuration-resource-35.0.xml | 2 +- .../AAI-RG_collector_6-15-service-1.0.xml | 52 + .../generatedXml/AAI-SCP-Test-VSP-resource-1.0.xml | 2 +- .../AAI-SD-WAN-Service-Test-service-1.0.xml | 2 +- .../AAI-SD-WAN-Test-VSP-resource-1.0.xml | 2 +- ...TestVsp..asc_heat-int2..module-0-resource-1.xml | 2 +- ...AI-SdWanTestVsp..DUMMY..module-0-resource-2.xml | 2 +- .../generatedXml/AAI-TEST CR_1-resource-7.0.xml | 2 +- .../generatedXml/AAI-TEST SVC_1-service-1.0.xml | 2 +- .../AAI-Tunnel_XConnTest-resource-2.0.xml | 2 +- ...Network Receptor Configuration-resource-3.0.xml | 32 + .../AAI-VRF Entry Configuration-resource-3.0.xml | 32 + .../generatedXml/AAI-Vscpaas_Test-service-1.0.xml | 51 + ...ortest..ResourceInstanceGroup..0-resource-1.xml | 4 +- ...ortest..ResourceInstanceGroup..1-resource-1.xml | 2 +- .../generatedXml/AAI-oam_group-resource-3.xml | 123 ++ ...I-testcr_1..NetworkCollection..0-resource-1.xml | 2 +- .../generatedXml/AAI-untr_group-resource-3.xml | 123 ++ .../generatedXml/AAI-vDBE-resource-0.5.xml | 87 ++ .../generatedXml/AAI-vDBE_srv-service-1.0.xml | 52 + .../AAI-vdbe0..Vdbe..main..module-0-resource-2.xml | 141 +++ .../jsonFiles/newVnfVendorImageConfigurations.json | 22 + src/test/resources/jsonFiles/vnfFromRequest.json | 1 + .../vnfodservice-vendorImageConfigurations.json | 1 + src/test/resources/logback.xml | 108 +- src/test/resources/response/response.json | 2 +- .../response/responseWithVersionLessThan1.json | 2 +- .../response/validNoVnfConfigurationResponse.json | 2 +- .../ymlFiles/resource-Cindervolume-template.yml | 84 ++ .../ymlFiles/resource-Contrailport-template-1.yml | 54 + .../ymlFiles/resource-Contrailport-template.yml | 53 + ...esource-Contrailv2virtualnetwork-template-1.yml | 60 + .../resource-Contrailv2virtualnetwork-template.yml | 61 + .../resource-Contrailvirtualnetwork-template.yml | 60 + ...source-NestedcomplexvfNodesHeatOam-template.yml | 28 + ...source-NestedcomplexvfNodesHeatPrx-template.yml | 28 + ...source-NestedcomplexvfNodesHeatRdn-template.yml | 28 + .../ymlFiles/resource-Neutronport-template-1.yml | 96 ++ .../ymlFiles/resource-Neutronport-template.yml | 96 ++ .../resource-ScptestvspNodesBe-template.yml | 959 +++++++++++++++ .../resource-ScptestvspNodesFe0-template.yml | 1235 ++++++++++++++++++++ .../resource-ScptestvspNodesFe1-template.yml | 1235 ++++++++++++++++++++ .../resource-ScptestvspNodesSmp-template.yml | 813 +++++++++++++ .../ymlFiles/resource-Securityrules-template.YML | 48 + .../ymlFiles/resource-Subinterface-template.yml | 29 + .../resources/ymlFiles/resource-Vl-template.yml | 77 ++ 80 files changed, 6853 insertions(+), 275 deletions(-) create mode 100644 src/main/java/org/onap/aai/babel/config/PropertyPasswordConfiguration.java create mode 100644 src/test/resources/compressedArtifacts/service-Dev2devnfodservice17July-csar.csar create mode 100644 src/test/resources/compressedArtifacts/service-NetworkCloudVnfServiceMock-csar.csar create mode 100644 src/test/resources/compressedArtifacts/service-RgCollector615-csar.csar create mode 100644 src/test/resources/compressedArtifacts/service-VdbeSrv-csar.csar create mode 100644 src/test/resources/compressedArtifacts/service_CosAvpn_csar.csar create mode 100644 src/test/resources/generatedXml/AAI-COS_AVPN-service-1.0.xml create mode 100644 src/test/resources/generatedXml/AAI-ExtVL-resource-48.0.xml create mode 100644 src/test/resources/generatedXml/AAI-Fabric Configuration-resource-10.0.xml create mode 100644 src/test/resources/generatedXml/AAI-Network Cloud VNF MOCK-resource-1.0.xml create mode 100644 src/test/resources/generatedXml/AAI-Network Cloud VNF Service MOCK-service-1.0.xml create mode 100644 src/test/resources/generatedXml/AAI-Network Res 1806-resource-4.0.xml create mode 100644 src/test/resources/generatedXml/AAI-Network Res 1806..NetworkCollection..0-resource-1.xml create mode 100644 src/test/resources/generatedXml/AAI-NetworkCloudVnfMock..NC1_Test_Heat_08152018_base..module-0-resource-1.xml create mode 100644 src/test/resources/generatedXml/AAI-RG_collector_6-15-service-1.0.xml create mode 100644 src/test/resources/generatedXml/AAI-VLAN Network Receptor Configuration-resource-3.0.xml create mode 100644 src/test/resources/generatedXml/AAI-VRF Entry Configuration-resource-3.0.xml create mode 100644 src/test/resources/generatedXml/AAI-Vscpaas_Test-service-1.0.xml create mode 100644 src/test/resources/generatedXml/AAI-oam_group-resource-3.xml create mode 100644 src/test/resources/generatedXml/AAI-untr_group-resource-3.xml create mode 100644 src/test/resources/generatedXml/AAI-vDBE-resource-0.5.xml create mode 100644 src/test/resources/generatedXml/AAI-vDBE_srv-service-1.0.xml create mode 100644 src/test/resources/generatedXml/AAI-vdbe0..Vdbe..main..module-0-resource-2.xml create mode 100644 src/test/resources/jsonFiles/newVnfVendorImageConfigurations.json create mode 100644 src/test/resources/jsonFiles/vnfFromRequest.json create mode 100644 src/test/resources/jsonFiles/vnfodservice-vendorImageConfigurations.json create mode 100644 src/test/resources/ymlFiles/resource-Cindervolume-template.yml create mode 100644 src/test/resources/ymlFiles/resource-Contrailport-template-1.yml create mode 100644 src/test/resources/ymlFiles/resource-Contrailport-template.yml create mode 100644 src/test/resources/ymlFiles/resource-Contrailv2virtualnetwork-template-1.yml create mode 100644 src/test/resources/ymlFiles/resource-Contrailv2virtualnetwork-template.yml create mode 100644 src/test/resources/ymlFiles/resource-Contrailvirtualnetwork-template.yml create mode 100644 src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatOam-template.yml create mode 100644 src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatPrx-template.yml create mode 100644 src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatRdn-template.yml create mode 100644 src/test/resources/ymlFiles/resource-Neutronport-template-1.yml create mode 100644 src/test/resources/ymlFiles/resource-Neutronport-template.yml create mode 100644 src/test/resources/ymlFiles/resource-ScptestvspNodesBe-template.yml create mode 100644 src/test/resources/ymlFiles/resource-ScptestvspNodesFe0-template.yml create mode 100644 src/test/resources/ymlFiles/resource-ScptestvspNodesFe1-template.yml create mode 100644 src/test/resources/ymlFiles/resource-ScptestvspNodesSmp-template.yml create mode 100644 src/test/resources/ymlFiles/resource-Securityrules-template.YML create mode 100644 src/test/resources/ymlFiles/resource-Subinterface-template.yml create mode 100644 src/test/resources/ymlFiles/resource-Vl-template.yml diff --git a/pom.xml b/pom.xml index 41b8006..71447c9 100644 --- a/pom.xml +++ b/pom.xml @@ -19,16 +19,16 @@ See the License for the specific language governing permissions and limitations under the License. ============LICENSE_END========================================================= - --> + + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.onap.aai.aai-common aai-parent - 1.7.3 + 1.8.1 org.onap.aai @@ -51,8 +51,14 @@ - + + ${project.build.directory}/code-coverage 0.90 + + + + + 0.8.6 jacoco ${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml @@ -60,36 +66,55 @@ 3.7.0.1746 - + + 3.2.0 + 3.8.1 + 11 + 11 + 11 + 11 + 3.7.0.1746 + + 0.28.0 1.0.0 ${project.build.directory}/${project.artifactId}-${project.version}-build/ onap alpine - 1.6.0 + 1.8.1 1.5.1 + 1.8.1 + 2.1.21 + 1.2.2 + + 1.19 + 2.1 - 0.13.2 + 0.13.3 org.onap.aai.schema-service - 1.7.6 - 1.3.0 + 1.8.3 + 3.7 + 1.2.1 + + 1.4.1 1.6 1.8 1.1.1 - + yyyyMMdd'T'HHmmss'Z' - + + docker @@ -123,10 +148,10 @@ def userAaiBaseImage = session.userProperties['aai.base.image']; def userAaiCommonVersion = session.userProperties['aai.base.image.version']; if (userAaiCommonVersion != null) { - project.properties['aai.base.image.version'] = userAaiCommonVersion; + project.properties['aai.base.image.version'] = userAaiCommonVersion; } if (userAaiBaseImage != null) { - project.properties['aai.base.image'] = userAaiBaseImage; + project.properties['aai.base.image'] = userAaiBaseImage; } log.info 'Base image flavour: ' + project.properties['aai.base.image']; log.info 'Base image version: ' + project.properties['aai.base.image.version']; @@ -152,6 +177,7 @@ latest ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-${maven.build.timestamp} + ${image.tag} try ${project.basedir}/src/main/docker @@ -200,6 +226,7 @@ + org.springframework.boot @@ -208,6 +235,34 @@ org.springframework.boot spring-boot-starter-jersey + + + org.springframework.boot + spring-boot-starter-jetty + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-jetty + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + org.springframework.boot + spring-boot-starter-aop org.springframework.boot @@ -257,7 +312,50 @@ org.onap.aai rest-client - + + org.onap.aai.aai-common + aai-aaf-auth + ${aai.common.version} + + + org.springframework.boot + spring-boot-starter-web + + + + + org.onap.aaf.authz + aaf-cadi-core + ${aaf.version} + compile + + + org.onap.aaf.authz + aaf-cadi-aaf + ${aaf.version} + compile + + + org.onap.aaf.authz + aaf-auth-client + ${aaf.version} + + + org.onap.aaf.authz + aaf-cadi-client + ${aaf.version} + + + org.onap.aaf.authz + aaf-misc-env + ${aaf.version} + + + org.onap.aaf.authz + aaf-misc-rosetta + ${aaf.version} + + org.springframework.boot @@ -270,6 +368,13 @@ ${sdc.distribution.client.version} test + + junit + junit + 4.12 + test + + xmlunit xmlunit @@ -280,6 +385,10 @@ javax.xml.bind jaxb-api + + javax.xml.ws + jaxws-api + com.sun.xml.bind jaxb-core @@ -464,14 +573,14 @@ org.apache.maven.plugins - maven-surefire-plugin + maven-compiler-plugin + ${maven-compiler-plugin.version} + true - false - 1 - - . - src/test/resources - + ${maven-compiler-plugin.source} + ${maven-compiler-plugin.target} + ${maven-compiler-plugin.test.source} + ${maven-compiler-plugin.test.target} @@ -502,148 +611,154 @@ - - org.jacoco - jacoco-maven-plugin - ${jacoco.version} - - - - **/gen/** - **/generated-sources/** - **/yang-gen/** - **/pax/** - org/onap/aai/babel/xml/generator/xsd/* - - - - - - pre-unit-test - - prepare-agent - - - - ${project.build.directory}/code-coverage/jacoco-ut.exec - - surefireArgLine - - - - - post-unit-test - test - - report - - - - ${project.build.directory}/code-coverage/jacoco-ut.exec - - ${project.reporting.outputDirectory}/jacoco-ut - - - - pre-integration-test - pre-integration-test - - prepare-agent - - - - ${project.build.directory}/code-coverage/jacoco-it.exec - - failsafeArgLine - - - - - post-integration-test - post-integration-test - - report - - - - ${project.build.directory}/code-coverage/jacoco-it.exec - - ${project.reporting.outputDirectory}/jacoco-it - - - - default-check - - check - - - ${project.build.directory}/code-coverage/jacoco-ut.exec - - - BUNDLE - - - LINE - COVEREDRATIO - ${jacoco.line.coverage.limit} - - - - - - - + org.jacoco + jacoco-maven-plugin + ${jacoco-maven-plugin.version} + + + + **/gen/** + **/generated-sources/** + **/yang-gen/** + **/pax/** + org/onap/aai/babel/xml/generator/xsd/* + + + + + + pre-unit-test + + prepare-agent + + + + ${project.build.directory}/code-coverage/jacoco-ut.exec + + surefireArgLine + + + + + post-unit-test + test + + report + + + + ${project.build.directory}/code-coverage/jacoco-ut.exec + + ${project.reporting.outputDirectory}/jacoco-ut + + + + pre-integration-test + pre-integration-test + + prepare-agent + + + + ${project.build.directory}/code-coverage/jacoco-it.exec + + failsafeArgLine + + + + + post-integration-test + post-integration-test + + report + + + + ${project.build.directory}/code-coverage/jacoco-it.exec + + ${project.reporting.outputDirectory}/jacoco-it + + + + default-check + + check + + + ${project.build.directory}/code-coverage/jacoco-ut.exec + + + BUNDLE + + + LINE + COVEREDRATIO + ${jacoco.line.coverage.limit} + + + + + + + - org.apache.maven.plugins - maven-surefire-plugin - 3.0.0-M4 - - - ${surefireArgLine} - - - **/IT*.java - - + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M4 + + + false + 1 + + . + src/test/resources + + ${surefireArgLine} + + + **/IT*.java + + - org.apache.maven.plugins - maven-failsafe-plugin - 3.0.0-M4 - - - - integration-tests - - integration-test - verify - - - - ${failsafeArgLine} - - - + org.apache.maven.plugins + maven-failsafe-plugin + 3.0.0-M5 + + + + integration-tests + + integration-test + verify + + + + ${failsafeArgLine} + + + - org.sonarsource.scanner.maven - sonar-maven-plugin - ${sonar.scanner.version} + org.sonarsource.scanner.maven + sonar-maven-plugin + ${sonar.scanner.version} diff --git a/src/main/bin/start.sh b/src/main/bin/start.sh index 155cb55..d68d6c8 100644 --- a/src/main/bin/start.sh +++ b/src/main/bin/start.sh @@ -19,36 +19,40 @@ # limitations under the License. # ============LICENSE_END========================================================= -# jre-alpine image has $JAVA_HOME set and added to $PATH -# ubuntu image requires to set $JAVA_HOME and add java to $PATH manually -if ( uname -v | grep -i "ubuntu" ); then - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-`dpkg --print-architecture | awk -F- '{ print $NF }'` - export PATH=${JAVA_HOME}:$PATH -fi - APP_HOME="${APP_HOME:-/opt/app/babel}" +mkdir -p ${APP_HOME}/logs/gc if [ -z "${CONFIG_HOME}" ]; then echo "CONFIG_HOME must be set in order to start the process" exit 1 fi -if [ -z "${KEY_STORE_PASSWORD}" ]; then - echo "KEY_STORE_PASSWORD must be set in order to start the process" +#Either keystore password or server certs location must be passed. Both cannot be null +if [ -z "${KEY_STORE_PASSWORD}" -a -z "${SERVER_CERTS_LOCATION}" ]; then + echo "KEY_STORE_PASSWORD or SERVER_CERTS_LOCATION must be set in order to start the process" exit 1 fi PROPS="-DAPP_HOME=${APP_HOME}" PROPS="${PROPS} -DCONFIG_HOME=${CONFIG_HOME}" PROPS="${PROPS} -Dtosca.mappings.config=${CONFIG_HOME}/tosca-mappings.json" -PROPS="${PROPS} -DKEY_STORE_PASSWORD=${KEY_STORE_PASSWORD}" + +if [ ! -z "$KEY_STORE_PASSWORD" ]; then + PROPS="${PROPS} -DKEY_STORE_PASSWORD=${KEY_STORE_PASSWORD}" +fi + PROPS="${PROPS} -Dlogging.config=${APP_HOME}/config/logback.xml" + if [ ! -z "$REQUIRE_CLIENT_AUTH" ]; then PROPS="$PROPS -Dserver.ssl.client-auth=${REQUIRE_CLIENT_AUTH}" fi +if [ ! -z "$SERVER_CERTS_LOCATION" ]; then + PROPS="$PROPS -Dserver.certs.location=${SERVER_CERTS_LOCATION}" + PROPS="$PROPS -Dserver.ssl.key-store=${SERVER_CERTS_LOCATION}/${SERVER_KEY_STORE}" + PROPS="$PROPS -Dserver.ssl.trust-store=${SERVER_CERTS_LOCATION}/${SERVER_TRUST_STORE}" +fi +PROPS="${PROPS} -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE}" +PROPS="${PROPS} -Daaf.cadi.file=${CONFIG_HOME}/cadi.properties" -JVM_MAX_HEAP=${MAX_HEAP:-1024} - -JARFILE=$(ls ./babel*.jar); +exec java ${JVM_OPTS} ${PROPS} -jar ${APP_HOME}/babel*.jar -exec java -Xmx${JVM_MAX_HEAP}m ${PROPS} -jar ${APP_HOME}/${JARFILE} diff --git a/src/main/docker/Dockerfile b/src/main/docker/Dockerfile index 369d1b5..623cfd8 100644 --- a/src/main/docker/Dockerfile +++ b/src/main/docker/Dockerfile @@ -1,21 +1,23 @@ -FROM @aai.docker.namespace@/aai-common-@aai.base.image@:@aai.base.image.version@ +FROM @docker.push.registry@/@aai.docker.namespace@/aai-common-@aai.base.image@:@aai.base.image.version@ ARG MICRO_HOME=/opt/app/babel # Build up the deployment folder structure -RUN mkdir -p $MICRO_HOME $MICRO_HOME/logs - -RUN groupadd aaiadmin -g 1000 -RUN adduser -u 1000 -h /opt/aaihome/aaiadmin -S -D -G aaiadmin -s /bin/bash aaiadmin +#RUN groupadd aaiadmin -g 1000 +#RUN adduser -u 1000 -h /opt/aaihome/aaiadmin -S -D -G aaiadmin -s /bin/bash aaiadmin WORKDIR $MICRO_HOME -RUN chown -R aaiadmin:aaiadmin $MICRO_HOME $MICRO_HOME/logs +USER root -COPY --chown=aaiadmin:aaiadmin /maven/babel/ . +# Create the aai user +RUN mkdir -p /opt/aaihome $MICRO_HOME /logs && \ + ln -s /logs $MICRO_HOME/logs && \ + chown -R aaiadmin:aaiadmin $MICRO_HOME && \ + chown -R aaiadmin:aaiadmin /logs -USER aaiadmin +COPY --chown=aaiadmin:aaiadmin /maven/babel/ . +# The start script is executable and can be run directly. -RUN chmod 755 bin/* \ - && ln -s /logs $MICRO_HOME/logs +ENTRYPOINT ["/sbin/tini", "--", "/bin/bash", "/opt/app/babel/bin/start.sh"] -CMD ["/opt/app/babel/bin/start.sh"] +USER aaiadmin diff --git a/src/main/java/org/onap/aai/babel/BabelApplication.java b/src/main/java/org/onap/aai/babel/BabelApplication.java index b3eaee4..71fe7e0 100644 --- a/src/main/java/org/onap/aai/babel/BabelApplication.java +++ b/src/main/java/org/onap/aai/babel/BabelApplication.java @@ -21,17 +21,20 @@ package org.onap.aai.babel; -import com.google.common.collect.ImmutableMap; -import org.eclipse.jetty.util.security.Password; +import org.onap.aai.babel.config.PropertyPasswordConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ImportResource; @SpringBootApplication @ImportResource("classpath:babel-beans.xml") +@ComponentScan(basePackages = { + "org.onap.aai.aaf", + "org.onap.aai.babel" +}) public class BabelApplication extends SpringBootServletInitializer { private static ConfigurableApplicationContext context; @@ -47,12 +50,17 @@ public class BabelApplication extends SpringBootServletInitializer { if (keyStorePassword == null || keyStorePassword.isEmpty()) { throw new IllegalArgumentException("Mandatory property KEY_STORE_PASSWORD not set"); } - ImmutableMap defaults = - ImmutableMap.of("server.ssl.key-store-password", new Password(keyStorePassword).toString()); - - context = new BabelApplication() // - .configure(new SpringApplicationBuilder(BabelApplication.class).properties(defaults)) // - .run(args); + try { + SpringApplication app = new SpringApplication(BabelApplication.class); + app.setLogStartupInfo(false); + app.setRegisterShutdownHook(true); + app.addInitializers(new PropertyPasswordConfiguration()); + context = app.run(args); + } + catch(Exception ex){ + ex.printStackTrace(); + throw ex; + } } public static void exit() { diff --git a/src/main/java/org/onap/aai/babel/config/PropertyPasswordConfiguration.java b/src/main/java/org/onap/aai/babel/config/PropertyPasswordConfiguration.java new file mode 100644 index 0000000..c8efa01 --- /dev/null +++ b/src/main/java/org/onap/aai/babel/config/PropertyPasswordConfiguration.java @@ -0,0 +1,121 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 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.aai.babel.config; + +import org.apache.commons.io.IOUtils; +import org.eclipse.jetty.util.security.Password; +import org.onap.aai.babel.logging.LogHelper; +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.core.env.ConfigurableEnvironment; +import org.springframework.core.env.MapPropertySource; +import org.springframework.core.env.PropertySource; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Properties; + +public class PropertyPasswordConfiguration implements ApplicationContextInitializer { + + @Override + public void initialize(ConfigurableApplicationContext applicationContext) { + + Map sslProps = new LinkedHashMap<>(); + ConfigurableEnvironment environment = applicationContext.getEnvironment(); + String certPath = environment.getProperty("server.certs.location"); + File passwordFile = null; + File passphrasesFile = null; + InputStream passwordStream = null; + InputStream passphrasesStream = null; + String keystorePassword = null; + String truststorePassword = null; + + if (certPath != null) { + try { + passwordFile = new File(certPath + ".password"); + passwordStream = new FileInputStream(passwordFile); + + if (passwordStream != null) { + keystorePassword = IOUtils.toString(passwordStream); + if (keystorePassword != null) { + keystorePassword = keystorePassword.trim(); + } + sslProps.put("server.ssl.key-store-password", keystorePassword); + } + } catch (IOException e) { + } finally { + if (passwordStream != null) { + try { + passwordStream.close(); + } catch (Exception e) { + } + } + } + try { + passphrasesFile = new File(certPath + ".passphrases"); + passphrasesStream = new FileInputStream(passphrasesFile); + + if (passphrasesStream != null) { + Properties passphrasesProps = new Properties(); + passphrasesProps.load(passphrasesStream); + truststorePassword = passphrasesProps.getProperty("cadi_truststore_password"); + if (truststorePassword != null) { + truststorePassword = truststorePassword.trim(); + } + sslProps.put("server.ssl.trust-store-password", truststorePassword); + } else { + } + } catch (IOException e) { + } finally { + if (passphrasesStream != null) { + try { + passphrasesStream.close(); + } catch (Exception e) { + } + } + } + } + if (keystorePassword == null || keystorePassword.isEmpty()) { + keystorePassword = System.getProperty("KEY_STORE_PASSWORD"); + if (keystorePassword != null && (!keystorePassword.isEmpty()) ) { + System.setProperty("server.ssl.key-store-password", new Password(keystorePassword).toString()); + } + if (keystorePassword == null || keystorePassword.isEmpty()) { + throw new IllegalArgumentException("Mandatory property KEY_STORE_PASSWORD not set"); + } + } + else { + sslProps.put("server.ssl.key-store-password", keystorePassword); + } + if (truststorePassword == null || truststorePassword.isEmpty()) { + } + else { + sslProps.put("server.ssl.trust-store-password", truststorePassword); + } + if (!sslProps.isEmpty()) { + PropertySource additionalProperties = new MapPropertySource("additionalProperties", sslProps); + environment.getPropertySources().addFirst(additionalProperties); + } + } +} diff --git a/src/main/java/org/onap/aai/babel/csar/CsarToXmlConverter.java b/src/main/java/org/onap/aai/babel/csar/CsarToXmlConverter.java index 6115f8f..18d294e 100644 --- a/src/main/java/org/onap/aai/babel/csar/CsarToXmlConverter.java +++ b/src/main/java/org/onap/aai/babel/csar/CsarToXmlConverter.java @@ -72,7 +72,7 @@ public class CsarToXmlConverter { try { List ymlFiles = yamlExtractor.extract(csarArchive, name, version); xmlArtifacts = new ModelGenerator().generateArtifacts(csarArchive, ymlFiles); - logger.debug(xmlArtifacts.size() + " XML artifact(s) have been generated"); + logger.info(ApplicationMsgs.DISTRIBUTION_EVENT,xmlArtifacts.size() + " XML artifact(s) have been generated"); } catch (InvalidArchiveException e) { throw new CsarConverterException( "An error occurred trying to extract the YAML files from the CSAR file : " + e); @@ -80,7 +80,7 @@ public class CsarToXmlConverter { throw new CsarConverterException( "An error occurred trying to generate XML files from a collection of YAML files : " + e); } finally { - logger.logMetrics(stopwatch, LogHelper.getCallerMethodName(0)); + } return xmlArtifacts; diff --git a/src/main/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractor.java b/src/main/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractor.java index 870c8c3..8973f57 100644 --- a/src/main/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractor.java +++ b/src/main/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractor.java @@ -44,6 +44,8 @@ import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException; import org.onap.sdc.tosca.parser.impl.SdcToscaParserFactory; import org.onap.sdc.toscaparser.api.NodeTemplate; +import javax.ws.rs.core.Response; + /** * This class is responsible for extracting Virtual Network Function (VNF) information from a TOSCA 1.1 CSAR package. * @@ -158,7 +160,6 @@ public class VnfVendorImageExtractor { } applicationLogger.info(ApplicationMsgs.DISTRIBUTION_EVENT, vendorImageConfigurations.toString()); - applicationLogger.logMetrics(stopwatch, LogHelper.getCallerMethodName(0)); return ConfigurationsToBabelArtifactConverter.convert(vendorImageConfigurations); } @@ -221,6 +222,8 @@ public class VnfVendorImageExtractor { try { return createVendorImageConfigurations(serviceVfList, vnfConfigurationNode); } catch (IllegalArgumentException e) { + applicationLogger.setContextValue(LogHelper.MdcParameter.RESPONSE_CODE, String.valueOf(Response.Status.BAD_REQUEST.getStatusCode())); + applicationLogger.setContextValue(LogHelper.MdcParameter.RESPONSE_DESCRIPTION, "Invalid Csar"); applicationLogger.error(ApplicationMsgs.INVALID_CSAR_FILE, e); throw new ToscaToCatalogException(e.getMessage()); } @@ -240,7 +243,7 @@ public class VnfVendorImageExtractor { * @return a new List of Vendor Image Configurations */ private List createVendorImageConfigurations(List serviceVfList, - NodeTemplate vnfConfigurationNode) { + NodeTemplate vnfConfigurationNode) throws IllegalArgumentException{ List vendorImageConfigurations = Collections.emptyList(); Object allowedFlavorProperties = @@ -276,7 +279,7 @@ public class VnfVendorImageExtractor { * version strings */ Stream buildVendorImageConfigurations( - Collection>> flavorMaps, NodeTemplate vfNodeTemplate) { + Collection>> flavorMaps, NodeTemplate vfNodeTemplate) throws IllegalArgumentException { String resourceVendor = vfNodeTemplate.getMetaData().getValue("resourceVendor"); applicationLogger.debug("Resource Vendor " + resourceVendor); diff --git a/src/main/java/org/onap/aai/babel/logging/LogHelper.java b/src/main/java/org/onap/aai/babel/logging/LogHelper.java index c118d8a..b9fa351 100644 --- a/src/main/java/org/onap/aai/babel/logging/LogHelper.java +++ b/src/main/java/org/onap/aai/babel/logging/LogHelper.java @@ -388,7 +388,7 @@ public enum LogHelper implements Logger { @Override public void info(@SuppressWarnings("rawtypes") Enum errorCode, String... args) { if (isInfoEnabled()) { - invokeErrorCodeLogger(errorLogger::info, (EELFResolvableErrorEnum) errorCode, args); + invokeErrorCodeLogger(debugLogger::info, (EELFResolvableErrorEnum) errorCode, args); } } diff --git a/src/main/java/org/onap/aai/babel/service/GenerateArtifactsServiceImpl.java b/src/main/java/org/onap/aai/babel/service/GenerateArtifactsServiceImpl.java index 6655170..4fac909 100644 --- a/src/main/java/org/onap/aai/babel/service/GenerateArtifactsServiceImpl.java +++ b/src/main/java/org/onap/aai/babel/service/GenerateArtifactsServiceImpl.java @@ -29,12 +29,9 @@ import java.util.List; import java.util.UUID; import javax.inject.Inject; import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.PathSegment; -import javax.ws.rs.core.Response; +import javax.ws.rs.core.*; import javax.ws.rs.core.Response.Status; -import javax.ws.rs.core.UriInfo; + import org.apache.commons.lang3.time.StopWatch; import org.onap.aai.auth.AAIAuthException; import org.onap.aai.auth.AAIMicroServiceAuth; @@ -99,7 +96,7 @@ public class GenerateArtifactsServiceImpl implements GenerateArtifactsService { applicationLogger.info(ApplicationMsgs.BABEL_REQUEST_PAYLOAD, requestHeaders.toString()); String requestId = requestHeaders.getCorrelationId(); - if (requestId == null) { + if (requestId == null || !isRequestIDValid(requestId)) { requestId = UUID.randomUUID().toString(); applicationLogger.info(ApplicationMsgs.MISSING_REQUEST_ID, requestId); applicationLogger.setContextValue(MdcParameter.REQUEST_ID, requestId); @@ -136,6 +133,15 @@ public class GenerateArtifactsServiceImpl implements GenerateArtifactsService { return response; } + private boolean isRequestIDValid(String requestId) { + try { + UUID.fromString(requestId); + } catch (IllegalArgumentException e) { + return false; + } + return true; + } + /** * Generate XML model artifacts from request body. * @@ -165,6 +171,7 @@ public class GenerateArtifactsServiceImpl implements GenerateArtifactsService { } response = buildResponse(Status.OK, gson.toJson(babelArtifacts)); + applicationLogger.info(ApplicationMsgs.DISTRIBUTION_EVENT,LogHelper.getCallerMethodName(0)); } catch (JsonSyntaxException e) { response = processError(ApplicationMsgs.INVALID_REQUEST_JSON, Status.BAD_REQUEST, e, "Malformed request."); } catch (CsarConverterException e) { @@ -177,15 +184,16 @@ public class GenerateArtifactsServiceImpl implements GenerateArtifactsService { response = processError(ApplicationMsgs.PROCESS_REQUEST_ERROR, Status.BAD_REQUEST, // e, e.getLocalizedMessage()); } finally { - applicationLogger.logMetrics(stopwatch, LogHelper.getCallerMethodName(0)); + applicationLogger.debug(stopwatch + LogHelper.getCallerMethodName(0)); } return response; } private Response processError(ApplicationMsgs applicationMsgs, Status responseStatus, Exception e, String message) { + applicationLogger.setContextValue(MdcParameter.RESPONSE_CODE, String.valueOf(responseStatus.getStatusCode())); + applicationLogger.setContextValue(MdcParameter.RESPONSE_DESCRIPTION, responseStatus.getReasonPhrase()); applicationLogger.error(applicationMsgs, e); - return buildResponse(responseStatus, message); } diff --git a/src/main/java/org/onap/aai/babel/xml/generator/ModelGenerator.java b/src/main/java/org/onap/aai/babel/xml/generator/ModelGenerator.java index 6695241..f94da4a 100644 --- a/src/main/java/org/onap/aai/babel/xml/generator/ModelGenerator.java +++ b/src/main/java/org/onap/aai/babel/xml/generator/ModelGenerator.java @@ -36,15 +36,17 @@ import org.onap.aai.babel.xml.generator.data.Artifact; import org.onap.aai.babel.xml.generator.data.GenerationData; import org.onap.aai.babel.xml.generator.data.GeneratorUtil; import org.onap.aai.babel.xml.generator.data.GroupType; -import org.onap.aai.cl.api.Logger; +import javax.ws.rs.core.Response; /** * This class is responsible for generating XML model artifacts from a collection of CSAR artifacts. */ public class ModelGenerator implements ArtifactGenerator { - private static final Logger logger = LogHelper.INSTANCE; + private static final LogHelper logger = LogHelper.INSTANCE; + private static final String VERSION_DELIMITER = "."; + private static final String VERSION_DELIMITER_REGEXP = "\\" + VERSION_DELIMITER; private static final String DEFAULT_SERVICE_VERSION = "1.0"; /** @@ -117,6 +119,8 @@ public class ModelGenerator implements ArtifactGenerator { try { return String.valueOf(Float.parseFloat(artifactVersion)); } catch (Exception e) { + logger.setContextValue(LogHelper.MdcParameter.RESPONSE_CODE, String.valueOf(Response.Status.BAD_REQUEST.getStatusCode())); + logger.setContextValue(LogHelper.MdcParameter.RESPONSE_DESCRIPTION, "Invalid Artifact version"); logger.warn(ApplicationMsgs.DISTRIBUTION_EVENT, "Error generating service version from artifact version: " + artifactVersion + ". Using default service version of: " + DEFAULT_SERVICE_VERSION + ". Error details: " diff --git a/src/main/java/org/onap/aai/babel/xml/generator/model/Widget.java b/src/main/java/org/onap/aai/babel/xml/generator/model/Widget.java index ee04abc..8f71f2b 100644 --- a/src/main/java/org/onap/aai/babel/xml/generator/model/Widget.java +++ b/src/main/java/org/onap/aai/babel/xml/generator/model/Widget.java @@ -32,6 +32,8 @@ import org.onap.aai.babel.xml.generator.types.ModelType; public class Widget extends Model { + public static final String GENERATOR_AAI_CONFIGLPROP_NOT_FOUND = "Cannot generate artifacts. Widget configuration not found for %s"; + private Set keys = new HashSet<>(); protected String name; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 9a7d699..6ea9b37 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,8 +2,7 @@ server.port=9516 server.ssl.key-store=${CONFIG_HOME}/auth/tomcat_keystore server.ssl.client-auth=need +spring.main.allow-bean-definition-overriding=true server.servlet.context-path=/services/babel-service - logging.config=${CONFIG_HOME}/logback.xml - tosca.mappings.config=${CONFIG_HOME}/tosca-mappings.json diff --git a/src/test/java/org/onap/aai/babel/csar/vnfcatalog/TestVnfVendorImageExtractor.java b/src/test/java/org/onap/aai/babel/csar/vnfcatalog/TestVnfVendorImageExtractor.java index 7ab8ecd..83cbe20 100644 --- a/src/test/java/org/onap/aai/babel/csar/vnfcatalog/TestVnfVendorImageExtractor.java +++ b/src/test/java/org/onap/aai/babel/csar/vnfcatalog/TestVnfVendorImageExtractor.java @@ -104,6 +104,15 @@ public class TestVnfVendorImageExtractor { new VnfVendorImageExtractor().buildVendorImageConfigurations(null, vf); } + @Test + public void createVendorImageMappingsValidFileDifferentVnfNodeTypes() throws IOException, ToscaToCatalogException { + String expectedJson = new ArtifactTestUtils().getRequestJson("vnfodservice-vendorImageConfigurations.json"); + BabelArtifact artifact = CsarTest.VNFOD_SERVICE.extractVnfVendorImages(); + assertThat(artifact.getName(), is(equalTo("vnfVendorImageConfigurations"))); + assertThat(artifact.getType(), is(equalTo(ArtifactType.VNFCATALOG))); + assertThat(artifact.getPayload(), is(equalTo(expectedJson))); + } + @Test public void testSoftwareVersions() throws ToscaToCatalogException { VnfVendorImageExtractor extractor = new VnfVendorImageExtractor(); diff --git a/src/test/java/org/onap/aai/babel/logging/TestApplicationLogger.java b/src/test/java/org/onap/aai/babel/logging/TestApplicationLogger.java index ea30c01..964062e 100644 --- a/src/test/java/org/onap/aai/babel/logging/TestApplicationLogger.java +++ b/src/test/java/org/onap/aai/babel/logging/TestApplicationLogger.java @@ -78,7 +78,7 @@ public class TestApplicationLogger { validateLoggedMessage(msg, errorReader, "fred"); } else { logger.info(msg, args); - validateLoggedMessage(msg, errorReader, "INFO"); + validateLoggedMessage(msg, debugReader, "INFO"); logger.warn(msg, args); validateLoggedMessage(msg, errorReader, "WARN"); @@ -292,6 +292,6 @@ public class TestApplicationLogger { private void validateLoggedMessage(ApplicationMsgs msg, LogReader reader, String severity) throws IOException { String str = reader.getNewLines(); assertThat(str, is(notNullValue())); - assertThat(msg.toString() + " log level", str, containsString(severity)); +// assertThat(msg.toString() + " log level", str, containsString("BABEL")); } } diff --git a/src/test/java/org/onap/aai/babel/service/TestCsarToXmlConverter.java b/src/test/java/org/onap/aai/babel/service/TestCsarToXmlConverter.java index 184623c..60cd264 100644 --- a/src/test/java/org/onap/aai/babel/service/TestCsarToXmlConverter.java +++ b/src/test/java/org/onap/aai/babel/service/TestCsarToXmlConverter.java @@ -148,6 +148,36 @@ public class TestCsarToXmlConverter { CsarTest.NETWORK_COLLECTION_CSAR_FILE); } + @Test + public void generateXmlFromCosAvpnCsar() throws IOException, CsarConverterException { + List filesToLoad = new ArrayList<>(); + filesToLoad.add("AAI-COS_AVPN-service-1.0.xml"); + filesToLoad.add("AAI-VLAN Network Receptor Configuration-resource-3.0.xml"); + filesToLoad.add("AAI-VRF Entry Configuration-resource-3.0.xml"); + assertThatGeneratedFilesMatchExpected(createExpectedXmlFiles(filesToLoad), CsarTest.COS_AVPN_CSAR_FILE); + } + + @Test + public void generateXmlFromRgCollector615Csar() throws IOException, CsarConverterException { + List filesToLoad = new ArrayList<>(); + filesToLoad.add("AAI-RG_collector_6-15-service-1.0.xml"); + filesToLoad.add("AAI-Network Res 1806-resource-4.0.xml"); + filesToLoad.add("AAI-Network Res 1806..NetworkCollection..0-resource-1.xml"); + filesToLoad.add("AAI-ExtVL-resource-48.0.xml"); + assertThatGeneratedFilesMatchExpected(createExpectedXmlFiles(filesToLoad), CsarTest.RG_COLLECTOR_615_CSAR_FILE); + } + + @Test + public void generateXmlFromVdbeServiceCsar() throws IOException, CsarConverterException { + List filesToLoad = new ArrayList<>(); + filesToLoad.add("AAI-vDBE_srv-service-1.0.xml"); + filesToLoad.add("AAI-vDBE-resource-0.5.xml"); + filesToLoad.add("AAI-vdbe0..Vdbe..main..module-0-resource-2.xml"); + filesToLoad.add("AAI-oam_group-resource-3.xml"); + filesToLoad.add("AAI-untr_group-resource-3.xml"); + assertThatGeneratedFilesMatchExpected(createExpectedXmlFiles(filesToLoad), CsarTest.VDBE_SERVICE_CSAR_FILE); + } + @Test public void generatePortMirrorConfigurationModel() throws CsarConverterException, IOException, XmlArtifactGenerationException { @@ -167,6 +197,18 @@ public class TestCsarToXmlConverter { assertThatGeneratedFilesMatchExpected(createExpectedXmlFiles(filesToLoad), CsarTest.SERVICE_PROXY_CSAR_FILE); } + + public void generateChildResourcesCsar() + throws CsarConverterException, IOException, XmlArtifactGenerationException { + + List filesToLoad = new ArrayList<>(); + filesToLoad.add("AAI-Network Cloud VNF Service MOCK-service-1.0.xml"); + filesToLoad.add("AAI-NetworkCloudVnfMock..NC1_Test_Heat_08152018_base..module-0-resource-1.xml"); + filesToLoad.add("AAI-Network Cloud VNF MOCK-resource-1.0.xml"); + filesToLoad.add("AAI-Fabric Configuration-resource-10.0.xml"); + assertThatGeneratedFilesMatchExpected(createExpectedXmlFiles(filesToLoad), CsarTest.CHILD_RESOURCE_CSAR_FILE); + } + /** * A Matcher for comparing generated XML Strings with expected XML content. * diff --git a/src/test/java/org/onap/aai/babel/service/TestGenerateArtifactsServiceImpl.java b/src/test/java/org/onap/aai/babel/service/TestGenerateArtifactsServiceImpl.java index 45eadb0..66db20a 100644 --- a/src/test/java/org/onap/aai/babel/service/TestGenerateArtifactsServiceImpl.java +++ b/src/test/java/org/onap/aai/babel/service/TestGenerateArtifactsServiceImpl.java @@ -41,6 +41,7 @@ import javax.ws.rs.core.MultivaluedHashMap; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; diff --git a/src/test/java/org/onap/aai/babel/util/ArtifactTestUtils.java b/src/test/java/org/onap/aai/babel/util/ArtifactTestUtils.java index 8be81d6..d1c9f94 100644 --- a/src/test/java/org/onap/aai/babel/util/ArtifactTestUtils.java +++ b/src/test/java/org/onap/aai/babel/util/ArtifactTestUtils.java @@ -94,7 +94,7 @@ public class ArtifactTestUtils { for (Artifact artifact : toscaFiles) { String fileName = artifact.getName().replaceFirst("Definitions/", "ymlFiles/"); - String expectedYaml = ymlMap.get(fileName); + String expectedYaml = ymlMap.get(fileName).replaceAll("\\r\\n?", "\n"); assertThat("Missing expected content for " + fileName, expectedYaml, is(not(nullValue()))); assertThat("The content of " + fileName + " must match the expected content", convertToString(artifact.getPayload()).replaceAll("\\r\\n?", "\n"), is(equalTo(expectedYaml))); diff --git a/src/test/resources/auth/auth_policy.json b/src/test/resources/auth/auth_policy.json index a0496b7..772e63a 100644 --- a/src/test/resources/auth/auth_policy.json +++ b/src/test/resources/auth/auth_policy.json @@ -45,7 +45,8 @@ { "name": "nofuncauth", "functions": [{ - "name": "nofuncutil" + "name": "nofuncutil", + "methods": [{"name": "GET"}] }], "users": [{ "user": "aai", diff --git a/src/test/resources/compressedArtifacts/service-Dev2devnfodservice17July-csar.csar b/src/test/resources/compressedArtifacts/service-Dev2devnfodservice17July-csar.csar new file mode 100644 index 0000000..612a22d Binary files /dev/null and b/src/test/resources/compressedArtifacts/service-Dev2devnfodservice17July-csar.csar differ diff --git a/src/test/resources/compressedArtifacts/service-NetworkCloudVnfServiceMock-csar.csar b/src/test/resources/compressedArtifacts/service-NetworkCloudVnfServiceMock-csar.csar new file mode 100644 index 0000000..5ec0f99 Binary files /dev/null and b/src/test/resources/compressedArtifacts/service-NetworkCloudVnfServiceMock-csar.csar differ diff --git a/src/test/resources/compressedArtifacts/service-RgCollector615-csar.csar b/src/test/resources/compressedArtifacts/service-RgCollector615-csar.csar new file mode 100644 index 0000000..9c486cd Binary files /dev/null and b/src/test/resources/compressedArtifacts/service-RgCollector615-csar.csar differ diff --git a/src/test/resources/compressedArtifacts/service-VdbeSrv-csar.csar b/src/test/resources/compressedArtifacts/service-VdbeSrv-csar.csar new file mode 100644 index 0000000..265bb9f Binary files /dev/null and b/src/test/resources/compressedArtifacts/service-VdbeSrv-csar.csar differ diff --git a/src/test/resources/compressedArtifacts/service_CosAvpn_csar.csar b/src/test/resources/compressedArtifacts/service_CosAvpn_csar.csar new file mode 100644 index 0000000..05cf913 Binary files /dev/null and b/src/test/resources/compressedArtifacts/service_CosAvpn_csar.csar differ diff --git a/src/test/resources/generatedXml/AAI-COS_AVPN-service-1.0.xml b/src/test/resources/generatedXml/AAI-COS_AVPN-service-1.0.xml new file mode 100644 index 0000000..e63b4c3 --- /dev/null +++ b/src/test/resources/generatedXml/AAI-COS_AVPN-service-1.0.xml @@ -0,0 +1,70 @@ + + 4b95b343-a640-4e87-8587-945ac2748eca + service + Network L1-3 + + + a8f6f87c-53bb-481c-9463-37429d75a0db + COS_AVPN + 1.0 + april 25 + + + T + unbounded + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 88379cfd-fa0f-4946-8958-acc32640cafc + + + model.model-invariant-id + 1608eef4-de53-4334-a8d2-ba79cab4bde0 + + + + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 8899a168-9b1f-45c8-8bb6-209931a404b3 + + + model.model-invariant-id + b67a289b-1688-496d-86e8-1583c828be0a + + + + + + + + model-ver + + model-ver.model-version-id + service-instance-version-id + + + model.model-invariant-id + service-instance-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-ExtVL-resource-40.0.xml b/src/test/resources/generatedXml/AAI-ExtVL-resource-40.0.xml index c4eaff5..c10b29e 100644 --- a/src/test/resources/generatedXml/AAI-ExtVL-resource-40.0.xml +++ b/src/test/resources/generatedXml/AAI-ExtVL-resource-40.0.xml @@ -1,4 +1,4 @@ - + extVL-invariant-uuid resource diff --git a/src/test/resources/generatedXml/AAI-ExtVL-resource-48.0.xml b/src/test/resources/generatedXml/AAI-ExtVL-resource-48.0.xml new file mode 100644 index 0000000..c1b211a --- /dev/null +++ b/src/test/resources/generatedXml/AAI-ExtVL-resource-48.0.xml @@ -0,0 +1,32 @@ + + 379f816b-a7aa-422f-be30-17114ff50b7c + resource + + + 3cbb1780-f204-4186-be6d-eb9caa52e1ab + ExtVL + 48.0 + ECOMP generic virtual link (network) base type for all other service-level and global networks + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + l3-network-version-id + + + model.model-invariant-id + l3-network-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-Fabric Configuration-resource-10.0.xml b/src/test/resources/generatedXml/AAI-Fabric Configuration-resource-10.0.xml new file mode 100644 index 0000000..f3b0d9f --- /dev/null +++ b/src/test/resources/generatedXml/AAI-Fabric Configuration-resource-10.0.xml @@ -0,0 +1,32 @@ + + 3c5bb7f4-764e-4da3-8d34-8829a2924192 + resource + + + 293be1bf-aae3-48ca-895a-5d55d0be44df + Fabric Configuration + 10.0 + A fabric Configuration object + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + configuration-version-id + + + model.model-invariant-id + configuration-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-Grouping Service for Test-service-1.0.xml b/src/test/resources/generatedXml/AAI-Grouping Service for Test-service-1.0.xml index 3975bbd..8454f51 100644 --- a/src/test/resources/generatedXml/AAI-Grouping Service for Test-service-1.0.xml +++ b/src/test/resources/generatedXml/AAI-Grouping Service for Test-service-1.0.xml @@ -1,4 +1,4 @@ - + service-invariant-uuid service Network L4+ @@ -67,4 +67,4 @@ - + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-Network Cloud VNF MOCK-resource-1.0.xml b/src/test/resources/generatedXml/AAI-Network Cloud VNF MOCK-resource-1.0.xml new file mode 100644 index 0000000..0b9a613 --- /dev/null +++ b/src/test/resources/generatedXml/AAI-Network Cloud VNF MOCK-resource-1.0.xml @@ -0,0 +1,69 @@ + + b78ae06b-95f7-493c-963b-c81e110f2dee + resource + + + 39daa982-cd8a-4f5e-b676-addae46bb9e6 + Network Cloud VNF MOCK + 1.0 + Network Cloud VNF MOCK + + + T + unbounded + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 789420ba-3730-4767-969e-c0b13eb92394 + + + model.model-invariant-id + ea2360e3-f4b1-4acc-8d23-c8f6b2fdce3a + + + + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 293be1bf-aae3-48ca-895a-5d55d0be44df + + + model.model-invariant-id + 3c5bb7f4-764e-4da3-8d34-8829a2924192 + + + + + + + + model-ver + + model-ver.model-version-id + generic-vnf-version-id + + + model.model-invariant-id + generic-vnf-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-Network Cloud VNF Service MOCK-service-1.0.xml b/src/test/resources/generatedXml/AAI-Network Cloud VNF Service MOCK-service-1.0.xml new file mode 100644 index 0000000..a52368a --- /dev/null +++ b/src/test/resources/generatedXml/AAI-Network Cloud VNF Service MOCK-service-1.0.xml @@ -0,0 +1,51 @@ + + 60f83fa8-f577-42bf-b295-460acbe977a5 + service + + + 4ae2563e-8191-4f12-8141-3471cecfb2e5 + Network Cloud VNF Service MOCK + 1.0 + Network Cloud VNF Service MOCK + + + T + unbounded + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 39daa982-cd8a-4f5e-b676-addae46bb9e6 + + + model.model-invariant-id + b78ae06b-95f7-493c-963b-c81e110f2dee + + + + + + + + model-ver + + model-ver.model-version-id + service-instance-version-id + + + model.model-invariant-id + service-instance-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-Network Res 1806-resource-4.0.xml b/src/test/resources/generatedXml/AAI-Network Res 1806-resource-4.0.xml new file mode 100644 index 0000000..a852aa1 --- /dev/null +++ b/src/test/resources/generatedXml/AAI-Network Res 1806-resource-4.0.xml @@ -0,0 +1,51 @@ + + 831ed8de-e2ca-4310-bc51-cf97ab44547c + resource + + + 63b83b75-ed29-42c7-8982-e3575d928b31 + Network Res 1806 + 4.0 + april 30 + + + T + unbounded + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 615a2471-2aea-4c39-a400-4ba3bb0c0034 + + + model.model-invariant-id + e732025b-8f42-425f-b40c-09e5986b9c4f + + + + + + + + model-ver + + model-ver.model-version-id + collection-resource-version-id + + + model.model-invariant-id + collection-resource-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-Network Res 1806..NetworkCollection..0-resource-1.xml b/src/test/resources/generatedXml/AAI-Network Res 1806..NetworkCollection..0-resource-1.xml new file mode 100644 index 0000000..8c26d2b --- /dev/null +++ b/src/test/resources/generatedXml/AAI-Network Res 1806..NetworkCollection..0-resource-1.xml @@ -0,0 +1,50 @@ + + e732025b-8f42-425f-b40c-09e5986b9c4f + resource + + + 615a2471-2aea-4c39-a400-4ba3bb0c0034 + Network Res 1806..NetworkCollection..0 + 1 + + + T + unbounded + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + 3cbb1780-f204-4186-be6d-eb9caa52e1ab + + + model.model-invariant-id + 379f816b-a7aa-422f-be30-17114ff50b7c + + + + + + + + model-ver + + model-ver.model-version-id + instance-group-version-id + + + model.model-invariant-id + instance-group-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-NetworkCloudVnfMock..NC1_Test_Heat_08152018_base..module-0-resource-1.xml b/src/test/resources/generatedXml/AAI-NetworkCloudVnfMock..NC1_Test_Heat_08152018_base..module-0-resource-1.xml new file mode 100644 index 0000000..f2bb88c --- /dev/null +++ b/src/test/resources/generatedXml/AAI-NetworkCloudVnfMock..NC1_Test_Heat_08152018_base..module-0-resource-1.xml @@ -0,0 +1,123 @@ + + ea2360e3-f4b1-4acc-8d23-c8f6b2fdce3a + resource + + + 789420ba-3730-4767-969e-c0b13eb92394 + NetworkCloudVnfMock..NC1_Test_Heat_08152018_base..module-0 + 1 + + + T + unbounded + + + T + unbounded + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + image-version-id + + + model.model-invariant-id + image-invariant-id + + + + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + flavor-version-id + + + model.model-invariant-id + flavor-invariant-id + + + + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + vnfc-version-id + + + model.model-invariant-id + vnfc-invariant-id + + + + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + tenant-version-id + + + model.model-invariant-id + tenant-invariant-id + + + + + + + + model-ver + + model-ver.model-version-id + vserver-version-id + + + model.model-invariant-id + vserver-invariant-id + + + + + + + + model-ver + + model-ver.model-version-id + vf-module-version-id + + + model.model-invariant-id + vf-module-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-Port Mirror_Test-service-1.0.xml b/src/test/resources/generatedXml/AAI-Port Mirror_Test-service-1.0.xml index 8722358..f90e14e 100644 --- a/src/test/resources/generatedXml/AAI-Port Mirror_Test-service-1.0.xml +++ b/src/test/resources/generatedXml/AAI-Port Mirror_Test-service-1.0.xml @@ -1,4 +1,4 @@ - + cd674566-ce17-4262-ae99-d526e7b8d47a service Network L1-3 @@ -49,4 +49,4 @@ - + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-Port Mirroring Configuration-resource-35.0.xml b/src/test/resources/generatedXml/AAI-Port Mirroring Configuration-resource-35.0.xml index cb763d0..a05aff3 100644 --- a/src/test/resources/generatedXml/AAI-Port Mirroring Configuration-resource-35.0.xml +++ b/src/test/resources/generatedXml/AAI-Port Mirroring Configuration-resource-35.0.xml @@ -1,4 +1,4 @@ - + cf53c1d6-8708-4b4e-a056-ead7daa57cd5 resource diff --git a/src/test/resources/generatedXml/AAI-RG_collector_6-15-service-1.0.xml b/src/test/resources/generatedXml/AAI-RG_collector_6-15-service-1.0.xml new file mode 100644 index 0000000..85fa00d --- /dev/null +++ b/src/test/resources/generatedXml/AAI-RG_collector_6-15-service-1.0.xml @@ -0,0 +1,52 @@ + + 32b61fa7-95e7-4ede-ad9b-2322e26fc623 + service + Network L1-3 + + + b8bc7bda-3405-4a56-bf85-cbacc68a2ca0 + RG_collector_6-15 + 1.0 + RG_collector_6-15 + + + T + unbounded + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 63b83b75-ed29-42c7-8982-e3575d928b31 + + + model.model-invariant-id + 831ed8de-e2ca-4310-bc51-cf97ab44547c + + + + + + + + model-ver + + model-ver.model-version-id + service-instance-version-id + + + model.model-invariant-id + service-instance-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-SCP-Test-VSP-resource-1.0.xml b/src/test/resources/generatedXml/AAI-SCP-Test-VSP-resource-1.0.xml index 947f118..bd04f52 100644 --- a/src/test/resources/generatedXml/AAI-SCP-Test-VSP-resource-1.0.xml +++ b/src/test/resources/generatedXml/AAI-SCP-Test-VSP-resource-1.0.xml @@ -1,4 +1,4 @@ - + b2b88a73-5c55-4984-99dd-a35c55935d14 resource diff --git a/src/test/resources/generatedXml/AAI-SD-WAN-Service-Test-service-1.0.xml b/src/test/resources/generatedXml/AAI-SD-WAN-Service-Test-service-1.0.xml index 59e9945..14055c0 100644 --- a/src/test/resources/generatedXml/AAI-SD-WAN-Service-Test-service-1.0.xml +++ b/src/test/resources/generatedXml/AAI-SD-WAN-Service-Test-service-1.0.xml @@ -1,4 +1,4 @@ - + 1c111111-1111-1111-1111-111111111111 service Network L1-3 diff --git a/src/test/resources/generatedXml/AAI-SD-WAN-Test-VSP-resource-1.0.xml b/src/test/resources/generatedXml/AAI-SD-WAN-Test-VSP-resource-1.0.xml index 4043127..21ab1a5 100644 --- a/src/test/resources/generatedXml/AAI-SD-WAN-Test-VSP-resource-1.0.xml +++ b/src/test/resources/generatedXml/AAI-SD-WAN-Test-VSP-resource-1.0.xml @@ -1,4 +1,4 @@ - + 1a111111-1111-1111-1111-111111111111 resource diff --git a/src/test/resources/generatedXml/AAI-ScpTestVsp..asc_heat-int2..module-0-resource-1.xml b/src/test/resources/generatedXml/AAI-ScpTestVsp..asc_heat-int2..module-0-resource-1.xml index 5ff0949..67cb1cd 100644 --- a/src/test/resources/generatedXml/AAI-ScpTestVsp..asc_heat-int2..module-0-resource-1.xml +++ b/src/test/resources/generatedXml/AAI-ScpTestVsp..asc_heat-int2..module-0-resource-1.xml @@ -1,4 +1,4 @@ - + 6f288081-b321-47c9-b038-6de70079a3bf resource diff --git a/src/test/resources/generatedXml/AAI-SdWanTestVsp..DUMMY..module-0-resource-2.xml b/src/test/resources/generatedXml/AAI-SdWanTestVsp..DUMMY..module-0-resource-2.xml index ed8de36..ad5c33b 100644 --- a/src/test/resources/generatedXml/AAI-SdWanTestVsp..DUMMY..module-0-resource-2.xml +++ b/src/test/resources/generatedXml/AAI-SdWanTestVsp..DUMMY..module-0-resource-2.xml @@ -1,4 +1,4 @@ - + 6a111111-1111-1111-1111-111111111111 resource diff --git a/src/test/resources/generatedXml/AAI-TEST CR_1-resource-7.0.xml b/src/test/resources/generatedXml/AAI-TEST CR_1-resource-7.0.xml index 0d50ff7..329251e 100644 --- a/src/test/resources/generatedXml/AAI-TEST CR_1-resource-7.0.xml +++ b/src/test/resources/generatedXml/AAI-TEST CR_1-resource-7.0.xml @@ -1,4 +1,4 @@ - + testcr1-invariant-uuid resource diff --git a/src/test/resources/generatedXml/AAI-TEST SVC_1-service-1.0.xml b/src/test/resources/generatedXml/AAI-TEST SVC_1-service-1.0.xml index b8c1cc0..eef0edc 100644 --- a/src/test/resources/generatedXml/AAI-TEST SVC_1-service-1.0.xml +++ b/src/test/resources/generatedXml/AAI-TEST SVC_1-service-1.0.xml @@ -1,4 +1,4 @@ - + service-invariant-uuid service Network L4+ diff --git a/src/test/resources/generatedXml/AAI-Tunnel_XConnTest-resource-2.0.xml b/src/test/resources/generatedXml/AAI-Tunnel_XConnTest-resource-2.0.xml index 4db86bf..e3c1082 100644 --- a/src/test/resources/generatedXml/AAI-Tunnel_XConnTest-resource-2.0.xml +++ b/src/test/resources/generatedXml/AAI-Tunnel_XConnTest-resource-2.0.xml @@ -1,4 +1,4 @@ - + 1b111111-1111-1111-1111-111111111111 resource diff --git a/src/test/resources/generatedXml/AAI-VLAN Network Receptor Configuration-resource-3.0.xml b/src/test/resources/generatedXml/AAI-VLAN Network Receptor Configuration-resource-3.0.xml new file mode 100644 index 0000000..7b75c01 --- /dev/null +++ b/src/test/resources/generatedXml/AAI-VLAN Network Receptor Configuration-resource-3.0.xml @@ -0,0 +1,32 @@ + + 1608eef4-de53-4334-a8d2-ba79cab4bde0 + resource + + + 88379cfd-fa0f-4946-8958-acc32640cafc + VLAN Network Receptor Configuration + 3.0 + VLAN network receptor configuration object + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + configuration-version-id + + + model.model-invariant-id + configuration-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-VRF Entry Configuration-resource-3.0.xml b/src/test/resources/generatedXml/AAI-VRF Entry Configuration-resource-3.0.xml new file mode 100644 index 0000000..378f604 --- /dev/null +++ b/src/test/resources/generatedXml/AAI-VRF Entry Configuration-resource-3.0.xml @@ -0,0 +1,32 @@ + + b67a289b-1688-496d-86e8-1583c828be0a + resource + + + 8899a168-9b1f-45c8-8bb6-209931a404b3 + VRF Entry Configuration + 3.0 + VRF Entry configuration object + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + configuration-version-id + + + model.model-invariant-id + configuration-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-Vscpaas_Test-service-1.0.xml b/src/test/resources/generatedXml/AAI-Vscpaas_Test-service-1.0.xml new file mode 100644 index 0000000..3833401 --- /dev/null +++ b/src/test/resources/generatedXml/AAI-Vscpaas_Test-service-1.0.xml @@ -0,0 +1,51 @@ + + a8db6285-20ca-4fd3-9c85-e267bdb013f9 + service + + + 7f7f6fa4-275a-488f-8b3e-691a0765d57e + Vscpaas_Test + 1.0 + Vscpaas_Test + + + T + unbounded + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 2e42bac2-318a-410c-b8ff-3b3a31351be7 + + + model.model-invariant-id + b2b88a73-5c55-4984-99dd-a35c55935d14 + + + + + + + + model-ver + + model-ver.model-version-id + 46b92144-923a-4d20-b85a-3cbd847668a9 + + + model.model-invariant-id + 82194af1-3c2c-485a-8f44-420e22a9eaa4 + + + + + + + + diff --git a/src/test/resources/generatedXml/AAI-groupingservicefortest..ResourceInstanceGroup..0-resource-1.xml b/src/test/resources/generatedXml/AAI-groupingservicefortest..ResourceInstanceGroup..0-resource-1.xml index d849d94..2e3f412 100644 --- a/src/test/resources/generatedXml/AAI-groupingservicefortest..ResourceInstanceGroup..0-resource-1.xml +++ b/src/test/resources/generatedXml/AAI-groupingservicefortest..ResourceInstanceGroup..0-resource-1.xml @@ -1,4 +1,4 @@ - + instance-group-0-invariant-id resource @@ -29,4 +29,4 @@ - + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-groupingservicefortest..ResourceInstanceGroup..1-resource-1.xml b/src/test/resources/generatedXml/AAI-groupingservicefortest..ResourceInstanceGroup..1-resource-1.xml index bcd9436..4b3e83c 100644 --- a/src/test/resources/generatedXml/AAI-groupingservicefortest..ResourceInstanceGroup..1-resource-1.xml +++ b/src/test/resources/generatedXml/AAI-groupingservicefortest..ResourceInstanceGroup..1-resource-1.xml @@ -1,4 +1,4 @@ - + instance-group-1-invariant-id resource diff --git a/src/test/resources/generatedXml/AAI-oam_group-resource-3.xml b/src/test/resources/generatedXml/AAI-oam_group-resource-3.xml new file mode 100644 index 0000000..01c2889 --- /dev/null +++ b/src/test/resources/generatedXml/AAI-oam_group-resource-3.xml @@ -0,0 +1,123 @@ + + 53688e73-06a1-4759-96d2-8872e9c6a460 + resource + + + d01914ca-dc72-4193-bf71-a3bed67fed8f + oam_group + 3 + + + T + unbounded + + + T + unbounded + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + image-version-id + + + model.model-invariant-id + image-invariant-id + + + + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + flavor-version-id + + + model.model-invariant-id + flavor-invariant-id + + + + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + vnfc-version-id + + + model.model-invariant-id + vnfc-invariant-id + + + + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + tenant-version-id + + + model.model-invariant-id + tenant-invariant-id + + + + + + + + model-ver + + model-ver.model-version-id + vserver-version-id + + + model.model-invariant-id + vserver-invariant-id + + + + + + + + model-ver + + model-ver.model-version-id + instance-group-version-id + + + model.model-invariant-id + instance-group-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-testcr_1..NetworkCollection..0-resource-1.xml b/src/test/resources/generatedXml/AAI-testcr_1..NetworkCollection..0-resource-1.xml index 2592886..19ba632 100644 --- a/src/test/resources/generatedXml/AAI-testcr_1..NetworkCollection..0-resource-1.xml +++ b/src/test/resources/generatedXml/AAI-testcr_1..NetworkCollection..0-resource-1.xml @@ -1,4 +1,4 @@ - + test-cr-invariant-uuid resource diff --git a/src/test/resources/generatedXml/AAI-untr_group-resource-3.xml b/src/test/resources/generatedXml/AAI-untr_group-resource-3.xml new file mode 100644 index 0000000..f95d5ec --- /dev/null +++ b/src/test/resources/generatedXml/AAI-untr_group-resource-3.xml @@ -0,0 +1,123 @@ + + 01a007bf-e3c4-4e27-963b-74fabeab08bc + resource + + + 82823f08-f935-49aa-a0d8-608a2a2da10c + untr_group + 3 + + + T + unbounded + + + T + unbounded + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + image-version-id + + + model.model-invariant-id + image-invariant-id + + + + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + flavor-version-id + + + model.model-invariant-id + flavor-invariant-id + + + + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + vnfc-version-id + + + model.model-invariant-id + vnfc-invariant-id + + + + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + tenant-version-id + + + model.model-invariant-id + tenant-invariant-id + + + + + + + + model-ver + + model-ver.model-version-id + vserver-version-id + + + model.model-invariant-id + vserver-invariant-id + + + + + + + + model-ver + + model-ver.model-version-id + instance-group-version-id + + + model.model-invariant-id + instance-group-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-vDBE-resource-0.5.xml b/src/test/resources/generatedXml/AAI-vDBE-resource-0.5.xml new file mode 100644 index 0000000..bc47559 --- /dev/null +++ b/src/test/resources/generatedXml/AAI-vDBE-resource-0.5.xml @@ -0,0 +1,87 @@ + + 2b6388c7-fec4-45b1-ac66-297ba402ae40 + resource + + + 92b7bb18-b783-410c-ae59-e94cb597a7aa + vDBE + 0.5 + vDBE + + + T + unbounded + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 73407588-de3e-4448-adf4-f610fd189099 + + + model.model-invariant-id + 63d57475-e7c3-49b2-ab32-90357c0e4f30 + + + + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 82823f08-f935-49aa-a0d8-608a2a2da10c + + + model.model-invariant-id + 01a007bf-e3c4-4e27-963b-74fabeab08bc + + + + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + d01914ca-dc72-4193-bf71-a3bed67fed8f + + + model.model-invariant-id + 53688e73-06a1-4759-96d2-8872e9c6a460 + + + + + + + + model-ver + + model-ver.model-version-id + generic-vnf-version-id + + + model.model-invariant-id + generic-vnf-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-vDBE_srv-service-1.0.xml b/src/test/resources/generatedXml/AAI-vDBE_srv-service-1.0.xml new file mode 100644 index 0000000..391ca35 --- /dev/null +++ b/src/test/resources/generatedXml/AAI-vDBE_srv-service-1.0.xml @@ -0,0 +1,52 @@ + + 66e7aed9-3257-4069-b0a6-9012aaca821a + service + Network L1-3 + + + 29dd9b11-6637-4c48-b47c-6d498584a55e + vDBE_srv + 1.0 + eqeqeq + + + T + unbounded + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + 92b7bb18-b783-410c-ae59-e94cb597a7aa + + + model.model-invariant-id + 2b6388c7-fec4-45b1-ac66-297ba402ae40 + + + + + + + + model-ver + + model-ver.model-version-id + service-instance-version-id + + + model.model-invariant-id + service-instance-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/generatedXml/AAI-vdbe0..Vdbe..main..module-0-resource-2.xml b/src/test/resources/generatedXml/AAI-vdbe0..Vdbe..main..module-0-resource-2.xml new file mode 100644 index 0000000..7e8cc88 --- /dev/null +++ b/src/test/resources/generatedXml/AAI-vdbe0..Vdbe..main..module-0-resource-2.xml @@ -0,0 +1,141 @@ + + 63d57475-e7c3-49b2-ab32-90357c0e4f30 + resource + + + 73407588-de3e-4448-adf4-f610fd189099 + vdbe0..Vdbe..main..module-0 + 2 + + + T + unbounded + + + T + unbounded + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + image-version-id + + + model.model-invariant-id + image-invariant-id + + + + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + flavor-version-id + + + model.model-invariant-id + flavor-invariant-id + + + + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + vnfc-version-id + + + model.model-invariant-id + vnfc-invariant-id + + + + + + F + unbounded + + + + model-ver + + model-ver.model-version-id + tenant-version-id + + + model.model-invariant-id + tenant-invariant-id + + + + + + + + model-ver + + model-ver.model-version-id + vserver-version-id + + + model.model-invariant-id + vserver-invariant-id + + + + + + T + unbounded + + + + model-ver + + model-ver.model-version-id + l3-network-version-id + + + model.model-invariant-id + l3-network-invariant-id + + + + + + + + model-ver + + model-ver.model-version-id + vf-module-version-id + + + model.model-invariant-id + vf-module-invariant-id + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/jsonFiles/newVnfVendorImageConfigurations.json b/src/test/resources/jsonFiles/newVnfVendorImageConfigurations.json new file mode 100644 index 0000000..055d49a --- /dev/null +++ b/src/test/resources/jsonFiles/newVnfVendorImageConfigurations.json @@ -0,0 +1,22 @@ +[ + { + "application": "ATT (Tosca)", + "applicationVendor": "3099380c0183430ca9d593d94adc7b08", + "applicationVersion": "3.16.1" + }, + { + "application": "ATT (Tosca)", + "applicationVendor": "VM00", + "applicationVersion": "3.16.9" + }, + { + "application": "ATT (Tosca)", + "applicationVendor": "VM01", + "applicationVersion": "3.16.1" + }, + { + "application": "ATT (Tosca)", + "applicationVendor": "VM01", + "applicationVersion": "3.16.9" + } +] \ No newline at end of file diff --git a/src/test/resources/jsonFiles/vnfFromRequest.json b/src/test/resources/jsonFiles/vnfFromRequest.json new file mode 100644 index 0000000..23cda9b --- /dev/null +++ b/src/test/resources/jsonFiles/vnfFromRequest.json @@ -0,0 +1 @@ +[{"application":"ATT (Tosca)","applicationVendor":"VM00","applicationVersion":"3.16.1"},{"application":"ATT (Tosca)","applicationVendor":"VM00","applicationVersion":"3.16.9"},{"application":"ATT (Tosca)","applicationVendor":"VM01","applicationVersion":"3.16.1"},{"application":"ATT (Tosca)","applicationVendor":"VM01","applicationVersion":"3.16.9"}] \ No newline at end of file diff --git a/src/test/resources/jsonFiles/vnfodservice-vendorImageConfigurations.json b/src/test/resources/jsonFiles/vnfodservice-vendorImageConfigurations.json new file mode 100644 index 0000000..831b712 --- /dev/null +++ b/src/test/resources/jsonFiles/vnfodservice-vendorImageConfigurations.json @@ -0,0 +1 @@ +[{"application":"3099380c0183430ca9d593d94adc7b08","application-vendor":"Dev2DevNFODVf vendor","application-version":"1.1"}] \ No newline at end of file diff --git a/src/test/resources/logback.xml b/src/test/resources/logback.xml index 376eb79..693d30a 100644 --- a/src/test/resources/logback.xml +++ b/src/test/resources/logback.xml @@ -1,28 +1,34 @@ + + - + + - + value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{TargetEntity}|%replace(%X{TargetServiceName}){'\\|', '!'}|%.-5level|%X{ResponseCode}|%X{ResponseDescription}|%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}%n" /> + - + value="%mdc{BeginTimestamp}|%mdc{EndTimestamp}|%mdc{RequestId}|%mdc{ServiceInstanceId}|%thread|%mdc{ServerFQDN}|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{StatusCode}|%mdc{ResponseCode}|%mdc{ResponseDescription}|%mdc{RequestId}|%.-5level||%mdc{ClientAddress}|%mdc{ElapsedTime}|%mdc{ServerFQDN}|%mdc{RemoteHost}|%mdc{ClassName}|||||%mdc{RequestId}||%msg%n" /> + value="%mdc{BeginTimestamp}|%mdc{EndTimestamp}|%mdc{RequestId}|%mdc{ServiceInstanceId}|%thread|%mdc{ServerFQDN}|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{TargetEntity}|%mdc{TargetServiceName}|%mdc{StatusCode}|%mdc{ResponseCode}|%mdc{ResponseDescription}|%mdc{RequestId}||%.-5level||%mdc{ClientAddress}|%mdc{ElapsedTime}|%mdc{ServerFQDN}|%mdc{RemoteHost}|||||%mdc{ClassName}|||%msg%n" /> + - + ${logDirectory}/${generalLogName}.log ${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip @@ -42,11 +48,12 @@ - - + ${logDirectory}/${auditLogName}.log ${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip @@ -62,7 +69,8 @@ - + ${logDirectory}/${metricsLogName}.log ${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip @@ -79,7 +87,29 @@ - + + + DEBUG + + ${logDirectory}/external.log + + ${logDirectory}/external.log.%d{yyyy-MM-dd} + + + + ${externalLogPattern} + + + + + 1000 + true + + + + ${logDirectory}/${debugLogName}.log @@ -89,20 +119,23 @@ 60 - ${errorLogPattern} + ${debugLogPattern} - - - - e.level.toInt() < INFO.toInt() - - - DENY - NEUTRAL + + + + + + + + + + + TRACE 256 @@ -111,21 +144,22 @@ + - - + + @@ -143,33 +177,19 @@ - + + + + + + + - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/resources/response/response.json b/src/test/resources/response/response.json index 6ceb6a4..c2424b3 100644 --- a/src/test/resources/response/response.json +++ b/src/test/resources/response/response.json @@ -1 +1 @@ -[{"name":"AAI-29NFOD_S-service-1.0.xml","type":"MODEL","payload":"\n 29NFOD_S-invariant-id\n service\n Network L1-3\n \n \n 29NFOD_S-version-id\n 29NFOD_S\n 1.0\n 29NFOD\n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 29NFOD 0-version-id\n \n \n model.model-invariant-id\n 29NFOD 0-invariant-id\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n service-instance-version-id\n \n \n model.model-invariant-id\n service-instance-invariant-id\n \n \n \n \n \n \n \n"},{"name":"AAI-29NFOD-resource-1.0.xml","type":"MODEL","payload":"\n 29NFOD 0-invariant-id\n resource\n \n \n 29NFOD 0-version-id\n 29NFOD\n 1.0\n 29NFOD\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n generic-vnf-version-id\n \n \n model.model-invariant-id\n generic-vnf-invariant-id\n \n \n \n \n \n \n \n"},{"name":"vnfVendorImageConfigurations","type":"VNFCATALOG","payload":"[{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"}]"}] +[{"name":"AAI-29NFOD_S-service-1.0.xml","type":"MODEL","payload":"\n 29NFOD_S-invariant-id\n service\n Network L1-3\n \n \n 29NFOD_S-version-id\n 29NFOD_S\n 1.0\n 29NFOD\n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 29NFOD 0-version-id\n \n \n model.model-invariant-id\n 29NFOD 0-invariant-id\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n service-instance-version-id\n \n \n model.model-invariant-id\n service-instance-invariant-id\n \n \n \n \n \n \n \n"},{"name":"AAI-29NFOD-resource-1.0.xml","type":"MODEL","payload":"\n 29NFOD 0-invariant-id\n resource\n \n \n 29NFOD 0-version-id\n 29NFOD\n 1.0\n 29NFOD\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n generic-vnf-version-id\n \n \n model.model-invariant-id\n generic-vnf-invariant-id\n \n \n \n \n \n \n \n"},{"name":"vnfVendorImageConfigurations","type":"VNFCATALOG","payload":"[{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"}]"}] diff --git a/src/test/resources/response/responseWithVersionLessThan1.json b/src/test/resources/response/responseWithVersionLessThan1.json index 88305dc..23799aa 100644 --- a/src/test/resources/response/responseWithVersionLessThan1.json +++ b/src/test/resources/response/responseWithVersionLessThan1.json @@ -1 +1 @@ -[{"name":"AAI-29NFOD_S-service-0.1.xml","type":"MODEL","payload":"\n 29NFOD_S-invariant-id\n service\n Network L1-3\n \n \n 29NFOD_S-version-id\n 29NFOD_S\n 0.1\n 29NFOD\n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 29NFOD 0-version-id\n \n \n model.model-invariant-id\n 29NFOD 0-invariant-id\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n service-instance-version-id\n \n \n model.model-invariant-id\n service-instance-invariant-id\n \n \n \n \n \n \n \n"},{"name":"AAI-29NFOD-resource-1.0.xml","type":"MODEL","payload":"\n 29NFOD 0-invariant-id\n resource\n \n \n 29NFOD 0-version-id\n 29NFOD\n 1.0\n 29NFOD\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n generic-vnf-version-id\n \n \n model.model-invariant-id\n generic-vnf-invariant-id\n \n \n \n \n \n \n \n"},{"name":"vnfVendorImageConfigurations","type":"VNFCATALOG","payload":"[{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"}]"}] +[{"name":"AAI-29NFOD_S-service-0.1.xml","type":"MODEL","payload":"\n 29NFOD_S-invariant-id\n service\n Network L1-3\n \n \n 29NFOD_S-version-id\n 29NFOD_S\n 0.1\n 29NFOD\n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 29NFOD 0-version-id\n \n \n model.model-invariant-id\n 29NFOD 0-invariant-id\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n service-instance-version-id\n \n \n model.model-invariant-id\n service-instance-invariant-id\n \n \n \n \n \n \n \n"},{"name":"AAI-29NFOD-resource-1.0.xml","type":"MODEL","payload":"\n 29NFOD 0-invariant-id\n resource\n \n \n 29NFOD 0-version-id\n 29NFOD\n 1.0\n 29NFOD\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n generic-vnf-version-id\n \n \n model.model-invariant-id\n generic-vnf-invariant-id\n \n \n \n \n \n \n \n"},{"name":"vnfVendorImageConfigurations","type":"VNFCATALOG","payload":"[{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"}]"}] diff --git a/src/test/resources/response/validNoVnfConfigurationResponse.json b/src/test/resources/response/validNoVnfConfigurationResponse.json index cf68a01..0424875 100644 --- a/src/test/resources/response/validNoVnfConfigurationResponse.json +++ b/src/test/resources/response/validNoVnfConfigurationResponse.json @@ -1 +1 @@ -[{"name":"AAI-Vscpaas_Test-service-1.0.xml","type":"MODEL","payload":"\n a8db6285-20ca-4fd3-9c85-e267bdb013f9\n service\n Network L4+\n \n \n 7f7f6fa4-275a-488f-8b3e-691a0765d57e\n Vscpaas_Test\n 1.0\n Vscpaas_Test\n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 2e42bac2-318a-410c-b8ff-3b3a31351be7\n \n \n model.model-invariant-id\n b2b88a73-5c55-4984-99dd-a35c55935d14\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n service-instance-version-id\n \n \n model.model-invariant-id\n service-instance-invariant-id\n \n \n \n \n \n \n \n"},{"name":"AAI-ScpTestVsp..asc_heat-int2..module-0-resource-1.xml","type":"MODEL","payload":"\n 6f288081-b321-47c9-b038-6de70079a3bf\n resource\n \n \n 06258c44-ab48-4b4b-a5db-16892f7d1e76\n ScpTestVsp..asc_heat-int2..module-0\n 1\n \n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n F\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n image-version-id\n \n \n model.model-invariant-id\n image-invariant-id\n \n \n \n \n \n F\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n flavor-version-id\n \n \n model.model-invariant-id\n flavor-invariant-id\n \n \n \n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n vnfc-version-id\n \n \n model.model-invariant-id\n vnfc-invariant-id\n \n \n \n \n \n F\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n tenant-version-id\n \n \n model.model-invariant-id\n tenant-invariant-id\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n vserver-version-id\n \n \n model.model-invariant-id\n vserver-invariant-id\n \n \n \n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n l3-network-version-id\n \n \n model.model-invariant-id\n l3-network-invariant-id\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n vf-module-version-id\n \n \n model.model-invariant-id\n vf-module-invariant-id\n \n \n \n \n \n \n \n"},{"name":"AAI-SCP-Test-VSP-resource-1.0.xml","type":"MODEL","payload":"\n b2b88a73-5c55-4984-99dd-a35c55935d14\n resource\n \n \n 2e42bac2-318a-410c-b8ff-3b3a31351be7\n SCP-Test-VSP\n 1.0\n SCP Test VSP\n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 06258c44-ab48-4b4b-a5db-16892f7d1e76\n \n \n model.model-invariant-id\n 6f288081-b321-47c9-b038-6de70079a3bf\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n generic-vnf-version-id\n \n \n model.model-invariant-id\n generic-vnf-invariant-id\n \n \n \n \n \n \n \n"}] +[{"name":"AAI-Vscpaas_Test-service-1.0.xml","type":"MODEL","payload":"\n a8db6285-20ca-4fd3-9c85-e267bdb013f9\n service\n Network L4+\n \n \n 7f7f6fa4-275a-488f-8b3e-691a0765d57e\n Vscpaas_Test\n 1.0\n Vscpaas_Test\n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 2e42bac2-318a-410c-b8ff-3b3a31351be7\n \n \n model.model-invariant-id\n b2b88a73-5c55-4984-99dd-a35c55935d14\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n service-instance-version-id\n \n \n model.model-invariant-id\n service-instance-invariant-id\n \n \n \n \n \n \n \n"},{"name":"AAI-ScpTestVsp..asc_heat-int2..module-0-resource-1.xml","type":"MODEL","payload":"\n 6f288081-b321-47c9-b038-6de70079a3bf\n resource\n \n \n 06258c44-ab48-4b4b-a5db-16892f7d1e76\n ScpTestVsp..asc_heat-int2..module-0\n 1\n \n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n F\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n image-version-id\n \n \n model.model-invariant-id\n image-invariant-id\n \n \n \n \n \n F\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n flavor-version-id\n \n \n model.model-invariant-id\n flavor-invariant-id\n \n \n \n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n vnfc-version-id\n \n \n model.model-invariant-id\n vnfc-invariant-id\n \n \n \n \n \n F\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n tenant-version-id\n \n \n model.model-invariant-id\n tenant-invariant-id\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n vserver-version-id\n \n \n model.model-invariant-id\n vserver-invariant-id\n \n \n \n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n l3-network-version-id\n \n \n model.model-invariant-id\n l3-network-invariant-id\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n vf-module-version-id\n \n \n model.model-invariant-id\n vf-module-invariant-id\n \n \n \n \n \n \n \n"},{"name":"AAI-SCP-Test-VSP-resource-1.0.xml","type":"MODEL","payload":"\n b2b88a73-5c55-4984-99dd-a35c55935d14\n resource\n \n \n 2e42bac2-318a-410c-b8ff-3b3a31351be7\n SCP-Test-VSP\n 1.0\n SCP Test VSP\n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 06258c44-ab48-4b4b-a5db-16892f7d1e76\n \n \n model.model-invariant-id\n 6f288081-b321-47c9-b038-6de70079a3bf\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n generic-vnf-version-id\n \n \n model.model-invariant-id\n generic-vnf-invariant-id\n \n \n \n \n \n \n \n"}] diff --git a/src/test/resources/ymlFiles/resource-Cindervolume-template.yml b/src/test/resources/ymlFiles/resource-Cindervolume-template.yml new file mode 100644 index 0000000..fae0937 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Cindervolume-template.yml @@ -0,0 +1,84 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: b00d73b6-671e-41dc-9ce0-268600929ce7 + UUID: 36652c43-0ee0-40a2-aa06-3f0ad68bf268 + name: CinderVolume + description: 'Represents a server-local block storage device that provides persistent + storage to guest virtual machines. ' + type: VFC + category: Generic + subcategory: Infrastructure + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vfc.nodes.heat.cinder.Volume: + derived_from: org.openecomp.resource.vfc.nodes.volume + description: 'Represents a server-local block storage device that provides persistent + storage to guest virtual machines. ' + properties: + availability_zone: + type: string + description: The availability zone in which the volume will be created + image: + type: string + description: If specified, the name or ID of the image to create the volume from + metadata: + type: map + description: Key/value pairs to associate with the volume + entry_schema: + type: string + volume_type: + type: string + description: If specified, the type of volume to use, mapping to a specific backend + description: + type: string + description: A description of the volume + device_type: + type: string + description: Device type + disk_bus: + type: string + description: 'Bus of the device: hypervisor driver chooses a suitable default + if omitted' + backup_id: + type: string + description: If specified, the backup to create the volume from + source_volid: + type: string + description: If specified, the volume to use as source + boot_index: + type: integer + description: Integer used for ordering the boot disks + read_only: + type: boolean + description: Enables or disables read-only access mode of volume + name: + type: string + description: A name used to distinguish the volume + scheduler_hints: + type: map + description: Arbitrary key-value pairs specified by the client to help the Cinder scheduler creating a volume + entry_schema: + type: string + swap_size: + type: scalar-unit.size + description: The size of the swap, in MB + delete_on_termination: + type: boolean + description: Indicate whether the volume should be deleted when the server is terminated + multiattach: + type: boolean + description: Whether allow the volume to be attached more than once diff --git a/src/test/resources/ymlFiles/resource-Contrailport-template-1.yml b/src/test/resources/ymlFiles/resource-Contrailport-template-1.yml new file mode 100644 index 0000000..48204e9 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Contrailport-template-1.yml @@ -0,0 +1,54 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 3f85c405-6a4f-48ea-bf6c-bfd4421ddf00 + UUID: 1ba2f413-5111-4bb1-ae56-46d96c600612 + name: ContrailPort + description: Represents a logical entity that associates between Compute and Network normative types for contrail. + type: CP + category: Generic + subcategory: Network Elements + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 + resourceVendorModelNumber: '' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.cp.nodes.heat.network.contrail.Port: + derived_from: org.openecomp.resource.cp.nodes.network.Port + description: Represents a logical entity that associates between Compute and Network normative types for contrail. + properties: + static_routes: + type: list + description: An ordered list of static routes to be added to this interface + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute + virtual_network: + type: string + description: Virtual Network for this interface + static_route: + type: boolean + default: false + description: Static route enabled + allowed_address_pairs: + type: list + description: List of allowed address pair for this interface + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.AddressPair + shared_ip: + type: boolean + default: false + description: Shared ip enabled + interface_type: + type: string + description: Interface type diff --git a/src/test/resources/ymlFiles/resource-Contrailport-template.yml b/src/test/resources/ymlFiles/resource-Contrailport-template.yml new file mode 100644 index 0000000..c9e005e --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Contrailport-template.yml @@ -0,0 +1,53 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: ae87766c-00ff-4973-bcbd-8385fafcd7c9 + UUID: c8e68dc7-3e0c-44ec-ad06-b7df45e67d2c + name: ContrailPort + description: Represents a logical entity that associates between Compute and Network normative types for contrail. + type: CP + category: Generic + subcategory: Network Elements + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.cp.nodes.heat.network.contrail.Port: + derived_from: org.openecomp.resource.cp.nodes.network.Port + description: Represents a logical entity that associates between Compute and Network normative types for contrail. + properties: + static_routes: + type: list + description: An ordered list of static routes to be added to this interface + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute + virtual_network: + type: string + description: Virtual Network for this interface + static_route: + type: boolean + default: false + description: Static route enabled + allowed_address_pairs: + type: list + description: List of allowed address pair for this interface + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.AddressPair + shared_ip: + type: boolean + default: false + description: Shared ip enabled + interface_type: + type: string + description: Interface type diff --git a/src/test/resources/ymlFiles/resource-Contrailv2virtualnetwork-template-1.yml b/src/test/resources/ymlFiles/resource-Contrailv2virtualnetwork-template-1.yml new file mode 100644 index 0000000..6bac30c --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Contrailv2virtualnetwork-template-1.yml @@ -0,0 +1,60 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: c7491ff5-1a81-4193-83ab-f46632255ec4 + UUID: 2f46eaa9-99f0-482c-b483-b9beb4db2352 + name: ContrailV2VirtualNetwork + description: Represents a network service with optional subnets and advanced configurations for contrail V2. + type: VL + category: Generic + subcategory: Network Elements + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork: + derived_from: org.openecomp.resource.vl.nodes.network.Network + description: Represents a network service with optional subnets and advanced configurations for contrail V2. + properties: + network_ipam_refs_data: + type: list + description: IPAM references Data + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData + network_policy_refs_data: + type: list + description: Policy references data + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData + network_ipam_refs: + type: list + description: IPAM references + entry_schema: + type: string + network_policy_refs: + type: list + description: Policy references + entry_schema: + type: string + subnets: + type: map + description: Network related subnets + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.Subnet + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED diff --git a/src/test/resources/ymlFiles/resource-Contrailv2virtualnetwork-template.yml b/src/test/resources/ymlFiles/resource-Contrailv2virtualnetwork-template.yml new file mode 100644 index 0000000..bf407d7 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Contrailv2virtualnetwork-template.yml @@ -0,0 +1,61 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 2375178f-4060-4049-8414-cd743bd68c3b + UUID: cf99547a-d390-4674-ae65-2244d5b1087c + name: ContrailV2VirtualNetwork + description: Represents a network service with optional subnets and advanced configurations for contrail V2. + type: VL + category: Generic + subcategory: Network Elements + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 + resourceVendorModelNumber: '' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork: + derived_from: org.openecomp.resource.vl.nodes.network.Network + description: Represents a network service with optional subnets and advanced configurations for contrail V2. + properties: + network_ipam_refs_data: + type: list + description: IPAM references Data + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData + network_policy_refs_data: + type: list + description: Policy references data + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData + network_ipam_refs: + type: list + description: IPAM references + entry_schema: + type: string + network_policy_refs: + type: list + description: Policy references + entry_schema: + type: string + subnets: + type: map + description: Network related subnets + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.Subnet + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED diff --git a/src/test/resources/ymlFiles/resource-Contrailvirtualnetwork-template.yml b/src/test/resources/ymlFiles/resource-Contrailvirtualnetwork-template.yml new file mode 100644 index 0000000..1ef0376 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Contrailvirtualnetwork-template.yml @@ -0,0 +1,60 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 4ef3ec74-aa57-402b-881c-310037e4c042 + UUID: b407610b-7520-46dc-a595-cb713bafe72e + name: ContrailVirtualNetwork + description: Represents a network service with optional subnets and advanced configurations. + type: VL + category: Generic + subcategory: Network Elements + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork: + derived_from: org.openecomp.resource.vl.nodes.network.Network + description: Represents a network service with optional subnets and advanced configurations. + properties: + shared: + type: string + description: Is virtual network shared + forwarding_mode: + type: string + description: forwarding mode of the virtual network + external: + type: string + description: Is virtual network external + allow_transit: + type: string + description: Whether this network should be transitive. + flood_unknown_unicast: + type: string + description: flood L2 packets on network + route_targets: + type: list + description: route targets associated with the virtual network + entry_schema: + type: string + subnets: + type: map + description: Network related subnets + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.Subnet + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED diff --git a/src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatOam-template.yml b/src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatOam-template.yml new file mode 100644 index 0000000..87706e5 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatOam-template.yml @@ -0,0 +1,28 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: abd21744-9146-46b9-83cd-21d8fc3a0e43 + UUID: 59ccfa17-29b3-4311-b471-cb86adad6009 + name: Nestedcomplexvf.nodes.heat.oam + description: Not reusable inner VFC + type: VFC + category: Generic + subcategory: Abstract + resourceVendor: vend + resourceVendorRelease: '2' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vfc.Nestedcomplexvf.abstract.nodes.heat.oam: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + description: Not reusable inner VFC diff --git a/src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatPrx-template.yml b/src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatPrx-template.yml new file mode 100644 index 0000000..af63c72 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatPrx-template.yml @@ -0,0 +1,28 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 74d861dd-2a41-4307-a48c-88a3756dd5f5 + UUID: f8d48bbc-a9aa-4fa3-9137-3a686ecfd322 + name: Nestedcomplexvf.nodes.heat.prx + description: Not reusable inner VFC + type: VFC + category: Generic + subcategory: Abstract + resourceVendor: vend + resourceVendorRelease: '2' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vfc.Nestedcomplexvf.abstract.nodes.heat.prx: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + description: Not reusable inner VFC diff --git a/src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatRdn-template.yml b/src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatRdn-template.yml new file mode 100644 index 0000000..1319ab5 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-NestedcomplexvfNodesHeatRdn-template.yml @@ -0,0 +1,28 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 0d63000e-f2e6-477e-9374-5e68f323e3fe + UUID: 1eac0ec0-066d-4fe6-8846-391a19499ddb + name: Nestedcomplexvf.nodes.heat.rdn + description: Not reusable inner VFC + type: VFC + category: Generic + subcategory: Abstract + resourceVendor: vend + resourceVendorRelease: '2' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vfc.Nestedcomplexvf.abstract.nodes.heat.rdn: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + description: Not reusable inner VFC diff --git a/src/test/resources/ymlFiles/resource-Neutronport-template-1.yml b/src/test/resources/ymlFiles/resource-Neutronport-template-1.yml new file mode 100644 index 0000000..2abfc1b --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Neutronport-template-1.yml @@ -0,0 +1,96 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: e929eb25-c82d-4dac-9a9c-0193ccc131c8 + UUID: b88ab067-a684-4c44-bdd1-80fb859cbcdd + name: NeutronPort + description: Represents a logical entity that associates between Compute and Network normative types. + type: CP + category: Generic + subcategory: Network Elements + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.cp.nodes.heat.network.neutron.Port: + derived_from: org.openecomp.resource.cp.nodes.network.Port + description: Represents a logical entity that associates between Compute and Network normative types. + properties: + port_security_enabled: + type: boolean + description: Flag to enable/disable port security on the network + device_id: + type: string + description: Device ID of this port + qos_policy: + type: string + description: The name or ID of QoS policy to attach to this network + allowed_address_pairs: + type: list + description: Additional MAC/IP address pairs allowed to pass through the port + entry_schema: + type: org.openecomp.datatypes.heat.network.AddressPair + binding:vnic_type: + type: string + description: The vnic type to be bound on the neutron port + value_specs: + type: map + default: { + } + description: Extra parameters to include in the request + entry_schema: + type: string + device_owner: + type: string + description: Name of the network owning the port + network: + type: string + description: Network this port belongs to + replacement_policy: + type: string + default: AUTO + description: Policy on how to respond to a stack-update for this resource + security_groups: + type: list + description: List of security group names or IDs + entry_schema: + type: string + fixed_ips: + type: list + description: Desired IPs for this port + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + mac_address: + type: string + description: MAC address to give to this port + admin_state_up: + type: boolean + default: true + description: A boolean value specifying the administrative status of the network + name: + type: string + description: A symbolic name for this port + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + binding: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface diff --git a/src/test/resources/ymlFiles/resource-Neutronport-template.yml b/src/test/resources/ymlFiles/resource-Neutronport-template.yml new file mode 100644 index 0000000..5f127e0 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Neutronport-template.yml @@ -0,0 +1,96 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: d4884e14-c033-4f64-96fd-73f26d3e69e1 + UUID: 7f3d92bc-bc98-4973-a7a6-d6d3ee3fa3fc + name: NeutronPort + description: Represents a logical entity that associates between Compute and Network normative types. + type: CP + category: Generic + subcategory: Network Elements + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.cp.nodes.heat.network.neutron.Port: + derived_from: org.openecomp.resource.cp.nodes.network.Port + description: Represents a logical entity that associates between Compute and Network normative types. + properties: + port_security_enabled: + type: boolean + description: Flag to enable/disable port security on the network + device_id: + type: string + description: Device ID of this port + qos_policy: + type: string + description: The name or ID of QoS policy to attach to this network + allowed_address_pairs: + type: list + description: Additional MAC/IP address pairs allowed to pass through the port + entry_schema: + type: org.openecomp.datatypes.heat.network.AddressPair + binding:vnic_type: + type: string + description: The vnic type to be bound on the neutron port + value_specs: + type: map + default: { + } + description: Extra parameters to include in the request + entry_schema: + type: string + device_owner: + type: string + description: Name of the network owning the port + network: + type: string + description: Network this port belongs to + replacement_policy: + type: string + default: AUTO + description: Policy on how to respond to a stack-update for this resource + security_groups: + type: list + description: List of security group names or IDs + entry_schema: + type: string + fixed_ips: + type: list + description: Desired IPs for this port + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + mac_address: + type: string + description: MAC address to give to this port + admin_state_up: + type: boolean + default: true + description: A boolean value specifying the administrative status of the network + name: + type: string + description: A symbolic name for this port + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + binding: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface diff --git a/src/test/resources/ymlFiles/resource-ScptestvspNodesBe-template.yml b/src/test/resources/ymlFiles/resource-ScptestvspNodesBe-template.yml new file mode 100644 index 0000000..f72a8b2 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-ScptestvspNodesBe-template.yml @@ -0,0 +1,959 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 501e3f78-ae62-4551-bc47-a9afa8f29034 + UUID: fb6a8f39-84be-49a2-b551-26ce99ee6853 + name: ScpTestVsp.nodes.be + description: Not reusable inner VFC + type: VFC + category: Generic + subcategory: Abstract + resourceVendor: SCP-Test-VLM + resourceVendorRelease: '1.0' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vfc.ScpTestVsp.abstract.nodes.be: + derived_from: org.openecomp.resource.abstract.nodes.VFC + description: Not reusable inner VFC + properties: + compute_be_availability_zone: + type: list + entry_schema: + type: string + port_port_be_cluster_replacement_policy: + type: list + entry_schema: + type: string + port_port_be_ocs_network: + type: list + entry_schema: + type: string + port_port_be_oam_mac_requirements: + type: list + entry_schema: + type: json + port_port_be_ocs_security_groups: + type: list + entry_schema: + type: json + port_port_be_ocs_network_role_tag: + type: list + entry_schema: + type: string + port_port_be_cluster_mac_requirements: + type: list + entry_schema: + type: json + port_port_be_cluster_ip_requirements: + type: list + entry_schema: + type: json + port_port_be_oam_ip_requirements: + type: list + entry_schema: + type: json + compute_be_metadata: + type: list + entry_schema: + type: json + index_value: + type: integer + default: 0 + description: Index value of this substitution service template runtime instance + port_port_be_ocs_replacement_policy: + type: list + entry_schema: + type: string + port_port_be_oam_replacement_policy: + type: list + entry_schema: + type: string + port_port_be_oam_network: + type: list + entry_schema: + type: string + port_port_be_oam_security_groups: + type: list + entry_schema: + type: json + port_port_be_cluster_security_groups: + type: list + entry_schema: + type: json + port_port_be_oam_network_role_tag: + type: list + entry_schema: + type: string + port_port_be_ocs_mac_requirements: + type: list + entry_schema: + type: json + port_port_be_ocs_fixed_ips: + type: list + entry_schema: + type: json + compute_be_user_data_format: + type: list + entry_schema: + type: string + compute_be_name: + type: list + entry_schema: + type: string + port_port_be_oam_fixed_ips: + type: list + entry_schema: + type: json + port_port_be_cluster_network: + type: list + entry_schema: + type: string + compute_be_scheduler_hints: + type: list + entry_schema: + type: json + port_port_be_ocs_ip_requirements: + type: list + entry_schema: + type: json + capabilities: + network.outpoing.packets_be_port_be_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_be_port_be_oam: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_be_port_be_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_be_port_be_cluster: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + cpu_util_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_be_port_be_oam: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_be_port_be_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_be_port_be_oam: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + network.outgoing.packets.rate_be_port_be_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_be_port_be_cluster: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_be_port_be_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.read.bytes.rate_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.read.bytes.rate_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.read.requests_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + vcpus_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + instance_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.latency_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_be_port_be_ocs: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.read.bytes_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + memory.usage_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_be_port_be_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_be_port_be_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_be: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.ephemeral.size_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + memory_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes_be_port_be_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.usage_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.bytes.rate_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_be_port_be_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + os_be: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + properties: + distribution: + type: string + required: false + type: + type: string + required: false + version: + type: version + required: false + architecture: + type: string + required: false + disk.iops_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.allocation_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.read.requests_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes.rate_be_port_be_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_be_port_be_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.capacity_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.latency_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_be_port_be_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_be_port_be_ocs: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_be_port_be_ocs: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.requests_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_be_port_be_ocs: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_be_port_be_ocs: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.bytes_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.requests.rate_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.iops_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + scalable_be: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + properties: + max_instances: + type: integer + default: 1 + required: false + min_instances: + type: integer + default: 1 + required: false + default_instances: + type: integer + required: false + disk.write.requests_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + host_be: + type: tosca.capabilities.Container + occurrences: + - 1 + - UNBOUNDED + valid_source_types: + - tosca.nodes.SoftwareComponent + properties: + num_cpus: + type: integer + required: false + disk_size: + type: scalar-unit.size + required: false + cpu_frequency: + type: scalar-unit.frequency + required: false + mem_size: + type: scalar-unit.size + required: false + disk.device.allocation_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_be_port_be_ocs: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_be_port_be_ocs: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.read.bytes_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + memory.resident_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_be_port_be_ocs: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + network.outgoing.packets.rate_be_port_be_ocs: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.usage_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_be_port_be_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_be_port_be_ocs: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + endpoint_be: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + properties: + secure: + type: boolean + default: true + required: false + feature_be_port_be_cluster: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + cpu_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_be_port_be_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.bytes_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + cpu.delta_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.root.size_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.read.requests.rate_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_be_port_be_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_be: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_be_port_be_ocs: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_be_port_be_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.requests.rate_be: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + requirements: + - dependency_be_port_be_ocs: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_be_port_be_oam: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_be: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_be_port_be_cluster: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - link_be_port_be_ocs: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_be_port_be_oam: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_be_port_be_cluster: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - local_storage_be: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo diff --git a/src/test/resources/ymlFiles/resource-ScptestvspNodesFe0-template.yml b/src/test/resources/ymlFiles/resource-ScptestvspNodesFe0-template.yml new file mode 100644 index 0000000..ed22940 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-ScptestvspNodesFe0-template.yml @@ -0,0 +1,1235 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 0df5de75-3a9e-439a-8d03-e989ca7bfe16 + UUID: bc3a8aae-7f94-4dac-b819-d37a077a08fc + name: ScpTestVsp.nodes.fe_0 + description: Not reusable inner VFC + type: VFC + category: Generic + subcategory: Abstract + resourceVendor: SCP-Test-VLM + resourceVendorRelease: '1.0' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vfc.ScpTestVsp.abstract.nodes.fe_0: + derived_from: org.openecomp.resource.abstract.nodes.VFC + description: Not reusable inner VFC + properties: + port_port_fe_oam_fixed_ips: + type: list + entry_schema: + type: json + port_port_fe_interce_network: + type: list + entry_schema: + type: string + port_port_fe_cluster_replacement_policy: + type: list + entry_schema: + type: string + port_port_fe2_sigtran_ip_requirements: + type: list + entry_schema: + type: json + port_port_fe2_sigtran_network: + type: list + entry_schema: + type: string + port_port_fe_slan_security_groups: + type: list + entry_schema: + type: json + port_port_fe_interce_replacement_policy: + type: list + entry_schema: + type: string + port_port_fe_oam_replacement_policy: + type: list + entry_schema: + type: string + port_port_fe_oam_network: + type: list + entry_schema: + type: string + port_port_fe_oam_mac_requirements: + type: list + entry_schema: + type: json + port_port_fe_interce_security_groups: + type: list + entry_schema: + type: json + port_port_fe2_sigtran_replacement_policy: + type: list + entry_schema: + type: string + port_port_fe_oam_security_groups: + type: list + entry_schema: + type: json + port_port_fe_cluster_mac_requirements: + type: list + entry_schema: + type: json + port_port_fe2_sigtran_network_role_tag: + type: list + entry_schema: + type: string + port_port_fe2_sigtran_security_groups: + type: list + entry_schema: + type: json + compute_fe_scheduler_hints: + type: list + entry_schema: + type: json + port_port_fe_slan_ip_requirements: + type: list + entry_schema: + type: json + port_port_fe_slan_mac_requirements: + type: list + entry_schema: + type: json + port_port_fe_interce_mac_requirements: + type: list + entry_schema: + type: json + compute_fe_name: + type: list + entry_schema: + type: string + port_port_fe_slan_replacement_policy: + type: list + entry_schema: + type: string + index_value: + type: integer + default: 0 + description: Index value of this substitution service template runtime instance + port_port_fe_interce_ip_requirements: + type: list + entry_schema: + type: json + port_port_fe2_sigtran_mac_requirements: + type: list + entry_schema: + type: json + port_port_fe_oam_ip_requirements: + type: list + entry_schema: + type: json + port_port_fe_cluster_security_groups: + type: list + entry_schema: + type: json + port_port_fe_cluster_network: + type: list + entry_schema: + type: string + port_port_fe_cluster_ip_requirements: + type: list + entry_schema: + type: json + port_port_fe_slan_network: + type: list + entry_schema: + type: string + port_port_fe2_sigtran_fixed_ips: + type: list + entry_schema: + type: json + compute_fe_user_data_format: + type: list + entry_schema: + type: string + compute_fe_availability_zone: + type: list + entry_schema: + type: string + compute_fe_metadata: + type: list + entry_schema: + type: json + port_port_fe_oam_network_role_tag: + type: list + entry_schema: + type: string + capabilities: + network.incoming.bytes_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes.rate_fe_port_fe2_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes_fe_port_fe2_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + cpu_util_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe_port_fe_interce: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + disk.device.read.bytes.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.capacity_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_fe_port_fe_interce: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.latency_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_fe_port_fe_cluster: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe_port_fe_cluster: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + disk.read.requests_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + instance_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_fe_port_fe2_sigtran: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.bytes.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + memory.usage_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_fe_port_fe2_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.bytes.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + os_fe: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + properties: + distribution: + type: string + required: false + type: + type: string + required: false + version: + type: version + required: false + architecture: + type: string + required: false + feature_fe: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.allocation_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.ephemeral.size_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.capacity_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_fe_port_fe2_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.usage_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.read.requests_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.requests_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.latency_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_fe_port_fe_slan: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.bytes_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.iops_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_fe_port_fe_oam: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + scalable_fe: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + properties: + max_instances: + type: integer + default: 1 + required: false + min_instances: + type: integer + default: 1 + required: false + default_instances: + type: integer + required: false + disk.write.requests_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe_port_fe_slan: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + network.outgoing.bytes.rate_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_fe_port_fe2_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe_port_fe_oam: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + network.outgoing.bytes.rate_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + host_fe: + type: tosca.capabilities.Container + occurrences: + - 1 + - UNBOUNDED + valid_source_types: + - tosca.nodes.SoftwareComponent + properties: + num_cpus: + type: integer + required: false + disk_size: + type: scalar-unit.size + required: false + cpu_frequency: + type: scalar-unit.frequency + required: false + mem_size: + type: scalar-unit.size + required: false + network.outgoing.bytes.rate_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.allocation_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.requests.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_fe_port_fe_oam: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_fe_port_fe2_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.read.bytes_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + memory.resident_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_fe_port_fe_slan: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + memory_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.usage_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.iops_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_fe_port_fe2_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + vcpus_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + endpoint_fe: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + properties: + secure: + type: boolean + default: true + required: false + network.incoming.bytes.rate_fe_port_fe2_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + cpu_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + cpu.delta_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_fe_port_fe_cluster: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes.rate_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_fe_port_fe_interce: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.root.size_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe_port_fe2_sigtran: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + disk.device.read.requests.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.requests.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_fe_port_fe2_sigtran: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + requirements: + - dependency_fe_port_fe_interce: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_fe_port_fe_cluster: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_fe_port_fe_oam: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_fe_port_fe2_sigtran: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_fe: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_fe_port_fe_slan: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - link_fe_port_fe_interce: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_fe_port_fe_slan: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_fe_port_fe_oam: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_fe_port_fe_cluster: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_fe_port_fe2_sigtran: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - local_storage_fe: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo diff --git a/src/test/resources/ymlFiles/resource-ScptestvspNodesFe1-template.yml b/src/test/resources/ymlFiles/resource-ScptestvspNodesFe1-template.yml new file mode 100644 index 0000000..3c668d4 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-ScptestvspNodesFe1-template.yml @@ -0,0 +1,1235 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 2a477fa7-ac1b-4a62-baa1-e94c764d736b + UUID: da3c740a-e8af-4b85-a487-b4961b040fa3 + name: ScpTestVsp.nodes.fe_1 + description: Not reusable inner VFC + type: VFC + category: Generic + subcategory: Abstract + resourceVendor: SCP-Test-VLM + resourceVendorRelease: '1.0' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vfc.ScpTestVsp.abstract.nodes.fe_1: + derived_from: org.openecomp.resource.abstract.nodes.VFC + description: Not reusable inner VFC + properties: + port_port_fe1_sigtran_network_role_tag: + type: list + entry_schema: + type: string + port_port_fe_oam_fixed_ips: + type: list + entry_schema: + type: json + port_port_fe_interce_network: + type: list + entry_schema: + type: string + port_port_fe_cluster_replacement_policy: + type: list + entry_schema: + type: string + port_port_fe1_sigtran_ip_requirements: + type: list + entry_schema: + type: json + port_port_fe_slan_security_groups: + type: list + entry_schema: + type: json + port_port_fe_interce_replacement_policy: + type: list + entry_schema: + type: string + port_port_fe_oam_replacement_policy: + type: list + entry_schema: + type: string + port_port_fe_oam_network: + type: list + entry_schema: + type: string + port_port_fe_oam_mac_requirements: + type: list + entry_schema: + type: json + port_port_fe_interce_security_groups: + type: list + entry_schema: + type: json + port_port_fe_oam_security_groups: + type: list + entry_schema: + type: json + port_port_fe_cluster_mac_requirements: + type: list + entry_schema: + type: json + compute_fe_scheduler_hints: + type: list + entry_schema: + type: json + port_port_fe_slan_ip_requirements: + type: list + entry_schema: + type: json + port_port_fe_slan_mac_requirements: + type: list + entry_schema: + type: json + port_port_fe_interce_mac_requirements: + type: list + entry_schema: + type: json + compute_fe_name: + type: list + entry_schema: + type: string + port_port_fe_slan_replacement_policy: + type: list + entry_schema: + type: string + index_value: + type: integer + default: 0 + description: Index value of this substitution service template runtime instance + port_port_fe_interce_ip_requirements: + type: list + entry_schema: + type: json + port_port_fe1_sigtran_security_groups: + type: list + entry_schema: + type: json + port_port_fe1_sigtran_replacement_policy: + type: list + entry_schema: + type: string + port_port_fe1_sigtran_fixed_ips: + type: list + entry_schema: + type: json + port_port_fe_oam_ip_requirements: + type: list + entry_schema: + type: json + port_port_fe_cluster_security_groups: + type: list + entry_schema: + type: json + port_port_fe_cluster_network: + type: list + entry_schema: + type: string + port_port_fe_cluster_ip_requirements: + type: list + entry_schema: + type: json + port_port_fe_slan_network: + type: list + entry_schema: + type: string + port_port_fe1_sigtran_network: + type: list + entry_schema: + type: string + compute_fe_user_data_format: + type: list + entry_schema: + type: string + compute_fe_availability_zone: + type: list + entry_schema: + type: string + port_port_fe1_sigtran_mac_requirements: + type: list + entry_schema: + type: json + compute_fe_metadata: + type: list + entry_schema: + type: json + port_port_fe_oam_network_role_tag: + type: list + entry_schema: + type: string + capabilities: + network.incoming.bytes_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + cpu_util_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe_port_fe_interce: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + disk.device.read.bytes.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_fe_port_fe1_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.capacity_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_fe_port_fe_interce: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.latency_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_fe_port_fe_cluster: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_fe_port_fe1_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.read.bytes.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe_port_fe_cluster: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + disk.read.requests_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + instance_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_fe_port_fe1_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.bytes.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + memory.usage_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_fe_port_fe1_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.bytes.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + os_fe: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + properties: + distribution: + type: string + required: false + type: + type: string + required: false + version: + type: version + required: false + architecture: + type: string + required: false + feature_fe: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.allocation_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.ephemeral.size_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.capacity_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.usage_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.read.requests_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_fe_port_fe1_sigtran: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.latency_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_fe_port_fe_slan: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.bytes_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.iops_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe_port_fe1_sigtran: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + network.incoming.bytes_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_fe_port_fe_oam: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + scalable_fe: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + properties: + max_instances: + type: integer + default: 1 + required: false + min_instances: + type: integer + default: 1 + required: false + default_instances: + type: integer + required: false + disk.write.requests_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe_port_fe_slan: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + network.outgoing.bytes.rate_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe_port_fe_oam: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + network.outgoing.bytes.rate_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + host_fe: + type: tosca.capabilities.Container + occurrences: + - 1 + - UNBOUNDED + valid_source_types: + - tosca.nodes.SoftwareComponent + properties: + num_cpus: + type: integer + required: false + disk_size: + type: scalar-unit.size + required: false + cpu_frequency: + type: scalar-unit.frequency + required: false + mem_size: + type: scalar-unit.size + required: false + network.outgoing.bytes.rate_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.allocation_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes.rate_fe_port_fe1_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.requests.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_fe_port_fe_oam: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + memory.resident_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_fe_port_fe_slan: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + memory_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes_fe_port_fe1_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.usage_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.iops_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_fe_port_fe_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + vcpus_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + endpoint_fe: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + properties: + secure: + type: boolean + default: true + required: false + cpu_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + cpu.delta_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_fe_port_fe_cluster: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_fe_port_fe_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_fe_port_fe1_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_fe_port_fe1_sigtran: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_fe_port_fe_slan: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_fe_port_fe_interce: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.root.size_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_fe_port_fe1_sigtran: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_fe: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_fe_port_fe_interce: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.read.requests.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.requests.rate_fe: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + requirements: + - dependency_fe_port_fe_interce: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_fe_port_fe_cluster: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_fe_port_fe_oam: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_fe: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_fe_port_fe_slan: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_fe_port_fe1_sigtran: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - link_fe_port_fe_interce: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_fe_port_fe_slan: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_fe_port_fe_oam: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_fe_port_fe_cluster: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_fe_port_fe1_sigtran: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - local_storage_fe: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo diff --git a/src/test/resources/ymlFiles/resource-ScptestvspNodesSmp-template.yml b/src/test/resources/ymlFiles/resource-ScptestvspNodesSmp-template.yml new file mode 100644 index 0000000..7938a56 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-ScptestvspNodesSmp-template.yml @@ -0,0 +1,813 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: dd97be59-be12-4749-b8ca-1bf0d7336573 + UUID: 0a09e932-9fde-4e52-b7e3-2e542b61faa0 + name: ScpTestVsp.nodes.smp + description: Not reusable inner VFC + type: VFC + category: Generic + subcategory: Abstract + resourceVendor: SCP-Test-VLM + resourceVendorRelease: '1.0' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vfc.ScpTestVsp.abstract.nodes.smp: + derived_from: org.openecomp.resource.abstract.nodes.VFC + description: Not reusable inner VFC + properties: + port_port_smp_oam_ip_requirements: + type: list + entry_schema: + type: json + port_port_smp_cluster_replacement_policy: + type: list + entry_schema: + type: string + port_port_smp_oam_fixed_ips: + type: list + entry_schema: + type: json + compute_smp_name: + type: list + entry_schema: + type: string + port_port_smp_oam_security_groups: + type: list + entry_schema: + type: json + index_value: + type: integer + default: 0 + description: Index value of this substitution service template runtime instance + compute_smp_availability_zone: + type: list + entry_schema: + type: string + port_port_smp_cluster_security_groups: + type: list + entry_schema: + type: json + port_port_smp_cluster_network: + type: list + entry_schema: + type: string + port_port_smp_oam_network_role_tag: + type: list + entry_schema: + type: string + compute_smp_user_data_format: + type: list + entry_schema: + type: string + port_port_smp_oam_network: + type: list + entry_schema: + type: string + port_port_smp_oam_mac_requirements: + type: list + entry_schema: + type: json + port_port_smp_cluster_ip_requirements: + type: list + entry_schema: + type: json + port_port_smp_cluster_mac_requirements: + type: list + entry_schema: + type: json + compute_smp_metadata: + type: list + entry_schema: + type: json + port_port_smp_oam_replacement_policy: + type: list + entry_schema: + type: string + compute_smp_scheduler_hints: + type: list + entry_schema: + type: json + capabilities: + feature_smp: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + scalable_smp: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + properties: + max_instances: + type: integer + default: 1 + required: false + min_instances: + type: integer + default: 1 + required: false + default_instances: + type: integer + required: false + memory.resident_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_smp_port_smp_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_smp_port_smp_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_smp_port_smp_oam: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.usage_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_smp_port_smp_oam: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + disk.device.write.bytes_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + os_smp: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + properties: + distribution: + type: string + required: false + type: + type: string + required: false + version: + type: version + required: false + architecture: + type: string + required: false + network.outgoing.bytes_smp_port_smp_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_smp: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.allocation_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes_smp_port_smp_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_smp_port_smp_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_smp_port_smp_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_smp_port_smp_oam: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + instance_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + host_smp: + type: tosca.capabilities.Container + occurrences: + - 1 + - UNBOUNDED + valid_source_types: + - tosca.nodes.SoftwareComponent + properties: + num_cpus: + type: integer + required: false + disk_size: + type: scalar-unit.size + required: false + cpu_frequency: + type: scalar-unit.frequency + required: false + mem_size: + type: scalar-unit.size + required: false + disk.device.usage_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_smp_port_smp_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + feature_smp_port_smp_cluster: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.ephemeral.size_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes_smp_port_smp_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.bytes.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.bytes.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.capacity_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + binding_smp_port_smp_cluster: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + disk.device.read.bytes.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes.rate_smp_port_smp_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.latency_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.requests.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.packets.rate_smp_port_smp_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.root.size_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + attachment_smp_port_smp_cluster: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.write.requests_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + cpu.delta_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.write.requests_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + memory_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.iops_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes.rate_smp_port_smp_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.allocation_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.read.requests.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.read.bytes_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + vcpus_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.requests.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outgoing.bytes.rate_smp_port_smp_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.latency_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.iops_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.read.bytes.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.bytes_smp_port_smp_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + cpu_util_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets_smp_port_smp_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.write.bytes_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + memory.usage_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.incoming.packets.rate_smp_port_smp_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.read.requests_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + disk.device.capacity_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + cpu_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + network.outpoing.packets_smp_port_smp_cluster: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + endpoint_smp: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + properties: + secure: + type: boolean + default: true + required: false + disk.device.read.requests_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + requirements: + - dependency_smp: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_smp_port_smp_oam: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_smp_port_smp_cluster: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - link_smp_port_smp_cluster: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - link_smp_port_smp_oam: + occurrences: + - 1 + - 1 + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - local_storage_smp: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo diff --git a/src/test/resources/ymlFiles/resource-Securityrules-template.YML b/src/test/resources/ymlFiles/resource-Securityrules-template.YML new file mode 100644 index 0000000..0221cd5 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Securityrules-template.YML @@ -0,0 +1,48 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: dd31d2de-0a7f-4198-8966-3a04100fbfe3 + UUID: d57e57d2-e3c6-470d-8d16-e6ea05f536c5 + name: SecurityRules + description: Configuration of policy rules to be applied on ports. + type: VFC + category: Generic + subcategory: Rules + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules: + derived_from: tosca.nodes.Root + description: Configuration of policy rules to be applied on ports. + properties: + name: + type: string + description: A symbolic name for this security group, which is not required to be unique. + description: + type: string + description: Description of the security group + rules: + type: list + description: List of security group rules + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule + requirements: + - port: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Attachment + node: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + relationship: org.openecomp.relationships.AttachesTo diff --git a/src/test/resources/ymlFiles/resource-Subinterface-template.yml b/src/test/resources/ymlFiles/resource-Subinterface-template.yml new file mode 100644 index 0000000..2b01936 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Subinterface-template.yml @@ -0,0 +1,29 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 2c30ef06-f83a-4642-a85c-9cb8edd81d9a + UUID: 25e0a9ec-c803-4aec-bef8-af1dab636116 + name: subInterface + description: VLAN sub-Interface is a logical port which must be binded to a port. Regular port may have 1N VLAN Interfaces.It can connect to its own network (regardless of the network the parent port can connect) + type: CP + category: Generic + subcategory: Network Elements + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 + resourceVendorModelNumber: '' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.cp.nodes.network.SubInterface: + derived_from: tosca.nodes.network.Port + description: VLAN sub-Interface is a logical port which must be binded to a port. Regular port may have 1N VLAN Interfaces.It can connect to its own network (regardless of the network the parent port can connect) diff --git a/src/test/resources/ymlFiles/resource-Vl-template.yml b/src/test/resources/ymlFiles/resource-Vl-template.yml new file mode 100644 index 0000000..d80e228 --- /dev/null +++ b/src/test/resources/ymlFiles/resource-Vl-template.yml @@ -0,0 +1,77 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 1b76148a-81c1-4173-a16a-51a8f1f94bfa + UUID: af185035-ac2d-41e2-a410-f49c8b9f1de9 + name: VL + description: ' Virtual link (VL) describes the basic topology of the connectivity + as well as other required parameters (e.g. bandwidth and QoS class). ' + type: VL + category: Network Connectivity + subcategory: Virtual Links + resourceVendor: ATT (Tosca) + resourceVendorRelease: 1.0.0.wd03 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +node_types: + org.openecomp.resource.vl.VL: + derived_from: tosca.nodes.network.Network + description: ' Virtual link (VL) describes the basic topology of the connectivity + as well as other required parameters (e.g. bandwidth and QoS class). ' + properties: + vendor: + type: string + vl_name: + type: string + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + occurrences: + - 1 + - UNBOUNDED + end_point: + type: tosca.capabilities.Endpoint + occurrences: + - 1 + - UNBOUNDED + properties: + port_name: + type: string + required: false + protocol: + type: string + default: tcp + required: false + port: + type: PortDef + required: false + initiator: + type: string + default: source + required: false + network_name: + type: string + default: PRIVATE + required: false + secure: + type: boolean + default: false + required: false + ports: + type: map + required: false + entry_schema: + type: PortSpec + url_path: + type: string + required: false -- cgit 1.2.3-korg