You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ra...@apache.org on 2015/01/06 06:38:35 UTC

git commit: updated refs/heads/volume-upload to 42fdc34

Repository: cloudstack
Updated Branches:
  refs/heads/volume-upload 3e594c4e4 -> 42fdc343f


volume upload: starting NIO server on SSVM


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/42fdc343
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/42fdc343
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/42fdc343

Branch: refs/heads/volume-upload
Commit: 42fdc343f593acc1998e44c65dc650cb0855f9c7
Parents: 3e594c4
Author: Rajani Karuturi <ra...@gmail.com>
Authored: Tue Jan 6 11:07:10 2015 +0530
Committer: Rajani Karuturi <ra...@gmail.com>
Committed: Tue Jan 6 11:07:10 2015 +0530

----------------------------------------------------------------------
 .../resource/NfsSecondaryStorageResource.java   | 29 +++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/42fdc343/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java
----------------------------------------------------------------------
diff --git a/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java b/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java
index 54c3630..3e6ae3f 100755
--- a/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java
+++ b/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java
@@ -46,6 +46,10 @@ import java.util.UUID;
 
 import javax.naming.ConfigurationException;
 
+import com.cloud.utils.nio.HandlerFactory;
+import com.cloud.utils.nio.Link;
+import com.cloud.utils.nio.NioServer;
+import com.cloud.utils.nio.Task;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
@@ -137,7 +141,7 @@ import com.cloud.utils.script.OutputInterpreter;
 import com.cloud.utils.script.Script;
 import com.cloud.vm.SecondaryStorageVm;
 
-public class NfsSecondaryStorageResource extends ServerResourceBase implements SecondaryStorageResource {
+public class NfsSecondaryStorageResource extends ServerResourceBase implements SecondaryStorageResource, HandlerFactory {
 
     private static final Logger s_logger = Logger.getLogger(NfsSecondaryStorageResource.class);
 
@@ -1293,9 +1297,17 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S
         }
 
         savePostUploadPSK(cmd.getPostUploadKey());
+        startNioServerForPostUpload();
         return answer;
     }
 
+    private void startNioServerForPostUpload() {
+        //TODO: make port configurable.
+        NioServer server = new NioServer("PostUploadServer", 8210, 15, this);
+        s_logger.info("Listening on 8210 with 15 workers");
+        server.start();
+    }
+
     private void savePostUploadPSK(String psk) {
         try {
             FileUtils.writeStringToFile(new File("/etc/cloudstack/agent/ms-psk"),psk, "utf-8");
@@ -2492,4 +2504,19 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S
             super.fillNetworkInformation(cmd);
         }
     }
+
+    @Override
+    public Task create(Task.Type type, Link link, byte[] data) {
+        return new PostUploadHandler(type, link, data);
+    }
+
+    private class PostUploadHandler extends Task {
+        public PostUploadHandler(Task.Type type, Link link, byte[] data) {
+            super(type, link, data);
+        }
+        @Override
+        protected void doTask(Task task) throws Exception {
+            // TODO Auto-generated method stub
+        }
+    }
 }