diff options
Diffstat (limited to 'huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest')
2 files changed, 36 insertions, 4 deletions
diff --git a/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfResourceRoa.java b/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfResourceRoa.java index c16f0730..fa1e4c39 100644 --- a/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfResourceRoa.java +++ b/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfResourceRoa.java @@ -121,17 +121,27 @@ public class VnfResourceRoa { JSONArray vmList = dataObject.getJSONArray("vm_list"); String changeType = ""; String operation = ""; - if(1 == dataObject.getInt("event_type")) { + int eventType = dataObject.getInt("event_type"); + if(1 == eventType) { changeType = "added"; operation = "Instantiate"; - } else { + } else if(4 == eventType) { changeType = "removed"; operation = "Terminal"; + } else if(3 == eventType) { + changeType = "added"; + operation = "Scaleout"; + } else if(2 == eventType) { + changeType = "removed"; + operation = "Scalein"; } String vnfInstanceId = dataObject.getString("vnf_id"); for(int i = 0; i < vmList.size(); i++) { JSONObject vm = vmList.getJSONObject(i); LOG.info("function=callLcmNotify, vm: {}", vm); + if((2 == eventType) && ("Active".equalsIgnoreCase(vm.getString("status")))) { + continue; + } JSONObject affectedVm = new JSONObject(); String vimVimId = vm.getString("vim_vm_id"); affectedVm.put("vnfcInstanceId", vimVimId); @@ -143,6 +153,10 @@ public class VnfResourceRoa { LOG.info("function=callLcmNotify, affectedVm: {}", affectedVm); affectedVnfc.add(affectedVm); } + if(affectedVnfc.isEmpty()) { + LOG.warn("function=callLcmNotify, affectedVnfc is empty."); + return; + } JSONObject notification = new JSONObject(); notification.put("status", dataObject.getString("vnf_status")); notification.put("vnfInstanceId", vnfInstanceId); diff --git a/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfRoa.java b/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfRoa.java index 15786b66..e56eef1f 100644 --- a/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfRoa.java +++ b/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfRoa.java @@ -302,7 +302,7 @@ public class VnfRoa { * "affectedvm": { * "vmid": "804cca71 - 9ae9 - 4511 - 8e30 - d1387718caff", * "vduid": "vdu_100", - * "vmname": "ZTE_SSS_111_PP_2_L" + * "vmname": "SBC_111_PP_2_L" * } * } * @param resp @@ -333,10 +333,26 @@ public class VnfRoa { } restJson.remove(Constant.RETCODE); - restJson.put("jobId", vnfInstanceId + "_post"); + //restJson.put("jobId", vnfInstanceId + "_post"); + restJson.put("jobId", vnfInstanceId + ":heal"); return restJson.toString(); } + private String getHealJobBody(String jobId) { + LOG.warn("function=getHealJobBody"); + JSONObject responseJson = new JSONObject(); + JSONObject jobInfoJson = new JSONObject(); + jobInfoJson.put("jobId", jobId); + responseJson.put("progress", "100"); + responseJson.put("status", "finished"); + responseJson.put("errorCode", "null"); + responseJson.put("responseId", "100"); + jobInfoJson.put("responsedescriptor", responseJson); + + LOG.warn("function=getJobBody, jobInfoJson: {}", jobInfoJson); + return jobInfoJson.toString(); + } + private String getJobBody(JSONObject restJson, String jobId) { LOG.warn("function=getJobBody, restJson: {}", restJson); JSONObject responseJson = new JSONObject(); @@ -419,6 +435,8 @@ public class VnfRoa { if(flag.equalsIgnoreCase("no")) { return getJobProcess(tmpJobId, vnfmId, resp, jobId); + } else if (flag.equalsIgnoreCase("heal")){ + return getHealJobBody(jobId); } else { JSONObject restJson = vnfMgr.getJobFromVnfm(tmpJobId, vnfmId); |