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;
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;
* 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);
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();
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
*