X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=nokia%2Fvnfmdriver%2Fvfcadaptorservice%2Fvfcadaptor%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fvfc%2Fnfvo%2Fdriver%2Fvnfm%2Fsvnfm%2Fadaptor%2FTerminateVnfContinueRunnable.java;fp=nokia%2Fvnfmdriver%2Fvfcadaptorservice%2Fvfcadaptor%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fvfc%2Fnfvo%2Fdriver%2Fvnfm%2Fsvnfm%2Fadaptor%2FTerminateVnfContinueRunnable.java;h=00b824322142e55a09d9020f1fd02619f975c739;hb=6ba81c29f8ee403b4ad9f976d1d6d14fbbd7664c;hp=2995c14095f53b9a871388642f297a262404074f;hpb=f3a7349ce2b342fc497035950d0afd000e71ce9c;p=vfc%2Fnfvo%2Fdriver%2Fvnfm%2Fsvnfm.git diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/TerminateVnfContinueRunnable.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/TerminateVnfContinueRunnable.java index 2995c140..00b82432 100644 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/TerminateVnfContinueRunnable.java +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/TerminateVnfContinueRunnable.java @@ -16,11 +16,9 @@ package org.onap.vfc.nfvo.driver.vnfm.svnfm.adaptor; -import java.io.IOException; import java.util.ArrayList; import java.util.List; -import org.apache.http.client.ClientProtocolException; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMTerminateVnfRequest; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMTerminateVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.inf.CbamMgmrInf; @@ -32,14 +30,13 @@ import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.repository.VnfmJobExecutionReposit import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.NslcmGrantVnfRequest; import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.NslcmGrantVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.NslcmNotifyLCMEventsRequest; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.AddResource; import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.ResourceDefinition; import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.inf.NslcmMgmrInf; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.TerminateVnfRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - - public class TerminateVnfContinueRunnable implements Runnable { private static final Logger logger = LoggerFactory.getLogger(TerminateVnfContinueRunnable.class); @@ -49,11 +46,12 @@ public class TerminateVnfContinueRunnable implements Runnable { private TerminateVnfRequest driverRequest; private String vnfInstanceId; private String jobId; + private String vnfmId; private VnfmJobExecutionRepository jobDbMgmr; private Driver2CbamRequestConverter requestConverter; - public TerminateVnfContinueRunnable(TerminateVnfRequest driverRequest, String vnfInstanceId, String jobId, + public TerminateVnfContinueRunnable(String vnfmId, TerminateVnfRequest driverRequest, String vnfInstanceId, String jobId, NslcmMgmrInf nslcmMgmr, CbamMgmrInf cbamMgmr, Driver2CbamRequestConverter requestConverter, VnfmJobExecutionRepository dbManager) { this.driverRequest = driverRequest; @@ -63,39 +61,63 @@ public class TerminateVnfContinueRunnable implements Runnable { this.requestConverter = requestConverter; this.jobId = jobId; this.jobDbMgmr = dbManager; + this.vnfmId = vnfmId; } - public void run() { + private void handleGrant(){ try { NslcmGrantVnfRequest grantRequest = buildNslcmGrantVnfRequest(); - NslcmGrantVnfResponse grantResponse = nslcmMgmr.grantVnf(grantRequest); - handleNslcmGrantResponse(grantResponse); - - CBAMTerminateVnfRequest cbamRequest = requestConverter.terminateReqConvert(driverRequest); - CBAMTerminateVnfResponse cbamResponse = cbamMgmr.terminateVnf(cbamRequest, vnfInstanceId); - handleCbamTerminateResponse(cbamResponse, jobId); - + nslcmMgmr.grantVnf(grantRequest); + } catch (Exception e) { + logger.error("TerminateVnfContinueRunnable --> handleGrant error.", e); + } + } + + public void run() { + handleGrant(); + handleTerminate(); + handleDelete(); + } + + private void handleDelete() { + try { cbamMgmr.deleteVnf(vnfInstanceId); - + } catch (Exception e) { + logger.error("TerminateVnfContinueRunnable --> handleDelete error.", e); + } + } + + private CBAMTerminateVnfResponse handleTerminate() { + CBAMTerminateVnfResponse cbamResponse = null; + try { + CBAMTerminateVnfRequest modifyReq = requestConverter.terminateReqConvert(driverRequest); + cbamResponse = cbamMgmr.terminateVnf(modifyReq, vnfInstanceId); + handleCbamTerminateResponse(cbamResponse, jobId); + } catch (Exception e) { + logger.error("TerminateVnfContinueRunnable --> handleTerminate error.", e); + } + + try { NslcmNotifyLCMEventsRequest nslcmNotifyReq = buildNslcmNotifyLCMEventsRequest(cbamResponse); - - nslcmMgmr.notifyVnf(nslcmNotifyReq, vnfInstanceId); - - } catch (ClientProtocolException e) { - logger.error("TerminateVnfContinueRunnable run error ClientProtocolException", e); - } catch (IOException e) { - logger.error("TerminateVnfContinueRunnable run error IOException", e); + nslcmMgmr.notifyVnf(nslcmNotifyReq, vnfmId, vnfInstanceId); + } catch (Exception e) { + logger.error("TerminateVnfContinueRunnable --> handleNotify error.", e); } + + return cbamResponse; } - + private void handleCbamTerminateResponse(CBAMTerminateVnfResponse cbamResponse, String jobId) { - VnfmJobExecutionInfo jobInfo = jobDbMgmr.findOne(Long.getLong(jobId)); + VnfmJobExecutionInfo jobInfo = jobDbMgmr.findOne(Long.parseLong(jobId)); jobInfo.setVnfmExecutionId(cbamResponse.getId()); - if(CommonEnum.OperationStatus.FAILED ==cbamResponse.getStatus()) { + if(CommonEnum.OperationStatus.FAILED == cbamResponse.getStatus()) { jobInfo.setStatus(CommonConstants.CBAM_OPERATION_STATUS_ERROR); } + else { + jobInfo.setStatus(cbamResponse.getStatus().toString()); + } jobDbMgmr.save(jobInfo); } @@ -103,7 +125,7 @@ public class TerminateVnfContinueRunnable implements Runnable { NslcmGrantVnfRequest request = new NslcmGrantVnfRequest(); request.setVnfInstanceId(vnfInstanceId); - request.setLifecycleOperation(LifecycleOperation.Instantiate); + request.setLifecycleOperation(LifecycleOperation.Terminal); request.setJobId(jobId); ResourceDefinition resource = getFreeVnfResource(); @@ -115,8 +137,17 @@ public class TerminateVnfContinueRunnable implements Runnable { } private ResourceDefinition getFreeVnfResource() { - // TODO Auto-generated method stub - return null; + ResourceDefinition def = new ResourceDefinition(); + def.setVnfInstanceId(vnfInstanceId); + def.setVimId("001"); + List resources = new ArrayList<>(); + AddResource res = new AddResource(); + res.setVdu("1"); + res.setType("vdu"); + res.setResourceDefinitionId(2); + resources.add(res); + def.setAddResource(resources); + return def; } private NslcmNotifyLCMEventsRequest buildNslcmNotifyLCMEventsRequest(CBAMTerminateVnfResponse cbamResponse) {