summaryrefslogtreecommitdiffstats
path: root/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest
diff options
context:
space:
mode:
Diffstat (limited to 'huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest')
-rw-r--r--huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfResourceRoa.java18
-rw-r--r--huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfRoa.java22
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);