summaryrefslogtreecommitdiffstats
path: root/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor
diff options
context:
space:
mode:
Diffstat (limited to 'nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor')
-rw-r--r--nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Driver2CbamRequestConverter.java159
-rw-r--r--nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/InstantiateVnfContinueRunnable.java124
-rw-r--r--nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/TerminateVnfContinueRunnable.java85
-rw-r--r--nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/VnfmDriverMgmrImpl.java22
4 files changed, 180 insertions, 210 deletions
diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Driver2CbamRequestConverter.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Driver2CbamRequestConverter.java
index 55448096..aebf122e 100644
--- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Driver2CbamRequestConverter.java
+++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Driver2CbamRequestConverter.java
@@ -16,27 +16,20 @@
package org.onap.vfc.nfvo.driver.vnfm.svnfm.adaptor;
-import java.util.ArrayList;
-import java.util.List;
+import java.io.BufferedInputStream;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateVnfRequest;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMHealVnfRequest;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMInstantiateVnfRequest;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMScaleVnfRequest;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMTerminateVnfRequest;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.EndpointInfo;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.ExtVirtualLinkData;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OpenStackAccessInfoV2;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OpenStackAccessInfoV3;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OpenstackV2Info;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OpenstackV3Info;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OtherVimInfo;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VCloudAccessInfo;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VimInfo;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VimInfoType;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VmwareVcloudInfo;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VnfExtCpData;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.util.CommonUtil;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.ScaleDirection;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.ScaleType;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.NslcmGrantVnfResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.GrantInfo;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.VimComputeResourceFlavour;
@@ -46,134 +39,36 @@ import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.ScaleVnfRequest;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.TerminateVnfRequest;
import org.springframework.stereotype.Component;
+import com.google.gson.Gson;
+
@Component
public class Driver2CbamRequestConverter {
-
+
public CBAMCreateVnfRequest createReqConvert(InstantiateVnfRequest driverRequest) {
CBAMCreateVnfRequest request = new CBAMCreateVnfRequest();
- request.setVnfdId(driverRequest.getVnfDescriptorId());
+ request.setVnfdId(driverRequest.getVnfdId());
request.setName(driverRequest.getVnfInstanceName());
request.setDescription(driverRequest.getVnfInstanceDescription());
return request;
}
- public CBAMInstantiateVnfRequest InstantiateReqConvert(InstantiateVnfRequest driverRequest,
- NslcmGrantVnfResponse nslc, GrantInfo grant, VimComputeResourceFlavour vimco) {
- CBAMInstantiateVnfRequest request = new CBAMInstantiateVnfRequest();
+ public CBAMInstantiateVnfRequest instantiateRequestConvert(InstantiateVnfRequest driverRequest,
+ NslcmGrantVnfResponse nslc, GrantInfo grant, VimComputeResourceFlavour vimco) throws Exception {
+ Gson gson = new Gson();
+ String inputJson = readcbamInputInfoFromJsonFile();
+ CBAMInstantiateVnfRequest request = gson.fromJson(inputJson, CBAMInstantiateVnfRequest.class);
- List<VimInfo> vims = new ArrayList<VimInfo>();
- VimInfo vim = new VimInfo();
- EndpointInfo inter = new EndpointInfo();
- List<ExtVirtualLinkData> list = new ArrayList<ExtVirtualLinkData>();
- ExtVirtualLinkData ext = new ExtVirtualLinkData();
- List<VnfExtCpData> cps = new ArrayList<VnfExtCpData>();
- VnfExtCpData cp = new VnfExtCpData();
- OpenStackAccessInfoV3 v3 = new OpenStackAccessInfoV3();
- OpenStackAccessInfoV2 v2 = new OpenStackAccessInfoV2();
- VCloudAccessInfo vcloudInfo = new VCloudAccessInfo();
- if(vim.getVimInfoType().equals(VimInfoType.OPENSTACK_V2_INFO)) {
- OpenstackV2Info openstackV2=new OpenstackV2Info();
- List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ExtVirtualLinkData> link=driverRequest.getExtVirtualLink();
- for(int i=0;i<link.size();i++) {
- vim.setId(link.get(i).getVim().getVimId());
- inter.setEndpoint(link.get(i).getVim().getInterfaceEndpoint());
- openstackV2.setId(link.get(i).getVim().getVimId());
- openstackV2.setInterfaceInfo(inter);
-
- ext.setResourceId(link.get(i).getNetworkId());// todo resourceId
-
- cp.setCpdId(link.get(i).getCpdId());
- cps.add(cp);
- ext.setExtCps(cps);
-
- List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.AccessInfo> accessInfo=link.get(i).getVim().getAccessInfo();
- for(int j=0;j<=accessInfo.size();j++) {
- v2.setUsername(accessInfo.get(j).getUsername());
- v2.setPassword(accessInfo.get(j).getPassword());
- v2.setTenant(accessInfo.get(j).getTenant());
- //todo region
- }
- openstackV2.setAccessInfo(v2);
- vims.add(vim);
- list.add(ext);
- }
- }else if(vim.getVimInfoType().equals(VimInfoType.OPENSTACK_V3_INFO)) {
- OpenstackV3Info openstackV3=new OpenstackV3Info();
- List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ExtVirtualLinkData> link=driverRequest.getExtVirtualLink();
- for(int i=0;i<link.size();i++) {
- vim.setId(link.get(i).getVim().getVimId());
- inter.setEndpoint(link.get(i).getVim().getInterfaceEndpoint());
- openstackV3.setId(link.get(i).getVim().getVimId());
- openstackV3.setInterfaceInfo(inter);
-
- ext.setResourceId(link.get(i).getNetworkId());// todo resourceId
-
- cp.setCpdId(link.get(i).getCpdId());
- cps.add(cp);
- ext.setExtCps(cps);
-
- List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.AccessInfo> accessInfo=link.get(i).getVim().getAccessInfo();
- for(int j=0;j<=accessInfo.size();j++) {
- v3.setUsername(accessInfo.get(j).getUsername());
- v3.setPassword(accessInfo.get(j).getPassword());
- //todo region project domain
- }
- openstackV3.setAccessInfo(v3);
- vims.add(vim);
- list.add(ext);
- }
-
- }else if(vim.getVimInfoType().equals(VimInfoType.OTHER_VIM_INFO)) {
- OtherVimInfo other=new OtherVimInfo();
- List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ExtVirtualLinkData> link=driverRequest.getExtVirtualLink();
- for(int i=0;i<link.size();i++) {
- vim.setId(link.get(i).getVim().getVimId());
- inter.setEndpoint(link.get(i).getVim().getInterfaceEndpoint());
- other.setId(link.get(i).getVim().getVimId());
-
- ext.setResourceId(link.get(i).getNetworkId());// todo resourceId
-
- cp.setCpdId(link.get(i).getCpdId());
- cps.add(cp);
- ext.setExtCps(cps);
- vims.add(vim);
- list.add(ext);
- }
-
- }else if(vim.getVimInfoType().equals(VimInfoType.VMWARE_VCLOUD_INFO)) {
- VmwareVcloudInfo vcloud=new VmwareVcloudInfo();
- List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ExtVirtualLinkData> link=driverRequest.getExtVirtualLink();
- for(int i=0;i<link.size();i++) {
- vim.setId(link.get(i).getVim().getVimId());
- inter.setEndpoint(link.get(i).getVim().getInterfaceEndpoint());
- vcloud.setId(link.get(i).getVim().getVimId());
- vcloud.setInterfaceInfo(inter);
-
- ext.setResourceId(link.get(i).getNetworkId());// todo resourceId
-
- cp.setCpdId(link.get(i).getCpdId());
- cps.add(cp);
- ext.setExtCps(cps);
-
-
- List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.AccessInfo> accessInfo=link.get(i).getVim().getAccessInfo();
- for(int j=0;j<=accessInfo.size();j++) {
- vcloudInfo.setUsername(accessInfo.get(j).getUsername());
- vcloudInfo.setPassword(accessInfo.get(j).getPassword());
- }
- vcloud.setAccessInfo(vcloudInfo);
- vims.add(vim);
- list.add(ext);
- }
-
- }
- request.setFlavourId(driverRequest.getFlavourId());
- request.setVims(vims);
- request.setExtVirtualLinks(list);
return request;
}
+ private String readcbamInputInfoFromJsonFile() throws IOException {
+ String filePath = "/etc/vnfpkginfo/cbam_input.json";
+ String fileContent = CommonUtil.getJsonStrFromFile(filePath);
+
+ return fileContent;
+ }
+
public CBAMTerminateVnfRequest terminateReqConvert(TerminateVnfRequest driverRequest) {
CBAMTerminateVnfRequest request = new CBAMTerminateVnfRequest();
request.setTerminationType(driverRequest.getTerminationType());
@@ -190,10 +85,10 @@ public class Driver2CbamRequestConverter {
public CBAMScaleVnfRequest scaleReqconvert(ScaleVnfRequest driverRequest) {
CBAMScaleVnfRequest request = new CBAMScaleVnfRequest();
- if (driverRequest.getType().equals("SCALE_OUT")) {
- request.setType(CommonEnum.ScaleDirection.OUT);
+ if (driverRequest.getType().equals(ScaleType.SCALE_OUT)) {
+ request.setType(ScaleDirection.OUT);
} else {
- request.setType(CommonEnum.ScaleDirection.IN);
+ request.setType(ScaleDirection.IN);
}
request.setAspectId(driverRequest.getAspectId());
request.setNumberOfSteps(driverRequest.getNumberOfSteps());
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);
-
- }
-
}
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<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 NslcmNotifyLCMEventsRequest buildNslcmNotifyLCMEventsRequest(CBAMTerminateVnfResponse cbamResponse) {
diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/VnfmDriverMgmrImpl.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/VnfmDriverMgmrImpl.java
index 236a17e6..a6bbb19b 100644
--- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/VnfmDriverMgmrImpl.java
+++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/VnfmDriverMgmrImpl.java
@@ -95,8 +95,15 @@ public class VnfmDriverMgmrImpl implements VnfmDriverMgmrInf{
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);
@@ -105,7 +112,7 @@ public class VnfmDriverMgmrImpl implements VnfmDriverMgmrInf{
Long jobId = saveCreateVnfJob(vnfInstanceId);
driverResponse = responseConverter.createRspConvert(cbamResponse, jobId);
- vnfContinueProcessorInf.continueInstantiateVnf(driverRequest, vnfInstanceId, jobId.toString(), nslcmMgmr, catalogMgmr, cbamMgmr, requestConverter, jobDbManager);
+ vnfContinueProcessorInf.continueInstantiateVnf(vnfmId, driverRequest, vnfInstanceId, jobId.toString(), nslcmMgmr, catalogMgmr, cbamMgmr, requestConverter, jobDbManager);
} catch (Exception e) {
logger.error("error VnfmDriverMgmrImpl --> instantiateVnf. ", e);
@@ -132,7 +139,7 @@ public class VnfmDriverMgmrImpl implements VnfmDriverMgmrInf{
buildVnfmHttpPathById(vnfmId);
driverResponse = generateTerminateVnfResponse(vnfInstanceId);
String jobId = driverResponse.getJobId();
- vnfContinueProcessorInf.continueTerminateVnf(driverRequest, vnfInstanceId, jobId, nslcmMgmr, cbamMgmr, requestConverter, jobDbManager);
+ vnfContinueProcessorInf.continueTerminateVnf(vnfmId, driverRequest, vnfInstanceId, jobId, nslcmMgmr, cbamMgmr, requestConverter, jobDbManager);
} catch (Exception e) {
logger.error("error VnfmDriverMgmrImpl --> terminateVnf. ", e);
@@ -177,8 +184,9 @@ public class VnfmDriverMgmrImpl implements VnfmDriverMgmrInf{
try {
buildVnfmHttpPathById(vnfmId);
- VnfmJobExecutionInfo jobInfo = jobDbManager.findOne(Long.getLong(jobId));
+ VnfmJobExecutionInfo jobInfo = jobDbManager.findOne(Long.parseLong(jobId));
String execId = jobInfo.getVnfmExecutionId();
+ logger.info(" VnfmDriverMgmrImpl --> getOperStatus execId is " + execId);
cbamResponse = cbamMgmr.queryOperExecution(execId);
} catch (Exception e) {
logger.error("error VnfmDriverMgmrImpl --> getOperStatus. ", e);
@@ -222,7 +230,7 @@ public class VnfmDriverMgmrImpl implements VnfmDriverMgmrInf{
public String buildVnfmHttpPathById(String vnfmId) throws ClientProtocolException, IOException, VnfmDriverException {
- return null;
+ return buildVnfmHttpPathByRealId(vnfmId);
}
public String buildVnfmHttpPathByRealId(String vnfmId) throws ClientProtocolException, IOException, VnfmDriverException {
@@ -236,9 +244,9 @@ public class VnfmDriverMgmrImpl implements VnfmDriverMgmrInf{
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;
}