Fix VNF instantiate problem 69/14169/1
authorluxin <luxin7@huawei.com>
Thu, 21 Sep 2017 08:57:34 +0000 (16:57 +0800)
committerluxin <luxin7@huawei.com>
Thu, 21 Sep 2017 08:57:34 +0000 (16:57 +0800)
Change-Id: Ie277ddd2bd59a296684b63c2b0c84bf238c29bc8
Issue-Id:VFC-391
Signed-off-by: luxin <luxin7@huawei.com>
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
huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfRoa.java

index 5e38637..98e3fa0 100644 (file)
@@ -57,14 +57,14 @@ public class AdapterResourceManager implements IResourceManager {
     @Override
     public JSONObject uploadVNFPackage(JSONObject vnfpkg, Map<String, String> paramsMap) {
         JSONObject resultObj = new JSONObject();
-        JSONObject csarTempObj = new JSONObject();
-
+        String vnfDescriptorId = paramsMap.get("vnfDescriptorId");
         try {
             // if upper layer do not provide vnfpackage info,then get the
             // vnfpackage info from JSON file.
             if(vnfpkg == null || vnfpkg.isEmpty()) {
                 String vnfPkgInfo = readVfnPkgInfoFromJson();
-                vnfpkg = JSONObject.fromObject(vnfPkgInfo); // NOSONAR
+                JSONObject vnfpkgJson = JSONObject.fromObject(vnfPkgInfo);
+                vnfpkg = vnfpkgJson.getJSONObject(vnfDescriptorId);
             }
         } catch(IOException e) {
             LOG.error("function=uploadVNFPackage", e);
@@ -80,7 +80,7 @@ public class AdapterResourceManager implements IResourceManager {
         String csarid = paramsMap.get("csarid");
         String vnfmid = paramsMap.get("vnfmid");
         String vnfdid = "";
-        String vnfDescriptorId = paramsMap.get("vnfDescriptorId");
+
         if(null == csarid || "".equals(csarid)) {
             resultObj.put("reason", "csarid is null.");
             resultObj.put("retCode", Constant.REST_FAIL);
@@ -104,7 +104,7 @@ public class AdapterResourceManager implements IResourceManager {
             resultObj.put("retCode", Constant.REST_FAIL);
             return resultObj;
         }
-
+        JSONObject csarTempObj = new JSONObject();
         csarTempObj = vnfpkg.getJSONObject("template");
         String csarfilepath = csarTempObj.getString("csar_file_path");
         String csarfilename = csarTempObj.getString("csar_file_name");
@@ -180,12 +180,17 @@ public class AdapterResourceManager implements IResourceManager {
         }
 
         // upload VNF package
-        csarTempObj.getJSONArray("vim_list").getJSONObject(0).put("vim_id", vimId);
+        csarTempObj.put("vim_id", vimId);
         vnfpkg.put("template", csarTempObj);
         LOG.info("vnfpkg: " + vnfpkg);
 
         JSONObject uploadPkgObject = upload(vnfpkg, vnfmUrl, connToken);
         LOG.info("uploadPkgObject:" + uploadPkgObject);
+        if(!uploadPkgObject.isEmpty() && uploadPkgObject.get(Constant.RETCODE).equals(HttpStatus.SC_OK)) {
+            LOG.info("upload vnf package info successful.", uploadPkgObject.get(Constant.RETCODE));
+            vnfdid = uploadPkgObject.getString("id");
+        }
+
         if(vnfdid == null || "".equals(vnfdid.trim())) {
             JSONObject vnfdConf = readVnfdIdInfoFromJson();
             LOG.info("vnfdConf=" + vnfdConf);
index 33730fd..d1508ba 100644 (file)
@@ -159,7 +159,7 @@ public class VnfMgrVnfm implements InterfaceVnfMgr {
 
         int statusCode = queryResult.getInt(Constant.RETCODE);
 
-        if(statusCode == Constant.HTTP_NOCONTENT) {
+        if(statusCode == Constant.HTTP_NOCONTENT || statusCode == Constant.HTTP_OK) {
             restJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
             JSONObject resultObj = new JSONObject();
             resultObj.put(Constant.JOBID, vnfId + "_" + Constant.DELETE);
index 7d3c14c..35f7cea 100644 (file)
@@ -252,7 +252,7 @@ public class VnfRoa {
     @Path("/{vnfmId}/jobs/{jobId}")
     public String getJob(@PathParam("jobId") String jobId, @PathParam("vnfmId") String vnfmId,
             @Context HttpServletResponse resp, @QueryParam("@responseId") String responseId) throws ServiceException {
-        LOG.warn("function=getJob, msg=enter to get a job: jobId: {}", jobId);
+        LOG.warn("function=getJob, msg=enter to get a job: jobId: {}, responseId: {}", jobId, responseId);
         JSONObject restJson = new JSONObject();
 
         if(StringUtils.isEmpty(jobId) || StringUtils.isEmpty(vnfmId)) {