diff options
author | Denes Nemeth <denes.nemeth@nokia.com> | 2018-05-22 16:21:32 +0200 |
---|---|---|
committer | Denes Nemeth <denes.nemeth@nokia.com> | 2018-05-23 02:25:48 +0200 |
commit | 89ad26af6134b817ac2a04eb861d7c5a68f9885d (patch) | |
tree | ff272f63482e4bc245180ba017e2bcbdfb56aa71 /nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm | |
parent | 258261c6c44ccfc7130080cd2cc651ec9a3537e2 (diff) |
Process VNF property passed instantiation input
Change-Id: Ia4f6eeacb8bf346b5e1f56d8a953ce7691f3c2c7
Signed-off-by: Denes Nemeth <denes.nemeth@nokia.com>
Issue-ID: VFC-728
Diffstat (limited to 'nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm')
2 files changed, 21 insertions, 2 deletions
diff --git a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfdBuilder.java b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfdBuilder.java index 6a20bc20..406f0033 100644 --- a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfdBuilder.java +++ b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/packagetransformer/OnapVnfdBuilder.java @@ -102,6 +102,10 @@ public class OnapVnfdBuilder { " name: " + properties.get("product_name").getAsString() + "\n" + " vnfdVersion: " + descriptorVersion + "\n\n" + "topology_template:\n" + + " inputs:\n" + + " etsi_config:\n" + + " type: string\n"+ + " description: The ETSI configuration\n"+ " node_templates:\n"; } diff --git a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/LifecycleManager.java b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/LifecycleManager.java index b826931e..0adba680 100644 --- a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/LifecycleManager.java +++ b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/LifecycleManager.java @@ -67,6 +67,7 @@ public class LifecycleManager { */ public static final String EXTERNAL_VNFM_ID = "externalVnfmId"; public static final String SCALE_OPERATION_NAME = "scale"; + public static final String ETSI_CONFIG = "etsi_config"; private static Logger logger = getLogger(LifecycleManager.class); private final CatalogManager catalogManager; private final IGrantManager grantManager; @@ -291,9 +292,23 @@ public class LifecycleManager { } private AdditionalParameters convertInstantiationAdditionalParams(String csarId, Object additionalParams) { - JsonObject inputs = child(new Gson().toJsonTree(additionalParams).getAsJsonObject(), "inputs"); + JsonObject root = new Gson().toJsonTree(additionalParams).getAsJsonObject(); + if(root.has("properties")){ + JsonObject properties = new JsonParser().parse(root.get("properties").getAsString()).getAsJsonObject(); + if(properties.has(ETSI_CONFIG)){ + JsonElement etsi_config = properties.get(ETSI_CONFIG); + return new Gson().fromJson(etsi_config.getAsString(), AdditionalParameters.class); + } + else{ + logger.info("The instantiation input for VNF with {} CSAR id does not have an " + ETSI_CONFIG +" section", csarId); + } + } + else{ + logger.info("The instantiation input for VNF with {} CSAR id does not have a properties section", csarId); + } + JsonObject inputs = child(root, "inputs"); if (!inputs.has(csarId)) { - throw buildFatalFailure(logger, "The additional parameter section does not contain setting for VNF with " + csarId + " CSAR id"); + throw buildFatalFailure(logger, "The additional parameter section does not contain settings for VNF with " + csarId + " CSAR id"); } JsonElement additionalParamsForVnf = new JsonParser().parse(inputs.get(csarId).getAsString()); return new Gson().fromJson(additionalParamsForVnf, AdditionalParameters.class); |