update driver scaling process 43/47743/1
authorliuqian <liuqian13@huawei.com>
Wed, 16 May 2018 02:01:22 +0000 (10:01 +0800)
committerliuqian <liuqian13@huawei.com>
Wed, 16 May 2018 02:01:22 +0000 (10:01 +0800)
Change-Id: I058647bf164f529264dbde89b1b349a7d779e1e5
Issue-ID: VFC-868
Signed-off-by: liuqian <liuqian13@huawei.com>
huawei/vnfmadapter/VnfmadapterService/deployment/src/main/release/etc/vnfpkginfo/scalein_vm_ids.json [new file with mode: 0644]
huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/adapter/impl/AdapterResourceManager.java
huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/csm/vnf/VnfMgrVnfm.java

diff --git a/huawei/vnfmadapter/VnfmadapterService/deployment/src/main/release/etc/vnfpkginfo/scalein_vm_ids.json b/huawei/vnfmadapter/VnfmadapterService/deployment/src/main/release/etc/vnfpkginfo/scalein_vm_ids.json
new file mode 100644 (file)
index 0000000..a62900d
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "vm_list": [
+    {
+      "vm_id": ""
+    },
+    {
+      "vim_id": ""
+    }
+  ]
+}
\ No newline at end of file
index f9bafb6..ef7a07a 100644 (file)
@@ -655,6 +655,43 @@ public class AdapterResourceManager implements IResourceManager {
           return fileContent;
      }
 
+    /**
+     * Get scalein vm ids.<br>
+     *
+     * @return
+     * @throws IOException
+     * @since VFC 1.0
+     */
+    public static JSONObject readScaleInVmIdFromJson() {
+        String fileContent = "";
+
+        String fileName = SystemEnvVariablesFactory.getInstance().getAppRoot()
+                + System.getProperty(Constant.FILE_SEPARATOR) + "etc" + System.getProperty(Constant.FILE_SEPARATOR)
+                + "vnfpkginfo" + System.getProperty(Constant.FILE_SEPARATOR) + "scalein_vm_ids.json";
+
+        try (InputStream ins = new FileInputStream(fileName)) {
+            try (BufferedInputStream bins = new BufferedInputStream(ins)) {
+                byte[] contentByte = new byte[ins.available()];
+                int num = bins.read(contentByte);
+
+                if(num > 0) {
+                    fileContent = new String(contentByte);
+                }
+            }
+
+            if(StringUtils.isNotEmpty(fileContent)) {
+                return JSONObject.fromObject(fileContent);
+            }
+        } catch(FileNotFoundException e) {
+            LOG.error(fileName + "is not found!", e);
+        } catch(JSONException e) {
+            LOG.error(fileName + "is not json!", e);
+        } catch(IOException e) {
+            LOG.error(fileName + "io exception!", e);
+        }
+        return null;
+    }
+
      private static JSONObject readVnfdIdInfoFromJson() {
           JSONObject jsonObject = new JSONObject();
 
index e57d23f..242ccbd 100644 (file)
@@ -21,6 +21,7 @@ import java.io.IOException;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.ResultRequestUtil;
+import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.adapter.impl.AdapterResourceManager;
 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.ParamConstants;
 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.UrlConstant;
@@ -75,12 +76,15 @@ public class VnfMgrVnfm implements InterfaceVnfMgr {
             // scale_in
             JSONArray vmList = new JSONArray();
             try {
-                JSONObject additionalParam = vnfObject.getJSONObject("additionalParam");
-                vmList = additionalParam.getJSONArray("vm_list");
+                // JSONObject additionalParam = vnfObject.getJSONObject("additionalParam");
+                // vmList = additionalParam.getJSONArray("vm_list");
+                vmList = AdapterResourceManager.readScaleInVmIdFromJson().getJSONArray("vm_list");
             } catch(JSONException e) {
                 LOG.error("the param 'additionalParam' or 'vm_list' not found,please check it", e);
             }
-            scaleInfo.put("vm_list", vmList);
+            if(null != vmList && !vmList.isEmpty()) {
+                scaleInfo.put("vm_list", vmList);
+            }
         }
         paramJson.put("scale_info", scaleInfo);
         JSONObject queryResult =
@@ -93,7 +97,9 @@ public class VnfMgrVnfm implements InterfaceVnfMgr {
                 restJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
                 // restJson.put("data",
                 // queryResult.getJSONObject("data").getJSONObject("scale_info"));
-                JSONObject appInfo = queryResult.getJSONObject("data").getJSONObject("scale_info");
+                // JSONObject appInfo =
+                // queryResult.getJSONObject("data").getJSONObject("scale_info");
+                JSONObject appInfo = new JSONObject();
                 JSONObject resultObj = new JSONObject();
                 // resultObj.put(Constant.JOBID, vnfInstanceId + "_" + Constant.PUT);
                 handleResponse(resultObj, appInfo, vnfInstanceId, Constant.PUT);