X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=esr-mgr%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fesr%2Fwrapper%2FVimManagerWrapper.java;h=75eaaca5ff1bd5cc950fed0e54920418aa0be9db;hb=768eda8233bd6c2f4e512365f6bfd1ccd323bcbf;hp=ec52317c5c69332bf7742d7f38aaed4b84ac65ad;hpb=accb9e765207fc2e5c6e3b3fe7ae29d1199fe3f9;p=aai%2Fesr-server.git diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java index ec52317..75eaaca 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java @@ -25,6 +25,8 @@ import org.onap.aai.esr.entity.aai.EsrSystemInfo; import org.onap.aai.esr.entity.rest.VimRegisterInfo; import org.onap.aai.esr.entity.rest.VimRegisterResponse; import org.onap.aai.esr.externalservice.aai.CloudRegionProxy; +import org.onap.aai.esr.externalservice.cloud.Tenant; +import org.onap.aai.esr.externalservice.cloud.VimManagerProxy; import org.onap.aai.esr.util.ExtsysUtil; import org.onap.aai.esr.util.VimManagerUtil; import org.slf4j.Logger; @@ -37,6 +39,7 @@ public class VimManagerWrapper { private static VimManagerWrapper vimManagerWrapper; private static final Logger LOG = LoggerFactory.getLogger(VimManagerWrapper.class); + private static VimManagerUtil vimManagerUtil = new VimManagerUtil(); /** * get VimManagerWrapper instance. @@ -56,13 +59,21 @@ public class VimManagerWrapper { "Start register VIM, input VIM info is: " + ExtsysUtil.objectToString(vimRegisterInfo)); CloudRegionDetail cloudRegion = new CloudRegionDetail(); VimRegisterResponse result = new VimRegisterResponse(); - cloudRegion = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); + cloudRegion = vimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); String cloudOwner = vimRegisterInfo.getCloudOwner(); String cloudRegionId = vimRegisterInfo.getCloudRegionId(); try { CloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegion); result.setCloudOwner(cloudOwner); result.setCloudRegionId(cloudRegionId); + Tenant tenant = new Tenant(); + tenant.setDefaultTenant(cloudRegion.getEsrSystemInfoList().getEsrSystemInfo().get(0).getDefaultTenant()); + try { + VimManagerProxy.updateVim(cloudOwner, cloudRegionId, tenant); + } catch (Exception e) { + e.printStackTrace(); + LOG.error("Update VIM by Multi-cloud failed !" + e.getMessage()); + } return Response.ok(result).build(); } catch (Exception error) { error.printStackTrace(); @@ -100,7 +111,7 @@ public class VimManagerWrapper { } catch (Exception error) { error.printStackTrace(); LOG.error("Query vim list details failed !" + error.getMessage()); - return Response.serverError().build(); + return Response.ok(vimRegisterInfos).build(); } } @@ -112,11 +123,11 @@ public class VimManagerWrapper { String cloudRegionstr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); LOG.info("Response from AAI by query VIM: " + cloudRegionstr); cloudRegionDetail = new Gson().fromJson(cloudRegionstr, CloudRegionDetail.class); - vim = VimManagerUtil.cloudRegion2VimRegisterInfo(cloudRegionDetail); + vim = vimManagerUtil.cloudRegion2VimRegisterInfo(cloudRegionDetail); return Response.ok(vim).build(); } catch (Exception e) { e.printStackTrace(); - return Response.serverError().build(); + return Response.ok(vim).build(); } } @@ -140,7 +151,7 @@ public class VimManagerWrapper { try { String cloudRegionstr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); cloudRegionDetail = new Gson().fromJson(cloudRegionstr, CloudRegionDetail.class); - registeredVimInfo = VimManagerUtil.cloudRegion2VimRegisterInfo(cloudRegionDetail); + registeredVimInfo = vimManagerUtil.cloudRegion2VimRegisterInfo(cloudRegionDetail); } catch (Exception error) { error.printStackTrace(); LOG.error("query VIM detail failed ! cloud-owner = " + cloudOwner + ", cloud-region-id = " @@ -171,7 +182,7 @@ public class VimManagerWrapper { String cloudRegionId = vimRegisterInfo.getCloudRegionId(); originalCloudRegionDetail = getOriginalCloudRegion(cloudOwner, cloudRegionId); String resourceVersion = originalCloudRegionDetail.getResourceVersion(); - cloudRegionDetail = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); + cloudRegionDetail = vimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); if(resourceVersion != null) { cloudRegionDetail.setResourceVersion(resourceVersion); originalSystemInfo = originalCloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0); @@ -182,7 +193,38 @@ public class VimManagerWrapper { } public Response delVim(String cloudOwner, String cloudRegionId) { - // TODO - return Response.noContent().build(); + CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); + cloudRegionDetail = queryCloudRegionDetail(cloudOwner, cloudRegionId); + String resourceVersion = cloudRegionDetail.getResourceVersion(); + if (resourceVersion != null) { + try { + CloudRegionProxy.deleteVim(cloudOwner, cloudRegionId, resourceVersion); + return Response.noContent().build(); + } catch (Exception e) { + e.printStackTrace(); + LOG.error( + "Delete cloud region from A&AI failed! cloud-owner = " + cloudOwner + + ", cloud-region-id = " + cloudRegionId + "resouce-version:" + resourceVersion, + e.getMessage()); + return Response.serverError().build(); + } + } else { + LOG.error("resouce-version is null ! Can not delete resouce from A&AI. "); + return Response.serverError().build(); + } + } + + private CloudRegionDetail queryCloudRegionDetail (String cloudOwner, String cloudRegionId) { + CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); + try { + String cloudRegionStr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); + LOG.info("Response from AAI by query cloud region: " + cloudRegionStr); + cloudRegionDetail = new Gson().fromJson(cloudRegionStr, CloudRegionDetail.class); + } catch (Exception e) { + e.printStackTrace(); + LOG.error("Query EMS detail failed! cloud-owner = " + cloudOwner + + ", cloud-region-id = " + cloudRegionId , e.getMessage()); + } + return cloudRegionDetail; } }