import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateVnfResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMHealVnfRequest;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMHealVnfResponse;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMQueryOperExecutionResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMQueryVnfResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMScaleVnfRequest;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMScaleVnfResponse;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OperationExecution;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OperationExecution.OperationType;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.inf.CbamMgmrInf;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.bo.AdaptorEnv;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonConstants;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.bean.VnfmJobExecutionInfo;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.repository.VnfmJobExecutionRepository;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.exception.VnfmDriverException;
public InstantiateVnfResponse instantiateVnf(InstantiateVnfRequest driverRequest, String vnfmId) throws VnfmDriverException {
InstantiateVnfResponse driverResponse;
try {
+ driverRequest.setVnfdId(adaptorEnv.getVnfdId());
buildVnfmHttpPathById(vnfmId);
+// String dirPath = "/etc/vnfmpkg";
+// String cbamDirName = CommonUtil.getAppRoot() + dirPath;
+// File cbamDirFile = new File(cbamDirName);
+// String cbamPackageName = cbamDirFile.listFiles()[0].getAbsolutePath();
+// cbamMgmr.uploadVnfPackage(cbamPackageName);
+
//step 3: create vnf
CBAMCreateVnfRequest cbamRequest = requestConverter.createReqConvert(driverRequest);
CBAMCreateVnfResponse cbamResponse = cbamMgmr.createVnf(cbamRequest);
String vnfInstanceId = cbamResponse.getId();
+
Long jobId = saveCreateVnfJob(vnfInstanceId);
driverResponse = responseConverter.createRspConvert(cbamResponse, jobId);
- vnfContinueProcessorInf.continueInstantiateVnf(driverRequest, vnfInstanceId, jobId.toString(), nslcmMgmr, catalogMgmr, cbamMgmr, requestConverter, jobDbManager);
+ //start the timer
+ OperateTaskProgress.startInstantiateTimerTask();
+
+ vnfContinueProcessorInf.continueInstantiateVnf(vnfmId, driverRequest, vnfInstanceId, jobId.toString(), nslcmMgmr, catalogMgmr, cbamMgmr, requestConverter, jobDbManager);
} catch (Exception e) {
logger.error("error VnfmDriverMgmrImpl --> instantiateVnf. ", e);
buildVnfmHttpPathById(vnfmId);
driverResponse = generateTerminateVnfResponse(vnfInstanceId);
String jobId = driverResponse.getJobId();
- vnfContinueProcessorInf.continueTerminateVnf(driverRequest, vnfInstanceId, jobId, nslcmMgmr, cbamMgmr, requestConverter, jobDbManager);
+
+ //start the timer
+ OperateTaskProgress.startTerminateTimerTask();
+ vnfContinueProcessorInf.continueTerminateVnf(vnfmId, driverRequest, vnfInstanceId, jobId, nslcmMgmr, cbamMgmr, requestConverter, jobDbManager);
} catch (Exception e) {
logger.error("error VnfmDriverMgmrImpl --> terminateVnf. ", e);
public OperStatusVnfResponse getOperStatus(String vnfmId, String jobId) throws VnfmDriverException {
- CBAMQueryOperExecutionResponse cbamResponse;
+ OperationExecution cbamResponse = null;
try {
buildVnfmHttpPathById(vnfmId);
- VnfmJobExecutionInfo jobInfo = jobDbManager.findOne(Long.getLong(jobId));
- String execId = jobInfo.getVnfmExecutionId();
- cbamResponse = cbamMgmr.queryOperExecution(execId);
+ VnfmJobExecutionInfo jobInfo = jobDbManager.findOne(Long.parseLong(jobId));
+ cbamResponse = new OperationExecution();
+
+ if("Instantiate".equalsIgnoreCase(jobInfo.getVnfmInterfceName())) {
+ cbamResponse.setOperationType(OperationType.INSTANTIATE);
+ }
+ else
+ {
+ cbamResponse.setOperationType(OperationType.TERMINATE);
+ }
+
+ if(jobInfo.getStatus().equalsIgnoreCase(CommonConstants.CBAM_OPERATION_STATUS_FINISH))
+ {
+ cbamResponse.setStatus(CommonEnum.OperationStatus.FINISHED);
+ } else if(jobInfo.getStatus().equalsIgnoreCase(CommonConstants.CBAM_OPERATION_STATUS_ERROR))
+ {
+ cbamResponse.setStatus(CommonEnum.OperationStatus.FINISHED);
+ }
+ else
+ {
+ cbamResponse.setStatus(CommonEnum.OperationStatus.OTHER);
+// String execId = jobInfo.getVnfmExecutionId();
+// logger.info(" VnfmDriverMgmrImpl --> getOperStatus execId is " + execId);
+// cbamResponse = cbamMgmr.queryOperExecution(execId);
+ }
+
} catch (Exception e) {
logger.error("error VnfmDriverMgmrImpl --> getOperStatus. ", e);
throw new VnfmDriverException(HttpStatus.SC_INTERNAL_SERVER_ERROR, CommonConstants.HTTP_ERROR_DESC_500);
}
OperStatusVnfResponse response = responseConverter.operRspConvert(cbamResponse);
+ response.setJobId(jobId);
return response;
}
return driverResponse;
}
- public String buildVnfmHttpPathById(String vnfmId) throws ClientProtocolException, IOException, VnfmDriverException {
+ public String buildVnfmHttpPathById(String vnfmId) {
+ String result = "";
+ try {
+ result = buildVnfmHttpPathByRealId(vnfmId);
+ } catch (Exception e) {
+ logger.error("buildVnfmHttpPathById Error.", e);
+ }
+ return result;
+ }
+
+ public String buildVnfmHttpPathByRealId(String vnfmId) throws ClientProtocolException, IOException, VnfmDriverException {
AaiVnfmInfo vnfmInfo = aaiMgmr.queryVnfm(vnfmId);
- logger.info("vnfmInfo in AAI is {}", gson.toJson(vnfmInfo));
+ logger.info("vnfmInfo in AAI is " + gson.toJson(vnfmInfo));
if(isVnfmInfoValid(vnfmId, vnfmInfo))
{
throw new VnfmDriverException(HttpStatus.SC_INTERNAL_SERVER_ERROR, CommonConstants.HTTP_ERROR_DESC_500);
EsrSystemInfo systemInfo = vnfmInfo.getEsrSystemInfoList().get(0);
String urlHead = systemInfo.getServiceUrl();
- adaptorEnv.setCbamApiUriFront(urlHead);
- adaptorEnv.setCbamUserName(systemInfo.getUserName());
- adaptorEnv.setCbamPassword(systemInfo.getPassword());
+// adaptorEnv.setCbamApiUriFront(urlHead);
+// adaptorEnv.setCbamUserName(systemInfo.getUserName());
+// adaptorEnv.setCbamPassword(systemInfo.getPassword());
return urlHead;
}
private boolean isVnfmInfoValid(String vnfmId, AaiVnfmInfo vnfmInfo) {
- return vnfmInfo == null || !vnfmId.equalsIgnoreCase(vnfmInfo.getVnfmId()) || vnfmInfo.getEsrSystemInfoList() == null || vnfmInfo.getEsrSystemInfoList().isEmpty();
+ return vnfmInfo == null || vnfmInfo.getEsrSystemInfoList() == null || vnfmInfo.getEsrSystemInfoList().isEmpty();
}
public void setRequestConverter(Driver2CbamRequestConverter requestConverter) {
public void setResponseConverter(Cbam2DriverResponseConverter responseConverter) {
this.responseConverter = responseConverter;
}
-
+
}