mirror of https://github.com/apache/cloudstack.git
volume upload: starting NIO server on SSVM
This commit is contained in:
parent
3e594c4e4f
commit
42fdc343f5
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue