Modify vnf package extract part 97/21197/1
authoryufei_zhou <yufei.zhou@nokia-sbell.com>
Mon, 30 Oct 2017 03:10:58 +0000 (11:10 +0800)
committeryufei_zhou <yufei.zhou@nokia-sbell.com>
Mon, 30 Oct 2017 03:10:58 +0000 (11:10 +0800)
Change-Id: I85f94687262107337dc4894d3e29ead4380e4aba
Issue-ID: VFC-544
Signed-off-by: yufei_zhou <yufei.zhou@nokia-sbell.com>
nokia/vnfmdriver/vfcadaptorservice/docker/instance-init.sh
nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Driver2CbamRequestConverter.java
nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/InstantiateVnfContinueRunnable.java
nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/impl/CbamMgmrImpl.java
nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/constant/CommonConstants.java
nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/http/client/HttpClientProcessorImpl.java
nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/http/client/HttpClientUtils.java
nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/http/client/HttpRequestProcessor.java

index da32e84..cfb9c16 100755 (executable)
@@ -17,6 +17,6 @@
 # Config mysql credentials
 
 # Initialize MySQL schema
-/usr/bin/mysqld_safe &
+/usr/bin/mysqld_safe &
 cd bin
 ./init_db.sh root rootpass 127.0.0.1 3306
index f351925..2e05e1a 100644 (file)
@@ -35,7 +35,6 @@ import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.NslcmGrantVnfResponse;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.AccessInfo;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.GrantInfo;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.NslcmVimInfo;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.VimAssets;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.VimComputeResourceFlavour;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfRequest;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.InstantiateVnfRequest;
index e6e060c..6fbb028 100644 (file)
@@ -79,8 +79,6 @@ public class InstantiateVnfContinueRunnable implements Runnable {
                        
                        NslcmGrantVnfRequest grantRequest = buildNslcmGrantVnfRequest();
                        NslcmGrantVnfResponse grantResponse = nslcmMgmr.grantVnf(grantRequest);
-                       handleNslcmGrantResponse(grantResponse);
-                       
                        
                        //step 5: instantiate vnf
                        CBAMInstantiateVnfRequest  instantiateReq = requestConverter.InstantiateReqConvert(driverRequest, grantResponse, null, null);
@@ -108,15 +106,15 @@ public class InstantiateVnfContinueRunnable implements Runnable {
                                        String packageUrl = vnfPackageInfo.getDownloadUri();
                                        String saveDir = "/service/vnfPackage";
                                        String packageFileName = packageUrl.substring(packageUrl.lastIndexOf("/"));
-                                       Process process = Runtime.getRuntime().exec("mkdir " + saveDir);
+                                       Process process = Runtime.getRuntime().exec("mkdir -p " + saveDir);
                                        process.waitFor();
                                        
                                        if (HttpClientProcessorImpl.downLoadFromUrl(packageUrl, packageFileName, saveDir)) {
+                                               File csarFile = new File(saveDir + "/" + packageFileName);
                                                //extract package
-                                               ZipUtil.unpack(new File(saveDir + "/" + packageFileName), new File(saveDir));
-                                               //upload package
-                                               String cbamPackageDirName = saveDir + "/"
-                                                               + packageFileName.substring(0, packageFileName.length() - 4) + "/Artifacts";
+                                               ZipUtil.explode(csarFile);
+                                               csarFile.delete();
+                                               String cbamPackageDirName = saveDir + "/" + packageFileName + "/Artifacts";
                                                String cbamPackageName = new File(cbamPackageDirName).list()[0];
                                                cbamMgmr.uploadVnfPackage(cbamPackageName);
                                        } 
@@ -180,8 +178,15 @@ public class InstantiateVnfContinueRunnable implements Runnable {
                jobDbMgmr.save(jobInfo);
        }
 
-       private void handleNslcmGrantResponse(NslcmGrantVnfResponse grantResponse) {
-               // TODO Auto-generated method stub
+       public static void main(String[] argv) {
+               String saveDir = "D:/tmp/20170926/data";
+               String packageFileName = "vCSCF_v3.0.csar";
+               File csarFile = new File(saveDir + "/" + packageFileName);
+               ZipUtil.explode(csarFile);
+               csarFile.delete();
+               String cbamPackageDirName = saveDir + "/" + packageFileName + "/Artifacts";
+               String cbamPackageName = new File(cbamPackageDirName).list()[0];
+               System.out.println(cbamPackageName);
                
        }
 
index 6afa6c8..dc6a618 100644 (file)
@@ -59,14 +59,17 @@ public class CbamMgmrImpl implements CbamMgmrInf {
        @Autowired
        HttpClientProcessorInf httpClientProcessor;
        
-       private String retrieveToken() throws ClientProtocolException, IOException, JSONException {
+       public String retrieveToken() throws ClientProtocolException, IOException, JSONException {
                String result = null;
                String url= adaptorEnv.getCbamApiUriFront() + CommonConstants.CbamRetrieveTokenPath;
                HashMap<String, String> map = new HashMap<>();
                map.put(CommonConstants.ACCEPT, "*/*");
                map.put(CommonConstants.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_VALUE);
                
-               String bodyPostStr = String.format(CommonConstants.CbamRetrieveTokenPostStr, adaptorEnv.getGrantType(), adaptorEnv.getClientId(), adaptorEnv.getClientSecret(), adaptorEnv.getCbamUserName(), adaptorEnv.getCbamPassword());
+               String bodyPostStr = String.format(CommonConstants.CbamRetrieveTokenPostStr, adaptorEnv.getClientId(), adaptorEnv.getClientSecret(), adaptorEnv.getCbamUserName(), adaptorEnv.getCbamPassword());
+               
+               logger.debug("CbamMgmrImpl -> retrieveToken, url is " + url);
+               logger.debug("CbamMgmrImpl -> retrieveToken, bodyPostStr is " + bodyPostStr);
                
                String responseStr = httpClientProcessor.process(url, RequestMethod.POST, map, bodyPostStr).getContent();
                
@@ -262,7 +265,7 @@ public class CbamMgmrImpl implements CbamMgmrInf {
                HttpResult httpResult = operateCbamHttpUploadTask(cbamPackageFilePath, httpPath, method);
                String responseStr = httpResult.getContent();
                
-               logger.info("CbamMgmrImpl -> uploadVnfPackage, responseStr is " + responseStr);
+               logger.info("CbamMgmrImpl -> uploadVnfPackage, statusCode is " + httpResult.getStatusCode() + ", cause is " + httpResult.getStatusCause() + ". responseStr is " + responseStr);
                
                int code = httpResult.getStatusCode();
                if(code == 200) {
@@ -273,7 +276,7 @@ public class CbamMgmrImpl implements CbamMgmrInf {
                }
        }
 
-       private HttpResult operateCbamHttpUploadTask(String filePath, String httpPath, RequestMethod method) throws ClientProtocolException, IOException {
+       public HttpResult operateCbamHttpUploadTask(String filePath, String httpPath, RequestMethod method) throws ClientProtocolException, IOException {
                String token = null;
                try {
                        token = retrieveToken();
@@ -287,6 +290,18 @@ public class CbamMgmrImpl implements CbamMgmrInf {
                map.put(CommonConstants.AUTHORIZATION, "bearer " + token);
                map.put(CommonConstants.CONTENT_TYPE, "multipart/form-data, boundary=--fsgdsfgjgjdsgdfjgjgj");
                byte[] fileBytes = CommonUtil.getBytes(filePath);
+               logger.info("CbamMgmrImpl -> operateCbamHttpUploadTask, url is " + url);
+               logger.info("CbamMgmrImpl -> operateCbamHttpUploadTask, token is " + token);
+               logger.info("CbamMgmrImpl -> operateCbamHttpUploadTask, bodyPostStr byte lenth is " + fileBytes.length);
+               
                return httpClientProcessor.processBytes(url, method, map, fileBytes);
        }
+
+       public HttpClientProcessorInf getHttpClientProcessor() {
+               return httpClientProcessor;
+       }
+
+       public void setHttpClientProcessor(HttpClientProcessorInf httpClientProcessor) {
+               this.httpClientProcessor = httpClientProcessor;
+       }
 }
index b105911..a2be9f1 100644 (file)
@@ -53,7 +53,7 @@ public class CommonConstants {
        public static final String CbamScaleVnfPath = "/vnfs/%s/scale";
        public static final String CbamHealVnfPath="/vnfs/%s/heal";
        
-       public static final String CbamUploadVnfPackagePath="/api/catalog/vnfpackages";
+       public static final String CbamUploadVnfPackagePath="/api/catalog/adapter/vnfpackages";
        
        
        public static final String NSLCM_OPERATION_INSTANTIATE = "Instantiate";
index 114dea6..489ab92 100644 (file)
@@ -88,7 +88,7 @@ public class HttpClientProcessorImpl implements HttpClientProcessorInf{
                {
                URL url = new URL(urlStr);  
                HttpURLConnection conn = (HttpURLConnection)url.openConnection();  
-               conn.setConnectTimeout(10*1000);
+               conn.setConnectTimeout(20*1000);
                conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
                InputStream inputStream = conn.getInputStream();  
                byte[] getData = readInputStream(inputStream);    
index 7f6a000..e5a77f7 100644 (file)
@@ -72,10 +72,11 @@ public class HttpClientUtils {
                                .register("https", sslSocketFactory)
                                .build();
                
-               PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager( socketFactoryRegistry);
+               PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
                connMgr.setMaxTotal(200);
                connMgr.setDefaultMaxPerRoute(50);
                httpClientBuilder.setConnectionManager(connMgr);
+               
                return httpClientBuilder;
        }
        
index 363b5a9..8963dd4 100644 (file)
@@ -24,8 +24,8 @@ import org.apache.http.HttpResponse;
 import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.methods.HttpRequestBase;
-import org.apache.http.entity.StringEntity;
 import org.apache.http.entity.ByteArrayEntity;
+import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.http.util.EntityUtils;
@@ -47,7 +47,6 @@ public class HttpRequestProcessor {
                httpRequest.setURI(URI.create(url));
                
                HttpResponse response = httpClient.execute(httpRequest);
-               
                HttpResult httpResult = buildHttpResult(response);
                
                return httpResult;