@Configuration
@SpringBootApplication
-//@ComponentScan(basePackages= {"org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.controller"})
@ComponentScan
public class VfcadaptorApplication {
+ private VfcadaptorApplication() {
+
+ }
+
public final static void main(String[] args) {
SpringApplication.run(VfcadaptorApplication.class, args);
}
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateVnfResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMHealVnfResponse;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMInstantiateVnfResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMQueryVnfResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMScaleVnfResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMTerminateVnfResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OperationExecution;
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.vnfmdriver.bo.HealVnfResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.TerminateVnfResponse;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ResponseDescriptor;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ResponseHistoryList;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.VnfInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
return response;
}
- public InstantiateVnfResponse instantiateRspConvert(CBAMInstantiateVnfResponse cbamResponse) {
- InstantiateVnfResponse response = new InstantiateVnfResponse();
-
- VnfmJobExecutionInfo jobInfo = jobDbManager.findOne(Long.getLong(cbamResponse.getId()));
-
- response.setJobId("1");
-
- response.setVnfInstanceId("");
- return response;
- }
-
public TerminateVnfResponse terminateRspConvert(CBAMTerminateVnfResponse cbamResponse) {
VnfmJobExecutionInfo jobInfo = new VnfmJobExecutionInfo();
jobInfo.setVnfInstanceId(cbamResponse.getId());
response.setJobId(oper.getId());
ResponseDescriptor er = new ResponseDescriptor();
// TODO er.setProgress(i);
- if (oper.getStatus().equals("STARTED")) {
+ if (oper.getStatus() == CommonEnum.OperationStatus.STARTED ) {
er.setStatus("started");
- } else if (oper.getStatus().equals("FINISHED")) {
+ } else if (oper.getStatus() == CommonEnum.OperationStatus.FINISHED) {
er.setStatus("finished");
- } else if (oper.getStatus().equals("FAILED")) {
+ } else if (oper.getStatus() == CommonEnum.OperationStatus.FAILED) {
er.setStatus("error");
- } else if (oper.getStatus().equals("OTHER")) {
+ } else if (oper.getStatus() == CommonEnum.OperationStatus.OTHER) {
er.setStatus("processing");
} else {
er.setStatus("error");
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.OPENSTACK_V3_INFO;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OpenStackAccessInfoV3;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OpenstackV3Info;
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.VnfExtCpData;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.NslcmGrantVnfResponse;
CBAMInstantiateVnfRequest request = new CBAMInstantiateVnfRequest();
List<VimInfo> vims = new ArrayList<VimInfo>();
VimInfo vim = new VimInfo();
- VimInfoType type = new VimInfoType();
EndpointInfo inter = new EndpointInfo();
- OPENSTACK_V3_INFO openstackV3 = new OPENSTACK_V3_INFO();
+ OpenstackV3Info openstackV3 = new OpenstackV3Info();
vim.setId(nslc.getVim().getVimId());
openstackV3.setId(nslc.getVim().getVimId());
inter.setEndpoint(nslc.getVim().getInterfaceEndpoint());
openstackV3.setInterfaceInfo(inter);
- openstackV3.setVimInfoType(type);
OpenStackAccessInfoV3 v3 = new OpenStackAccessInfoV3();
v3.setUsername(nslc.getVim().getAccessInfo().getUsername());
v3.setPassword(nslc.getVim().getAccessInfo().getPassword());
openstackV3.setAccessInfo(v3);
- type.setOPENSTACK_V3_INFO(openstackV3);
- vim.setVimInfoType(type);
vims.add(vim);
List<ExtVirtualLinkData> list = new ArrayList<ExtVirtualLinkData>();
ExtVirtualLinkData ext = new ExtVirtualLinkData();
VnfmJobExecutionInfo jobInfo = jobDbMgmr.findOne(Long.getLong(jobId));
jobInfo.setVnfmExecutionId(cbamInstantiateResponse.getId());
+ if(CommonEnum.OperationStatus.FAILED == cbamInstantiateResponse.getStatus()){
+ jobInfo.setStatus(CommonConstants.CBAM_OPERATION_STATUS_ERROR);
+ }
jobDbMgmr.save(jobInfo);
}
CBAMTerminateVnfRequest cbamRequest = requestConverter.terminateReqConvert(driverRequest);
CBAMTerminateVnfResponse cbamResponse = cbamMgmr.terminateVnf(cbamRequest, vnfInstanceId);
- handleCbamInstantiateResponse(cbamResponse, jobId);
+ handleCbamTerminateResponse(cbamResponse, jobId);
cbamMgmr.deleteVnf(vnfInstanceId);
NslcmNotifyLCMEventsRequest nslcmNotifyReq = buildNslcmNotifyLCMEventsRequest(cbamResponse);
+
nslcmMgmr.notifyVnf(nslcmNotifyReq, vnfInstanceId);
} catch (ClientProtocolException e) {
}
- private void handleCbamInstantiateResponse(CBAMTerminateVnfResponse cbamResponse, String jobId) {
+ private void handleCbamTerminateResponse(CBAMTerminateVnfResponse cbamResponse, String jobId) {
VnfmJobExecutionInfo jobInfo = jobDbMgmr.findOne(Long.getLong(jobId));
jobInfo.setVnfmExecutionId(cbamResponse.getId());
+ if(CommonEnum.OperationStatus.FAILED ==cbamResponse.getStatus()) {
+ jobInfo.setStatus(CommonConstants.CBAM_OPERATION_STATUS_ERROR);
+ }
jobDbMgmr.save(jobInfo);
}
+++ /dev/null
-/*
- * Copyright 2016-2017, Nokia Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.bo;
-
-public class CatalogQueryVnfRequest {
-
-
-}
this.csarId = csarId;
}
-
-
public VnfPackageInfo getPackageInfo() {
return packageInfo;
}
public void setVnfInstanceInfo(List<VnfInstanceInfo> vnfInstanceInfo) {
this.vnfInstanceInfo = vnfInstanceInfo;
}
-
-
-
-
-
-
-
}
public void setVnfInstanceName(String vnfInstanceName) {
this.vnfInstanceName = vnfInstanceName;
}
-
-
-
-
-
-
}
@JsonProperty("additionalParams")
private Object additionalParams;
-
-
public String getName() {
return name;
}
-
-
-
-
-
-
public void setName(String name) {
this.name = name;
}
-
-
-
-
-
-
public String getDescription() {
return description;
}
-
-
-
-
-
-
public void setDescription(String description) {
this.description = description;
}
-
-
-
public CommonEnum.TerminationType getTerminationType() {
return terminationType;
}
-
-
-
-
-
-
public void setTerminationType(CommonEnum.TerminationType terminationType) {
this.terminationType = terminationType;
}
-
-
-
-
-
-
public Integer getGracefulTerminationTimeout() {
return gracefulTerminationTimeout;
}
-
-
-
-
-
-
public void setGracefulTerminationTimeout(Integer gracefulTerminationTimeout) {
this.gracefulTerminationTimeout = gracefulTerminationTimeout;
}
-
-
-
-
-
-
public Object getAdditionalParams() {
return additionalParams;
}
-
-
-
-
-
-
public void setAdditionalParams(Object additionalParams) {
this.additionalParams = additionalParams;
}
-
-
-
-
-
-
public enum TerminationType{
GRACEFUL, FORCEFUL
-
}
}
import com.fasterxml.jackson.annotation.JsonProperty;
-public class OPENSTACK_V2_INFO {
+public class OpenstackV2Info {
@JsonProperty("vimInfoType")
private VimInfoType vimInfoType;
import com.fasterxml.jackson.annotation.JsonProperty;
-public class OPENSTACK_V3_INFO {
+public class OpenstackV3Info {
@JsonProperty("vimInfoType")
private VimInfoType vimInfoType;
import com.fasterxml.jackson.annotation.JsonProperty;
-public class OTHER_VIM_INFO {
+public class OtherVimInfo {
@JsonProperty("vimInfoType")
private VimInfoType vimInfoType;
*/
package org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity;
-public class VimInfoType {
+public enum VimInfoType {
+
+ OPENSTACK_V2_INFO {
+ private OpenstackV2Info openstackv2;
+
+ },
+ OPENSTACK_V3_INFO{
+ private OpenstackV3Info openstackv3;
+ },
+ VMWARE_VCLOUD_INFO{
+ private VmwareVcloudInfo vmwareInfo;
+ },
+ OTHER_VIM_INFO{
+ private OtherVimInfo other;
+ }
- public OPENSTACK_V2_INFO OPENSTACK_V2_INFO;
- public OPENSTACK_V3_INFO OPENSTACK_V3_INFO;
- public VMWARE_VCLOUD_INFO VMWARE_VCLOUD_INFO;
- public OTHER_VIM_INFO OTHER_VIM_INFO;
- public OPENSTACK_V2_INFO getOPENSTACK_V2_INFO() {
- return OPENSTACK_V2_INFO;
- }
- public void setOPENSTACK_V2_INFO(OPENSTACK_V2_INFO oPENSTACK_V2_INFO) {
- OPENSTACK_V2_INFO = oPENSTACK_V2_INFO;
- }
- public OPENSTACK_V3_INFO getOPENSTACK_V3_INFO() {
- return OPENSTACK_V3_INFO;
- }
- public void setOPENSTACK_V3_INFO(OPENSTACK_V3_INFO oPENSTACK_V3_INFO) {
- OPENSTACK_V3_INFO = oPENSTACK_V3_INFO;
- }
- public VMWARE_VCLOUD_INFO getVMWARE_VCLOUD_INFO() {
- return VMWARE_VCLOUD_INFO;
- }
- public void setVMWARE_VCLOUD_INFO(VMWARE_VCLOUD_INFO vMWARE_VCLOUD_INFO) {
- VMWARE_VCLOUD_INFO = vMWARE_VCLOUD_INFO;
- }
- public OTHER_VIM_INFO getOTHER_VIM_INFO() {
- return OTHER_VIM_INFO;
- }
- public void setOTHER_VIM_INFO(OTHER_VIM_INFO oTHER_VIM_INFO) {
- OTHER_VIM_INFO = oTHER_VIM_INFO;
- }
-
import com.fasterxml.jackson.annotation.JsonProperty;
-public class VMWARE_VCLOUD_INFO {
+public class VmwareVcloudInfo {
@JsonProperty("vimInfoType")
private VimInfoType vimInfoType;
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.http.client.HttpClientProcessorInf;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
String httpPath = CommonConstants.CbamCreateVnfPath;
RequestMethod method = RequestMethod.POST;
- String responseStr = operateCbamHttpTask(cbamRequest, httpPath, method);
+ HttpResult httpResult = operateCbamHttpTask(cbamRequest, httpPath, method);
+ String responseStr = httpResult.getContent();
logger.info("CbamMgmrImpl -> createVnf, responseStr is " + responseStr);
-
+ int code = httpResult.getStatusCode();
+ if(code == 201) {
+ logger.info("CbamMgmrImpl -> createVnf success");
+ }else {
+ logger.error("CbamMgmrImpl -> createVnf error ");
+ }
CBAMCreateVnfResponse response = gson.fromJson(responseStr, CBAMCreateVnfResponse.class);
return response;
String httpPath = String.format(CommonConstants.CbamInstantiateVnfPath, vnfInstanceId);
RequestMethod method = RequestMethod.POST;
- String responseStr = operateCbamHttpTask(cbamRequest, httpPath, method);
+ HttpResult httpResult = operateCbamHttpTask(cbamRequest, httpPath, method);
+ String responseStr = httpResult.getContent();
logger.info("CbamMgmrImpl -> instantiateVnf, responseStr is " + responseStr);
-
+ int code = httpResult.getStatusCode();
+ if(code == 202) {
+ logger.info("CbamMgmrImpl -> instantiateVnf success " );
+ }else {
+ logger.error("CbamMgmrImpl -> instantiateVnf error " );
+ }
CBAMInstantiateVnfResponse response = gson.fromJson(responseStr, CBAMInstantiateVnfResponse.class);
return response;
String httpPath = String.format(CommonConstants.CbamTerminateVnfPath, vnfInstanceId);
RequestMethod method = RequestMethod.POST;
- String responseStr = operateCbamHttpTask(cbamRequest, httpPath, method);
+ HttpResult httpResult = operateCbamHttpTask(cbamRequest, httpPath, method);
+ String responseStr = httpResult.getContent();
logger.info("CbamMgmrImpl -> terminateVnf, responseStr is " + responseStr);
-
+ int code = httpResult.getStatusCode();
+ if(code == 202) {
+ logger.info("CbamMgmrImpl -> terminateVnf sucess " );
+ }else {
+ logger.error("CbamMgmrImpl -> terminateVnf error " );
+ }
CBAMTerminateVnfResponse response = gson.fromJson(responseStr, CBAMTerminateVnfResponse.class);
return response;
public void deleteVnf(String vnfInstanceId) throws ClientProtocolException, IOException {
String httpPath = String.format(CommonConstants.CbamDeleteVnfPath, vnfInstanceId);
RequestMethod method = RequestMethod.DELETE;
+ HttpResult httpResult = operateCbamHttpTask(null, httpPath, method);
- operateCbamHttpTask(null, httpPath, method);
+ int code = httpResult.getStatusCode();
+ if(code == 204) {
+ logger.info("CbamMgmrImpl -> deleteVnf success.");
+ }else {
+ logger.error("CbamMgmrImpl -> deleteVnf error. detail info is " + httpResult.getContent());
+ }
- logger.info("CbamMgmrImpl -> deleteVnf.");
}
public CBAMScaleVnfResponse scaleVnf(CBAMScaleVnfRequest cbamRequest, String vnfInstanceId) throws ClientProtocolException, IOException {
String httpPath = String.format(CommonConstants.CbamScaleVnfPath, vnfInstanceId);
RequestMethod method = RequestMethod.POST;
- String responseStr = operateCbamHttpTask(cbamRequest, httpPath, method);
-
+ HttpResult httpResult = operateCbamHttpTask(cbamRequest, httpPath, method);
+ String responseStr = httpResult.getContent();
+ int code = httpResult.getStatusCode();
+ if(code == 202) {
+ logger.info("CbamMgmrImpl -> scaleVnf success.");
+ }else {
+ logger.error("CbamMgmrImpl -> scaleVnf error. " );
+ }
CBAMScaleVnfResponse response = gson.fromJson(responseStr, CBAMScaleVnfResponse.class);
return response;
String httpPath = String.format(CommonConstants.CbamHealVnfPath, vnfInstanceId);
RequestMethod method = RequestMethod.POST;
- String responseStr = operateCbamHttpTask(cbamRequest, httpPath, method);
+ HttpResult httpResult = operateCbamHttpTask(cbamRequest, httpPath, method);
+ String responseStr = httpResult.getContent();
logger.info("CbamMgmrImpl -> healVnf, responseStr is " + responseStr);
-
+ int code = httpResult.getStatusCode();
+ if(code == 202) {
+ logger.info("CbamMgmrImpl -> healVnf success.");
+ }else {
+ logger.error("CbamMgmrImpl -> healVnf error. " );
+ }
CBAMHealVnfResponse response = gson.fromJson(responseStr, CBAMHealVnfResponse.class);
return response;
String httpPath = String.format(CommonConstants.CbamQueryVnfPath, vnfInstanceId);
RequestMethod method = RequestMethod.GET;
- String responseStr = operateCbamHttpTask(null, httpPath, method);
+ HttpResult httpResult = operateCbamHttpTask(null, httpPath, method);
+ String responseStr = httpResult.getContent();
logger.info("CbamMgmrImpl -> queryVnf, responseStr is " + responseStr);
+ int code = httpResult.getStatusCode();
+ if(code == 200) {
+ logger.info("CbamMgmrImpl -> queryVnf success.");
+ }else {
+ logger.error("CbamMgmrImpl -> queryVnf error. " );
+ }
CBAMQueryVnfResponse response = gson.fromJson(responseStr, CBAMQueryVnfResponse.class);
return response;
}
- public String operateCbamHttpTask(Object httpBodyObj, String httpPath, RequestMethod method) throws ClientProtocolException, IOException {
+ public HttpResult operateCbamHttpTask(Object httpBodyObj, String httpPath, RequestMethod method) throws ClientProtocolException, IOException {
String token = null;
try {
token = retrieveToken();
map.put(CommonConstants.AUTHORIZATION, "bearer " + token);
map.put(CommonConstants.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
- String responseStr = httpClientProcessor.process(url, method, map, gson.toJson(httpBodyObj)).getContent();
-
- return responseStr;
+ return httpClientProcessor.process(url, method, map, gson.toJson(httpBodyObj));
}
public CBAMQueryOperExecutionResponse queryOperExecution(String execId) throws ClientProtocolException, IOException{
String httpPath = String.format(CommonConstants.CbamGetOperStatusPath, execId);
RequestMethod method = RequestMethod.GET;
- String responseStr = operateCbamHttpTask(null, httpPath, method);
+ HttpResult httpResult = operateCbamHttpTask(null, httpPath, method);
+ String responseStr = httpResult.getContent();
logger.info("CbamMgmrImpl -> CBAMQueryOperExecutionResponse, responseStr is " + responseStr);
+ int code = httpResult.getStatusCode();
+ if(code == 200) {
+ logger.info("CbamMgmrImpl -> CBAMQueryOperExecutionResponse, success" );
+ }else if(code == 202) {
+ logger.info("CbamMgmrImpl -> CBAMQueryOperExecutionResponse, ongoing" );
+ }else {
+ logger.error("CbamMgmrImpl -> CBAMQueryOperExecutionResponse, error" );
+ }
+
+
CBAMQueryOperExecutionResponse response = gson.fromJson(responseStr, CBAMQueryOperExecutionResponse.class);
return response;
public static final String CBAM_OPERATION_STATUS_START = "start";
public static final String CBAM_OPERATION_STATUS_FINISH = "finished";
+ public static final String CBAM_OPERATION_STATUS_ERROR = "error";
//MSB
public static final String MSB_REGISTER_SERVICE_PATH = "/api/microservices/v1/services";
public VnfmDriverException(int httpStatus, String message)
{
super(message);
- this.httpStatus = httpStatus;
+ setHttpStatus(httpStatus);
}
public int getHttpStatus() {
+++ /dev/null
-/*
- * Copyright 2016-2017, Nokia Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class VnfmInfo {
- @JsonProperty("vnfmId")
- private String vnfmId;
-
- @JsonProperty("name")
- private String name;
-
- @JsonProperty("type")
- private String type;
-
- @JsonProperty("url")
- private String url;
-
- @JsonProperty("userName")
- private String userName;
-
- @JsonProperty("password")
- private String password;
-
- @JsonProperty("vimId")
- private String vimId;
-
- @JsonProperty("vendor")
- private String vendor;
-
- @JsonProperty("version")
- private String version;
-
- @JsonProperty("description")
- private String description;
-
- @JsonProperty("certificateUrl")
- private String certificateUrl;
-
- @JsonProperty("createTime")
- private String createTime;
-
- public String getVnfmId() {
- return vnfmId;
- }
-
- public void setVnfmId(String vnfmId) {
- this.vnfmId = vnfmId;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public String getUserName() {
- return userName;
- }
-
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public String getVimId() {
- return vimId;
- }
-
- public void setVimId(String vimId) {
- this.vimId = vimId;
- }
-
- public String getVendor() {
- return vendor;
- }
-
- public void setVendor(String vendor) {
- this.vendor = vendor;
- }
-
- public String getVersion() {
- return version;
- }
-
- public void setVersion(String version) {
- this.version = version;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCertificateUrl() {
- return certificateUrl;
- }
-
- public void setCertificateUrl(String certificateUrl) {
- this.certificateUrl = certificateUrl;
- }
-
- public String getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(String createTime) {
- this.createTime = createTime;
- }
-}
import java.util.HashMap;
import org.apache.http.client.ClientProtocolException;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
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.http.client.HttpClientProcessorInf;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpRequestProcessor;
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.VnfmInfo;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.inf.NslcmMgmrInf;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
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.VnfmInfo;
public interface NslcmMgmrInf {
// public VnfmInfo queryVnfm(String vnfmId) throws ClientProtocolException, IOException;
package org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity;
-
-
import com.fasterxml.jackson.annotation.JsonProperty;
public class ResponseHistoryList {
-
@JsonProperty("status")
private String status;//started;processing;finished;error
@JsonProperty("responseId")
private Integer responseId;
-
-
public String getStatus() {
return status;
}
this.status = status;
}
-
public Integer getProgress() {
return progress;
}
public void setResponseId(Integer responseId) {
this.responseId = responseId;
}
-
-
-
-
-
-
-
-
}
}
catch(VnfmDriverException e)
{
- try {
- httpResponse.setStatus(HttpStatus.SC_BAD_REQUEST);
- httpResponse.sendError(e.getHttpStatus(), e.getMessage());
- } catch (IOException e1) {
-
- }
+ processControllerException(httpResponse, e);
}
return null;
}
catch(VnfmDriverException e)
{
- try {
- httpResponse.setStatus(HttpStatus.SC_BAD_REQUEST);
- httpResponse.sendError(e.getHttpStatus(), e.getMessage());
- } catch (IOException e1) {
-
- }
+ processControllerException(httpResponse, e);
}
return null;
}
catch(VnfmDriverException e)
{
- try {
- httpResponse.sendError(e.getHttpStatus(), e.getMessage());
- } catch (IOException e1) {
-
- }
+ processControllerException(httpResponse, e);
}
return null;
}
catch(VnfmDriverException e)
{
- try {
- httpResponse.sendError(e.getHttpStatus(), e.getMessage());
- } catch (IOException e1) {
-
- }
+ processControllerException(httpResponse, e);
}
return null;
}
catch(VnfmDriverException e)
{
- try {
- httpResponse.sendError(e.getHttpStatus(), e.getMessage());
- } catch (IOException e1) {
-
- }
+ processControllerException(httpResponse, e);
}
return null;
}
+ private void processControllerException(HttpServletResponse httpResponse, VnfmDriverException e) {
+ try {
+ logger.error(" VnfmDriverController --> processControllerException", e);
+ httpResponse.setStatus(HttpStatus.SC_BAD_REQUEST);
+ httpResponse.sendError(e.getHttpStatus(), e.getMessage());
+ } catch (IOException e1) {
+ logger.error("VnfmDriverController --> processControllerException error to sendError ", e1);
+ }
+ }
+
}
String json = "{"
+ "\"vnfm-id\":\"vnfm-id_001\","
+ + "\"vim-id\":\"vim-id_001\","
+ + "\"certificate-url\":\"certificate-url_001\","
+ + "\"resource-version\":\"resource-version_001\","
+ "\"esr-system-info-list\":[{\"ip-address\" : \"1.3.5.6\"}]"
+ "}"
+ "";
esrSystemInfo.setProtocal(protocol);
esrSystemInfo.setIp(ip);
esrSystemInfo.setPort(port);
+ esrSystemInfo.setCloudDomain("cloudDomain");
+ esrSystemInfo.setDefaultTenant("defaultTenant");
+ esrSystemInfo.setEsrSystemId("esrSystemId");
+ esrSystemInfo.setPassword("password");
+ esrSystemInfo.setServiceUrl("serviceUrl");
+ esrSystemInfo.setSslCacert("sslCacert");
+ esrSystemInfo.setSslInsecure("sslInsecure");
+ esrSystemInfo.setType("type");
+ esrSystemInfo.setUserName("userName");
+ esrSystemInfo.setVendor("vendor");
+ esrSystemInfo.setVersion("version");
List<EsrSystemInfo> esrSystemInfoList = new ArrayList<EsrSystemInfo>();
esrSystemInfoList.add(esrSystemInfo);
AaiVnfmInfo mockVnfmInfo = new AaiVnfmInfo();
mockVnfmInfo.setVnfmId(vnfmId);
+ mockVnfmInfo.setVimId("vimId");
+ mockVnfmInfo.setResourceVersion("resourceVersion");
+ mockVnfmInfo.setCertificateUrl("certificateUrl");
mockVnfmInfo.setEsrSystemInfoList(esrSystemInfoList);
Driver2CbamRequestConverter reqConverter = new Driver2CbamRequestConverter();
import static org.mockito.Mockito.when;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import org.apache.http.client.ClientProtocolException;
import org.junit.Assert;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.bo.CatalogQueryVnfResponse;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.bo.entity.ImageInfo;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.bo.entity.VnfInstanceInfo;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.bo.AdaptorEnv;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum.Deletionpending;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpClientProcessorInf;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpResult;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.VnfPackageInfo;
import org.springframework.web.bind.annotation.RequestMethod;
+import com.google.gson.Gson;
+
public class CatalogMgmrImplTest {
@InjectMocks
private CatalogMgmrImpl catalogMgmr;
private String vnfPackageId = "vnfPackageId_001";
+ private Gson gson = new Gson();
+
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
AdaptorEnv env = new AdaptorEnv();
catalogMgmr.setAdaptorEnv(env);
MockitoAnnotations.initMocks(this);
-
- String json = "{"
- + "\"csarId\":\"vnfPackageId_001\","
- + "\"packageInfo\":{\"downloadUri\" : \"1.3.5.6\"}"
- + "}"
- + "";
- HttpResult httpResult = new HttpResult();
- httpResult.setContent(json);
-
- when(httpClientProcessor.process(Mockito.anyString(), Mockito.any(RequestMethod.class), Mockito.any(HashMap.class), Mockito.anyString())).thenReturn(httpResult);
}
-
@Test
public void testQueryVnfPackage() throws ClientProtocolException, IOException
{
- VnfPackageInfo packageInfo = catalogMgmr.queryVnfPackage(vnfPackageId);
+ CatalogQueryVnfResponse response = new CatalogQueryVnfResponse();
+ List<VnfInstanceInfo> vnfInstanceInfos = new ArrayList<VnfInstanceInfo>();
+ VnfInstanceInfo vnfInstanceInfo = new VnfInstanceInfo();
+ vnfInstanceInfo.setVnfInstanceId("vnfInstanceId");
+ vnfInstanceInfo.setVnfInstanceName("vnfInstanceName");
+ vnfInstanceInfos.add(vnfInstanceInfo );
+
+
+ response.setVnfInstanceInfo(vnfInstanceInfos);
+
+ response.setCsarId("csarId");
+ List<ImageInfo> imageInfos = new ArrayList<ImageInfo>();
+ ImageInfo imageInfo = new ImageInfo();
+ imageInfo.setFileName("fileName");
+ imageInfo.setImageId("imageId");
+ imageInfo.setIndex("index");
+ imageInfo.setStatus("status");
+ imageInfo.setTenant("tenant");
+ imageInfo.setVimId("vimId");
+ imageInfo.setVimUser("vimUser");
+
+ imageInfos.add(imageInfo);
+ response.setImageInfo(imageInfos);
+
+ VnfPackageInfo packageInfo = new VnfPackageInfo();
+ packageInfo.setDownloadUri("1.3.5.6");
+ packageInfo.setName("name");
+ packageInfo.setOnBoardState("onBoardState");
+ packageInfo.setVnfdId("vnfdId");
+ packageInfo.setVnfdProvider("vnfdProvider");
+ packageInfo.setVnfdVersion("vnfdVersion");
+ packageInfo.setVnfVersion("vnfVersion");
+ Deletionpending deletionPending = CommonEnum.Deletionpending.fALSE;
+ packageInfo.setDeletionPending(deletionPending );
+
+ response.setPackageInfo(packageInfo );
+
+ String json = gson.toJson(packageInfo);
+
+ HttpResult httpResult = new HttpResult();
+ httpResult.setContent(json);
+
+ when(httpClientProcessor.process(Mockito.anyString(), Mockito.any(RequestMethod.class), Mockito.any(HashMap.class), Mockito.anyString())).thenReturn(httpResult);
+ VnfPackageInfo packageInfo1 = catalogMgmr.queryVnfPackage(vnfPackageId);
Assert.assertEquals("1.3.5.6", packageInfo.getDownloadUri());
}
MockitoAnnotations.initMocks(this);
AdaptorEnv env = new AdaptorEnv();
cbamMgmr.setAdaptorEnv(env);
- MockitoAnnotations.initMocks(this);
String json = "{\"access_token\":\"1234567\"}";
HttpResult httpResult = new HttpResult();
--- /dev/null
+/*
+ * Copyright 2016-2017, Nokia Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.vfc.nfvo.driver.vnfm.svnfm.msb.service;
+
+import java.io.IOException;
+
+import org.apache.http.client.ClientProtocolException;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.msb.inf.IMsbMgmr;
+import org.springframework.boot.ApplicationArguments;
+
+public class MsbServiceRegisterTest {
+ @InjectMocks
+ private MsbServiceRegister msbServiceRegister;
+
+ @Mock
+ private IMsbMgmr msbMgmr;
+
+ @Mock
+ private ApplicationArguments argments;
+
+ @Before
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void testRegister() throws ClientProtocolException, IOException
+ {
+ msbServiceRegister.run(argments);
+ }
+}
import static org.mockito.Mockito.when;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import org.apache.http.client.ClientProtocolException;
import org.junit.Before;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.bo.AdaptorEnv;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.bo.KeyValuePair;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum.LifecycleOperation;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpClientProcessorInf;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpResult;
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.AccessInfo;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.AffectedVirtualStorage;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.AffectedVnfc;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.InterfaceInfo;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.ResourceDefinition;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.VimAssets;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.VimInfo;
import org.springframework.web.bind.annotation.RequestMethod;
+import com.google.gson.Gson;
+
public class NslcmMgmrImplTest {
@InjectMocks
private NslcmMgmrImpl nslcmMgmr;
private String vnfInstanceId = "vnfInstanceId_001";
+ private Gson gson = new Gson();
+
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
AdaptorEnv env = new AdaptorEnv();
nslcmMgmr.setAdaptorEnv(env);
MockitoAnnotations.initMocks(this);
-
- String json = "{\"access_token\":\"1234567\"}";
- HttpResult httpResult = new HttpResult();
- httpResult.setContent(json);
-
- when(httpClientProcessor.process(Mockito.anyString(), Mockito.any(RequestMethod.class), Mockito.any(HashMap.class), Mockito.anyString())).thenReturn(httpResult);
}
@Test
public void testGrantVnf() throws ClientProtocolException, IOException
{
+ ResourceDefinition resource = new ResourceDefinition();
+ resource.setResourceDefinitionId("resourceDefinitionId");
+ resource.setVdu("vdu");
+
+ NslcmGrantVnfResponse gresponse = new NslcmGrantVnfResponse();
+ List<KeyValuePair> additionalParam1 = new ArrayList<KeyValuePair>();
+ KeyValuePair pair = new KeyValuePair();
+ pair.setKey("key");
+ pair.setValue("value");
+ additionalParam1.add(pair);
+
+ List<ResourceDefinition> additionalParam2 = new ArrayList<ResourceDefinition>();
+ additionalParam2.add(resource);
+ gresponse.setAdditionalParam(additionalParam2);
+
+ VimInfo vim = new VimInfo();
+ vim.setInterfaceEndpoint("interfaceEndpoint");
+ vim.setVimId("vimId");
+ AccessInfo accessInfo = null;
+ vim.setAccessInfo(accessInfo );
+ InterfaceInfo interfaceInfo = null;
+ vim.setInterfaceInfo(interfaceInfo);
+
+ VimAssets vimAssets = null;
+ gresponse.setVimAssets(vimAssets);
+
+ gresponse.setVim(vim );
+ String json = gson.toJson(gresponse);
+ HttpResult httpResult = new HttpResult();
+ httpResult.setContent(json);
+
+ when(httpClientProcessor.process(Mockito.anyString(), Mockito.any(RequestMethod.class), Mockito.any(HashMap.class), Mockito.anyString())).thenReturn(httpResult);
+
NslcmGrantVnfRequest cbamRequest = new NslcmGrantVnfRequest();
+ List<KeyValuePair> additionalParam = new ArrayList<KeyValuePair>();
+ pair = new KeyValuePair();
+ pair.setKey("key");
+ pair.setValue("value");
+ additionalParam.add(pair);
+ cbamRequest.setAdditionalParam(additionalParam);
+
+
+ List<ResourceDefinition> addResource = new ArrayList<ResourceDefinition>();
+ addResource.add(resource);
+
+ cbamRequest.setAddResource(addResource);
+ cbamRequest.setVnfInstanceId("vnfInstanceId");
+ cbamRequest.setJobId("jobId");
+ LifecycleOperation lifecycleOperation = CommonEnum.LifecycleOperation.Instantiate;
+ cbamRequest.setLifecycleOperation(lifecycleOperation);
+ cbamRequest.setRemoveResource(addResource);
+
NslcmGrantVnfResponse response = nslcmMgmr.grantVnf(cbamRequest);
}
@Test
public void testNotifyVnf() throws ClientProtocolException, IOException
{
+ String json = "{}";
+ HttpResult httpResult = new HttpResult();
+ httpResult.setContent(json);
+
+ when(httpClientProcessor.process(Mockito.anyString(), Mockito.any(RequestMethod.class), Mockito.any(HashMap.class), Mockito.anyString())).thenReturn(httpResult);
NslcmNotifyLCMEventsRequest cbamRequest = new NslcmNotifyLCMEventsRequest();
+ cbamRequest.setJobId("jobId");
+ cbamRequest.setOperation("operation");
+ cbamRequest.setVnfInstanceId(vnfInstanceId);
+ AffectedVirtualStorage affectedVirtualStorage = new AffectedVirtualStorage();
+ cbamRequest.setAffectedVirtualStorage(affectedVirtualStorage );
+ AffectedVnfc affectedVnfc = new AffectedVnfc();
+ cbamRequest.setAffectedVnfc(affectedVnfc );
nslcmMgmr.notifyVnf(cbamRequest, vnfInstanceId);
}
}
<parent>
<groupId>org.onap.oparent</groupId>
<artifactId>oparent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>0.1.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.vfc.nfvo.driver.vnfm.svnfm</groupId>