From b425177693b1fd0063a3bb499c7d6183da9434aa Mon Sep 17 00:00:00 2001 From: Denes Nemeth Date: Mon, 28 May 2018 11:24:13 +0200 Subject: Use the ETSI config from package Change-Id: I81c7a10c1c7e0f3e12531bc5a1196b22d0fcd774 Signed-off-by: Denes Nemeth Issue-ID: VFC-728 --- .../vnfm/svnfm/nokia/vnfm/CatalogManager.java | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/CatalogManager.java') diff --git a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/CatalogManager.java b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/CatalogManager.java index aeeae423..0993c6ee 100644 --- a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/CatalogManager.java +++ b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/CatalogManager.java @@ -16,6 +16,7 @@ package org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm; +import com.google.common.base.Charsets; import com.google.common.io.ByteStreams; import com.nokia.cbam.catalog.v1.api.DefaultApi; import com.nokia.cbam.catalog.v1.model.CatalogAdapterVnfpackage; @@ -36,6 +37,7 @@ import static com.google.common.collect.Iterables.filter; import static okhttp3.MediaType.parse; import static okhttp3.RequestBody.create; import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.util.CbamUtils.buildFatalFailure; +import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.LifecycleManager.ETSI_CONFIG; import static org.slf4j.LoggerFactory.getLogger; import static org.springframework.http.MediaType.APPLICATION_OCTET_STREAM; @@ -50,6 +52,8 @@ public class CatalogManager { * The location of the CBAM package within the ONAP package */ public static final String CBAM_PACKAGE_NAME_IN_ZIP = "Artifacts/Deployment/OTHER/cbam.package.zip"; + public static final String ETSI_CONFIG_NAME_IN_ZIP = "Artifacts/Deployment/OTHER/" + ETSI_CONFIG +".json"; + private static final String TOSCA_META_PATH = "TOSCA-Metadata/TOSCA.meta"; private static final String TOSCA_VNFD_KEY = "Entry-Definitions"; private static Logger logger = getLogger(CatalogManager.class); @@ -108,7 +112,7 @@ public class CatalogManager { public CatalogAdapterVnfpackage preparePackageInCbam(String vnfmId, String csarId) { String cbamVnfdId = packageProvider.getCbamVnfdId(csarId); DefaultApi cbamCatalogApi = cbamRestApiProvider.getCbamCatalogApi(vnfmId); - if (!isPackageReplicated(cbamVnfdId, cbamCatalogApi)) { + if (!isPackageReplicated(cbamVnfdId, cbamCatalogApi)) { try { ByteArrayOutputStream cbamPackage = getFileInZip(new ByteArrayInputStream(packageProvider.getPackage(csarId)), CBAM_PACKAGE_NAME_IN_ZIP); return cbamCatalogApi.create(create(parse(APPLICATION_OCTET_STREAM.toString()), cbamPackage.toByteArray())).blockingFirst(); @@ -127,6 +131,21 @@ public class CatalogManager { return queryPackageFromCBAM(cbamVnfdId, cbamCatalogApi); } + /** + * Download the ETSI configuration of the VNF + * @param csarId the CSAR identifier of the package in ONAP catalog + * @return the content of the ETSI configuration + */ + public String getEtsiConfiguration(String csarId){ + try { + ByteArrayOutputStream etsiConfig = getFileInZip(new ByteArrayInputStream(packageProvider.getPackage(csarId)), ETSI_CONFIG_NAME_IN_ZIP); + return new String(etsiConfig.toByteArray(), Charsets.UTF_8); + } + catch (Exception e){ + throw buildFatalFailure(logger, "Unable to download the ETSI configuration file"); + } + } + /** * Gets the content of the VNFD from the CBAM package uploaded to CBAM * -- cgit 1.2.3-korg