Repository: storm
Updated Branches:
  refs/heads/master 5a1539fda -> 834eb107e


Allow ability to enable/disable http binding


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

Branch: refs/heads/master
Commit: da554572000b802681876fd6ec5e9d12359675c8
Parents: 8f9061a
Author: Kishor Patil <[email protected]>
Authored: Tue Sep 11 11:47:14 2018 -0400
Committer: Kishor Patil <[email protected]>
Committed: Tue Sep 11 15:34:25 2018 -0400

----------------------------------------------------------------------
 conf/defaults.yaml                                |  3 +++
 .../main/java/org/apache/storm/DaemonConfig.java  | 18 ++++++++++++++++++
 .../org/apache/storm/daemon/drpc/DRPCServer.java  |  3 ++-
 .../storm/daemon/logviewer/LogviewerServer.java   |  3 ++-
 .../org/apache/storm/daemon/ui/UIHelpers.java     | 11 +++++------
 .../java/org/apache/storm/daemon/ui/UIServer.java |  4 ++--
 6 files changed, 32 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/conf/defaults.yaml
----------------------------------------------------------------------
diff --git a/conf/defaults.yaml b/conf/defaults.yaml
index da4753a..7f6a921 100644
--- a/conf/defaults.yaml
+++ b/conf/defaults.yaml
@@ -97,6 +97,7 @@ ui.users: null
 ui.header.buffer.bytes: 4096
 ui.http.creds.plugin: 
org.apache.storm.security.auth.DefaultHttpCredentialsPlugin
 ui.pagination: 20
+ui.disable.http.binding: true
 
 logviewer.port: 8000
 logviewer.childopts: "-Xmx128m"
@@ -104,6 +105,7 @@ logviewer.cleanup.age.mins: 10080
 logviewer.appender.name: "A1"
 logviewer.max.sum.worker.logs.size.mb: 4096
 logviewer.max.per.worker.logs.size.mb: 2048
+logviewer.disable.http.binding: true
 
 logs.users: null
 
@@ -122,6 +124,7 @@ drpc.https.keystore.type: "JKS"
 drpc.http.creds.plugin: 
org.apache.storm.security.auth.DefaultHttpCredentialsPlugin
 drpc.authorizer.acl.filename: "drpc-auth-acl.yaml"
 drpc.authorizer.acl.strict: false
+drpc.disable.http.binding: true
 
 transactional.zookeeper.root: "/transactional"
 transactional.zookeeper.servers: null

http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/storm-server/src/main/java/org/apache/storm/DaemonConfig.java
----------------------------------------------------------------------
diff --git a/storm-server/src/main/java/org/apache/storm/DaemonConfig.java 
b/storm-server/src/main/java/org/apache/storm/DaemonConfig.java
index 9eaf6f6..64c934a 100644
--- a/storm-server/src/main/java/org/apache/storm/DaemonConfig.java
+++ b/storm-server/src/main/java/org/apache/storm/DaemonConfig.java
@@ -304,6 +304,24 @@ public class DaemonConfig implements Validated {
     public static final String UI_PORT = "ui.port";
 
     /**
+     * This controls wheather Storm UI should bind to http port even if 
ui.port is > 0.
+     */
+    @isBoolean
+    public static final String UI_DISABLE_HTTP_BINDING = 
"ui.disable.http.binding";
+
+    /**
+     * This controls wheather Storm Logviewer should bind to http port even if 
logviewer.port is > 0.
+     */
+    @isBoolean
+    public static final String LOGVIEWER_DISABLE_HTTP_BINDING = 
"logviewer.disable.http.binding";
+
+    /**
+     * This controls wheather Storm DRPC should bind to http port even if 
drpc.http.port is > 0.
+     */
+    @isBoolean
+    public static final String DRPC_DISABLE_HTTP_BINDING = 
"drpc.disable.http.binding";
+
+    /**
      * Storm UI Project BUGTRACKER Link for reporting issue.
      */
     @isString

http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java
----------------------------------------------------------------------
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java 
b/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java
index fdd2c7f..2815810 100644
--- a/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java
+++ b/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java
@@ -102,10 +102,11 @@ public class DRPCServer implements AutoCloseable {
             final String httpsTsType = (String) 
(conf.get(DaemonConfig.DRPC_HTTPS_TRUSTSTORE_TYPE));
             final Boolean httpsWantClientAuth = (Boolean) 
(conf.get(DaemonConfig.DRPC_HTTPS_WANT_CLIENT_AUTH));
             final Boolean httpsNeedClientAuth = (Boolean) 
(conf.get(DaemonConfig.DRPC_HTTPS_NEED_CLIENT_AUTH));
+            final Boolean disableHttpBinding = (Boolean) 
(conf.get(DaemonConfig.DRPC_DISABLE_HTTP_BINDING));
 
             //TODO a better way to do this would be great.
             DRPCApplication.setup(drpc);
-            ret = UIHelpers.jettyCreateServer(drpcHttpPort, null, httpsPort);
+            ret = UIHelpers.jettyCreateServer(drpcHttpPort, null, httpsPort, 
disableHttpBinding);
             
             UIHelpers.configSsl(ret, httpsPort, httpsKsPath, httpsKsPassword, 
httpsKsType, httpsKeyPassword,
                     httpsTsPath, httpsTsPassword, httpsTsType, 
httpsNeedClientAuth, httpsWantClientAuth);

http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java
----------------------------------------------------------------------
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java
 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java
index 07b971c..c9ede6e 100644
--- 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java
+++ 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java
@@ -83,9 +83,10 @@ public class LogviewerServer implements AutoCloseable {
             final String httpsTsType = (String) 
(conf.get(DaemonConfig.LOGVIEWER_HTTPS_TRUSTSTORE_TYPE));
             final Boolean httpsWantClientAuth = (Boolean) 
(conf.get(DaemonConfig.LOGVIEWER_HTTPS_WANT_CLIENT_AUTH));
             final Boolean httpsNeedClientAuth = (Boolean) 
(conf.get(DaemonConfig.LOGVIEWER_HTTPS_NEED_CLIENT_AUTH));
+            final Boolean disableHttpBinding = (Boolean) 
(conf.get(DaemonConfig.LOGVIEWER_DISABLE_HTTP_BINDING));
 
             LogviewerApplication.setup(conf);
-            ret = UIHelpers.jettyCreateServer(logviewerHttpPort, null, 
httpsPort);
+            ret = UIHelpers.jettyCreateServer(logviewerHttpPort, null, 
httpsPort, disableHttpBinding);
 
             UIHelpers.configSsl(ret, httpsPort, httpsKsPath, httpsKsPassword, 
httpsKsType, httpsKeyPassword,
                     httpsTsPath, httpsTsPassword, httpsTsType, 
httpsNeedClientAuth, httpsWantClientAuth);

http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java
----------------------------------------------------------------------
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java 
b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java
index a080599..9f6f81f 100644
--- a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java
+++ b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java
@@ -39,7 +39,6 @@ import javax.servlet.DispatcherType;
 import javax.servlet.Servlet;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.SecurityContext;
-
 import org.apache.storm.Config;
 import org.apache.storm.Constants;
 import org.apache.storm.DaemonConfig;
@@ -379,18 +378,18 @@ public class UIHelpers {
     /**
      * Construct a Jetty Server instance.
      */
-    public static Server jettyCreateServer(Integer port, String host, Integer 
httpsPort) {
-        return jettyCreateServer(port, host, httpsPort, null);
+    public static Server jettyCreateServer(Integer port, String host, Integer 
httpsPort, Boolean disableHttpBinding) {
+        return jettyCreateServer(port, host, httpsPort, null, 
disableHttpBinding);
     }
 
     /**
      * Construct a Jetty Server instance.
      */
     public static Server jettyCreateServer(Integer port, String host,
-                                           Integer httpsPort, Integer 
headerBufferSize) {
+                                           Integer httpsPort, Integer 
headerBufferSize, Boolean disableHttpBinding) {
         Server server = new Server();
 
-        if (httpsPort == null || httpsPort <= 0) {
+        if (httpsPort == null || httpsPort <= 0 || disableHttpBinding == null 
|| disableHttpBinding == false) {
             HttpConfiguration httpConfig = new HttpConfiguration();
             httpConfig.setSendDateHeader(true);
             if (null != headerBufferSize) {
@@ -415,7 +414,7 @@ public class UIHelpers {
     public static void stormRunJetty(Integer port, String host,
                                      Integer httpsPort, Integer 
headerBufferSize,
                                      IConfigurator configurator) throws 
Exception {
-        Server s = jettyCreateServer(port, host, httpsPort, headerBufferSize);
+        Server s = jettyCreateServer(port, host, httpsPort, headerBufferSize, 
false);
         if (configurator != null) {
             configurator.execute(s);
         }

http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIServer.java
----------------------------------------------------------------------
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIServer.java 
b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIServer.java
index 9afd2d2..3c43249 100644
--- a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIServer.java
+++ b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIServer.java
@@ -93,11 +93,11 @@ public class UIServer {
         final String httpsTsType = (String) 
(conf.get(DaemonConfig.UI_HTTPS_TRUSTSTORE_TYPE));
         final Boolean httpsWantClientAuth = (Boolean) 
(conf.get(DaemonConfig.UI_HTTPS_WANT_CLIENT_AUTH));
         final Boolean httpsNeedClientAuth = (Boolean) 
(conf.get(DaemonConfig.UI_HTTPS_NEED_CLIENT_AUTH));
+        final Boolean disableHttpBinding = (Boolean) 
(conf.get(DaemonConfig.UI_DISABLE_HTTP_BINDING));
 
         Server jettyServer =
                 UIHelpers.jettyCreateServer(
-                        (int) conf.get(DaemonConfig.UI_PORT), null, httpsPort, 
headerBufferSize
-                );
+                        (int) conf.get(DaemonConfig.UI_PORT), null, httpsPort, 
headerBufferSize, disableHttpBinding);
 
         UIHelpers.configSsl(jettyServer, httpsPort, httpsKsPath, 
httpsKsPassword, httpsKsType, httpsKeyPassword,
                 httpsTsPath, httpsTsPassword, httpsTsType, 
httpsNeedClientAuth, httpsWantClientAuth);

Reply via email to