summaryrefslogtreecommitdiffstats
path: root/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/LifecycleManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/LifecycleManager.java')
-rw-r--r--nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/vnfm/LifecycleManager.java34
1 files changed, 28 insertions, 6 deletions
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 b7dd7168..ce9da78c 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
@@ -218,9 +218,7 @@ public class LifecycleManager {
private void instantiateVnf(String vnfmId, List<ExtVirtualLinkInfo> extVirtualLinkInfos, AdditionalParameters additionalParameters, String onapVnfdId, String vnfmVnfdId, String vnfId, String vimId, JobInfo jobInfo) {
String vnfdContent = catalogManager.getCbamVnfdContent(vnfmId, vnfmVnfdId);
GrantVNFResponseVim vim = grantManager.requestGrantForInstantiate(vnfmId, vnfId, vimId, onapVnfdId, additionalParameters.getInstantiationLevel(), vnfdContent, jobInfo.getJobId());
- if (vim.getVimId() == null) {
- throw buildFatalFailure(logger, "VF-C did not send VIM identifier in grant response");
- }
+ handleBackwardIncompatibleApiChangesInVfc(vim);
VimInfo vimInfo = vimInfoProvider.getVimInfo(vim.getVimId());
InstantiateVnfRequest instantiationRequest = new InstantiateVnfRequest();
addExternalLinksToRequest(extVirtualLinkInfos, additionalParameters, instantiationRequest, vimId);
@@ -248,13 +246,37 @@ public class LifecycleManager {
waitForOperationToFinish(vnfmId, vnfId, operationExecution.getId());
}
+ private void handleBackwardIncompatibleApiChangesInVfc(GrantVNFResponseVim vim) {
+ if (vim.getVimId() == null) {
+ if (vim.getVimid() == null) {
+ throw buildFatalFailure(logger, "VF-C did not send VIM identifier in grant response");
+ } else {
+ vim.setVimId(vim.getVimid());
+ }
+ }
+ if (vim.getAccessInfo() == null) {
+ if (vim.getAccessinfo() == null) {
+ throw buildFatalFailure(logger, "VF-C did not send access info in grant response");
+ } else {
+ vim.setAccessInfo(vim.getAccessinfo());
+ }
+ }
+ }
+
private com.nokia.cbam.lcm.v32.model.VimInfo addVim(AdditionalParameters additionalParameters, String vimId, GrantVNFResponseVim vim, VimInfo vimInfo) {
if (additionalParameters.getVimType() == OPENSTACK_V2_INFO) {
return buildOpenStackV2INFO(vimId, vim, vimInfo);
} else if (additionalParameters.getVimType() == OPENSTACK_V3_INFO) {
+ if (isEmpty(vimInfo.getDomain())) {
+ if (isEmpty(additionalParameters.getDomain())) {
+ throw buildFatalFailure(logger, "The cloud did not supply the cloud domain (Amsterdam release) and was not supplied as additional data");
+ } else {
+ logger.warn("Setting domain from additional parameters");
+ vimInfo.setDomain(additionalParameters.getDomain());
+ }
+ }
return buildOpenStackV3INFO(vimId, vim, vimInfo);
-
} else {
//OTHER VIM TYPE is not possible
return buildVcloudInfo(vimId, vimInfo);
@@ -287,10 +309,10 @@ public class LifecycleManager {
return childElement(deploymentFlavorProperties, "flavour_id").getAsString();
}
- private Set<Map.Entry<String, JsonElement>> getAcceptableOperationParameters(String vnfdContent, String categroryOfOperation, String operationName) {
+ private Set<Map.Entry<String, JsonElement>> getAcceptableOperationParameters(String vnfdContent, String categoryOfOperation, String operationName) {
JsonObject root = new Gson().toJsonTree(new Yaml().load(vnfdContent)).getAsJsonObject();
JsonObject interfaces = child(child(child(root, "topology_template"), "substitution_mappings"), "interfaces");
- JsonObject additionalParameters = child(child(child(child(interfaces, categroryOfOperation), operationName), "inputs"), "additional_parameters");
+ JsonObject additionalParameters = child(child(child(child(interfaces, categoryOfOperation), operationName), "inputs"), "additional_parameters");
return additionalParameters.entrySet();
}