summaryrefslogtreecommitdiffstats
path: root/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/InstantiateVnfContinueRunnable.java
diff options
context:
space:
mode:
Diffstat (limited to 'nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/InstantiateVnfContinueRunnable.java')
-rw-r--r--nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/InstantiateVnfContinueRunnable.java124
1 files changed, 80 insertions, 44 deletions
diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/InstantiateVnfContinueRunnable.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/InstantiateVnfContinueRunnable.java
index 6fbb028a..20c8bf50 100644
--- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/InstantiateVnfContinueRunnable.java
+++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/InstantiateVnfContinueRunnable.java
@@ -16,18 +16,18 @@
package org.onap.vfc.nfvo.driver.vnfm.svnfm.adaptor;
-import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Executors;
-import org.apache.http.client.ClientProtocolException;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.bo.entity.VnfPackageInfo;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.inf.CatalogMgmrInf;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMInstantiateVnfRequest;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMInstantiateVnfResponse;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMModifyVnfRequest;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.inf.CbamMgmrInf;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.util.CommonUtil;
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.constant.CommonEnum.LifecycleOperation;
@@ -35,14 +35,15 @@ 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.http.client.HttpClientProcessorImpl;
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.InstantiateVnfRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.zeroturnaround.zip.ZipUtil;
+
+import com.google.gson.Gson;
public class InstantiateVnfContinueRunnable implements Runnable {
@@ -54,12 +55,15 @@ public class InstantiateVnfContinueRunnable implements Runnable {
private InstantiateVnfRequest driverRequest;
private String vnfInstanceId;
private String jobId;
+ private String vnfmId;
private VnfmJobExecutionRepository jobDbMgmr;
private Driver2CbamRequestConverter requestConverter;
- public InstantiateVnfContinueRunnable(InstantiateVnfRequest driverRequest, String vnfInstanceId, String jobId,
+ private Gson gson = new Gson();
+
+ public InstantiateVnfContinueRunnable(String vnfmId, InstantiateVnfRequest driverRequest, String vnfInstanceId, String jobId,
NslcmMgmrInf nslcmMgmr, CatalogMgmrInf catalogMgmr, CbamMgmrInf cbamMgmr, Driver2CbamRequestConverter requestConverter, VnfmJobExecutionRepository dbManager)
{
this.driverRequest = driverRequest;
@@ -70,30 +74,66 @@ public class InstantiateVnfContinueRunnable implements Runnable {
this.cbamMgmr = cbamMgmr;
this.requestConverter = requestConverter;
this.jobDbMgmr = dbManager;
+ this.vnfmId = vnfmId;
}
public void run() {
+ //step 1 handle vnf package
+ handleVnfPackage();
+
+ handleGrant();
+
+ handleModify();
try {
- //step 1 handle vnf package
- handleVnfPackage();
-
- NslcmGrantVnfRequest grantRequest = buildNslcmGrantVnfRequest();
- NslcmGrantVnfResponse grantResponse = nslcmMgmr.grantVnf(grantRequest);
-
//step 5: instantiate vnf
- CBAMInstantiateVnfRequest instantiateReq = requestConverter.InstantiateReqConvert(driverRequest, grantResponse, null, null);
- CBAMInstantiateVnfResponse cbamInstantiateResponse = cbamMgmr.instantiateVnf(instantiateReq, vnfInstanceId);
- handleCbamInstantiateResponse(cbamInstantiateResponse, jobId);
+ CBAMInstantiateVnfResponse cbamInstantiateResponse = handleInstantiate();
+ handleNotify(cbamInstantiateResponse);
+ } catch (Exception e) {
+ logger.error("InstantiateVnfContinueRunnable --> handleInstantiate or handleNotify error.", e);
+ }
+ }
+
+ private void handleNotify(CBAMInstantiateVnfResponse cbamInstantiateResponse) {
+ try {
NslcmNotifyLCMEventsRequest nslcmNotifyReq = buildNslcmNotifyLCMEventsRequest(cbamInstantiateResponse);
- nslcmMgmr.notifyVnf(nslcmNotifyReq, vnfInstanceId);
-
- } catch (ClientProtocolException e) {
- logger.error("InstantiateVnfContinueRunnable run error ClientProtocolException", e);
- } catch (IOException e) {
- logger.error("InstantiateVnfContinueRunnable run error IOException", e);
+ nslcmMgmr.notifyVnf(nslcmNotifyReq, vnfmId, vnfInstanceId);
+ } catch (Exception e) {
+ logger.error("InstantiateVnfContinueRunnable --> handleNotify error.", e);
+ }
+ }
+
+ private CBAMInstantiateVnfResponse handleInstantiate() throws Exception {
+ CBAMInstantiateVnfRequest instantiateReq = requestConverter.instantiateRequestConvert(driverRequest, null, null, null);
+ CBAMInstantiateVnfResponse cbamInstantiateResponse = cbamMgmr.instantiateVnf(instantiateReq, vnfInstanceId);
+ handleCbamInstantiateResponse(cbamInstantiateResponse, jobId);
+ return cbamInstantiateResponse;
+ }
+
+ private void handleModify() {
+ try {
+ CBAMModifyVnfRequest modifyReq = generateModifyVnfRequest();
+ cbamMgmr.modifyVnf(modifyReq, vnfInstanceId);
+ } catch (Exception e) {
+ logger.error("InstantiateVnfContinueRunnable --> handleModify error.", e);
+ }
+ }
+
+ private void handleGrant(){
+ try {
+ NslcmGrantVnfRequest grantRequest = buildNslcmGrantVnfRequest();
+ nslcmMgmr.grantVnf(grantRequest);
+ } catch (Exception e) {
+ logger.error("InstantiateVnfContinueRunnable --> handleGrant error.", e);
}
+ }
+
+ private CBAMModifyVnfRequest generateModifyVnfRequest() throws IOException{
+ String filePath = "/etc/vnfpkginfo/cbam_extension.json";
+ String fileContent = CommonUtil.getJsonStrFromFile(filePath);
+ CBAMModifyVnfRequest req = gson.fromJson(fileContent, CBAMModifyVnfRequest.class);
+ return req;
}
private void handleVnfPackage() {
@@ -110,17 +150,16 @@ public class InstantiateVnfContinueRunnable implements Runnable {
process.waitFor();
if (HttpClientProcessorImpl.downLoadFromUrl(packageUrl, packageFileName, saveDir)) {
- File csarFile = new File(saveDir + "/" + packageFileName);
- //extract package
- ZipUtil.explode(csarFile);
- csarFile.delete();
- String cbamPackageDirName = saveDir + "/" + packageFileName + "/Artifacts";
- String cbamPackageName = new File(cbamPackageDirName).list()[0];
- cbamMgmr.uploadVnfPackage(cbamPackageName);
- }
+ logger.info("handleVnfPackage download file " + packageUrl + " is successful.");
+// File csarFile = new File(saveDir + "/" + packageFileName);
+// //extract package
+// ZipUtil.explode(csarFile);
+// csarFile.delete();
+ }
} catch (Exception e) {
- logger.error("Error to handleVnfPackage", e);
+ logger.error("Error to handleVnfPackage from SDC", e);
}
+
}
});
@@ -164,12 +203,21 @@ public class InstantiateVnfContinueRunnable implements Runnable {
}
private ResourceDefinition getFreeVnfResource() {
- // TODO Auto-generated method stub
- return null;
+ ResourceDefinition def = new ResourceDefinition();
+ def.setVnfInstanceId(vnfInstanceId);
+ def.setVimId("001");
+ List<AddResource> 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 void handleCbamInstantiateResponse(CBAMInstantiateVnfResponse cbamInstantiateResponse, String jobId) {
- VnfmJobExecutionInfo jobInfo = jobDbMgmr.findOne(Long.getLong(jobId));
+ VnfmJobExecutionInfo jobInfo = jobDbMgmr.findOne(Long.parseLong(jobId));
jobInfo.setVnfmExecutionId(cbamInstantiateResponse.getId());
if(CommonEnum.OperationStatus.FAILED == cbamInstantiateResponse.getStatus()){
@@ -178,16 +226,4 @@ public class InstantiateVnfContinueRunnable implements Runnable {
jobDbMgmr.save(jobInfo);
}
- public static void main(String[] argv) {
- String saveDir = "D:/tmp/20170926/data";
- String packageFileName = "vCSCF_v3.0.csar";
- File csarFile = new File(saveDir + "/" + packageFileName);
- ZipUtil.explode(csarFile);
- csarFile.delete();
- String cbamPackageDirName = saveDir + "/" + packageFileName + "/Artifacts";
- String cbamPackageName = new File(cbamPackageDirName).list()[0];
- System.out.println(cbamPackageName);
-
- }
-
}