This is an automated email from the ASF dual-hosted git repository.

pzampino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git

commit b10a852e9035048f67306f288d7efce935961775
Author: pzampino <[email protected]>
AuthorDate: Mon Jul 22 15:01:56 2019 -0400

    KNOX-1927 - CM discovery - ZEPPELINUI / ZEPPELINWS urls are not discovered
---
 ...tor.java => ZeppelinServiceModelGenerator.java} | 30 ++++++++++---------
 .../zeppelin/ZeppelinUIServiceModelGenerator.java  | 34 ++++------------------
 .../zeppelin/ZeppelinWSServiceModelGenerator.java  | 24 ++++++++-------
 ...way.topology.discovery.cm.ServiceModelGenerator |  3 ++
 4 files changed, 38 insertions(+), 53 deletions(-)

diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinUIServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinServiceModelGenerator.java
similarity index 74%
copy from 
gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinUIServiceModelGenerator.java
copy to 
gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinServiceModelGenerator.java
index 72b4e8c..b6a4f9e 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinUIServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinServiceModelGenerator.java
@@ -16,6 +16,7 @@
  */
 package org.apache.knox.gateway.topology.discovery.cm.model.zeppelin;
 
+import com.cloudera.api.swagger.client.ApiException;
 import com.cloudera.api.swagger.model.ApiConfigList;
 import com.cloudera.api.swagger.model.ApiRole;
 import com.cloudera.api.swagger.model.ApiService;
@@ -25,10 +26,10 @@ import 
org.apache.knox.gateway.topology.discovery.cm.model.AbstractServiceModelG
 
 import java.util.Locale;
 
-public class ZeppelinUIServiceModelGenerator extends 
AbstractServiceModelGenerator {
-  private static final String SERVICE = "ZEPPELINUI";
-  private static final String SERVICE_TYPE = "ZEPPELIN";
-  private static final String ROLE_TYPE = "ZEPPELIN_SERVER";
+public class ZeppelinServiceModelGenerator extends 
AbstractServiceModelGenerator {
+  private static final String SERVICE = "ZEPPELIN";
+  protected static final String SERVICE_TYPE = "ZEPPELIN";
+  protected static final String ROLE_TYPE = "ZEPPELIN_SERVER";
 
   @Override
   public boolean handles(ApiService service, ApiServiceConfig serviceConfig, 
ApiRole role, ApiConfigList roleConfig) {
@@ -39,19 +40,20 @@ public class ZeppelinUIServiceModelGenerator extends 
AbstractServiceModelGenerat
   public ServiceModel generateService(ApiService       service,
                                       ApiServiceConfig serviceConfig,
                                       ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+                                      ApiConfigList    roleConfig) throws 
ApiException {
     String hostname = role.getHostRef().getHostname();
-    String scheme = "http";
-    String port = getRoleConfigValue(roleConfig, "zeppelin_server_port");
-//    boolean sslEnabled = Boolean.parseBoolean(getRoleConfigValue(roleConfig, 
"ssl_enabled"));
-//    if(sslEnabled) {
-//      scheme = "https";
-//    } else {
-//      scheme = "http";
-//    }
+    String scheme;
+    String port;
+    boolean sslEnabled = Boolean.parseBoolean(getRoleConfigValue(roleConfig, 
"ssl_enabled"));
+    if(sslEnabled) {
+      scheme = "https";
+      port = getRoleConfigValue(roleConfig, "zeppelin_server_ssl_port");
+    } else {
+      scheme = "http";
+      port = getRoleConfigValue(roleConfig, "zeppelin_server_port");
+    }
     return new ServiceModel(ServiceModel.Type.UI,
                             SERVICE,
                             String.format(Locale.getDefault(), "%s://%s:%s", 
scheme, hostname, port));
   }
-
 }
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinUIServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinUIServiceModelGenerator.java
index 72b4e8c..1f2b2d8 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinUIServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinUIServiceModelGenerator.java
@@ -16,42 +16,20 @@
  */
 package org.apache.knox.gateway.topology.discovery.cm.model.zeppelin;
 
+
+import com.cloudera.api.swagger.client.ApiException;
 import com.cloudera.api.swagger.model.ApiConfigList;
 import com.cloudera.api.swagger.model.ApiRole;
 import com.cloudera.api.swagger.model.ApiService;
 import com.cloudera.api.swagger.model.ApiServiceConfig;
 import org.apache.knox.gateway.topology.discovery.cm.ServiceModel;
-import 
org.apache.knox.gateway.topology.discovery.cm.model.AbstractServiceModelGenerator;
-
-import java.util.Locale;
 
-public class ZeppelinUIServiceModelGenerator extends 
AbstractServiceModelGenerator {
+public class ZeppelinUIServiceModelGenerator extends 
ZeppelinServiceModelGenerator {
   private static final String SERVICE = "ZEPPELINUI";
-  private static final String SERVICE_TYPE = "ZEPPELIN";
-  private static final String ROLE_TYPE = "ZEPPELIN_SERVER";
-
-  @Override
-  public boolean handles(ApiService service, ApiServiceConfig serviceConfig, 
ApiRole role, ApiConfigList roleConfig) {
-    return SERVICE_TYPE.equals(service.getType()) && 
ROLE_TYPE.equals(role.getType());
-  }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
-    String hostname = role.getHostRef().getHostname();
-    String scheme = "http";
-    String port = getRoleConfigValue(roleConfig, "zeppelin_server_port");
-//    boolean sslEnabled = Boolean.parseBoolean(getRoleConfigValue(roleConfig, 
"ssl_enabled"));
-//    if(sslEnabled) {
-//      scheme = "https";
-//    } else {
-//      scheme = "http";
-//    }
-    return new ServiceModel(ServiceModel.Type.UI,
-                            SERVICE,
-                            String.format(Locale.getDefault(), "%s://%s:%s", 
scheme, hostname, port));
+  public ServiceModel generateService(ApiService service, ApiServiceConfig 
serviceConfig, ApiRole role, ApiConfigList roleConfig) throws ApiException {
+    ServiceModel sm = super.generateService(service, serviceConfig, role, 
roleConfig);
+    return new ServiceModel(sm.getType(), SERVICE, sm.getServiceUrl());
   }
-
 }
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinWSServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinWSServiceModelGenerator.java
index bdf91b5..9f89412 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinWSServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinWSServiceModelGenerator.java
@@ -24,7 +24,7 @@ import 
org.apache.knox.gateway.topology.discovery.cm.ServiceModel;
 
 import java.util.Locale;
 
-public class ZeppelinWSServiceModelGenerator extends 
ZeppelinUIServiceModelGenerator {
+public class ZeppelinWSServiceModelGenerator extends 
ZeppelinServiceModelGenerator {
   private static final String SERVICE = "ZEPPELINWS";
 
   @Override
@@ -33,17 +33,19 @@ public class ZeppelinWSServiceModelGenerator extends 
ZeppelinUIServiceModelGener
                                       ApiRole          role,
                                       ApiConfigList    roleConfig) {
     String hostname = role.getHostRef().getHostname();
-    String scheme = "ws";
-    String port = getRoleConfigValue(roleConfig, "zeppelin_server_port");
-//    boolean sslEnabled = Boolean.parseBoolean(getRoleConfigValue(roleConfig, 
"ssl_enabled"));
-//    if(sslEnabled) {
-//      scheme = "wss";
-//    } else {
-//      scheme = "ws";
-//    }
-    return new ServiceModel(ServiceModel.Type.UI,
+    String scheme;
+    String port;
+    boolean sslEnabled = Boolean.parseBoolean(getRoleConfigValue(roleConfig, 
"ssl_enabled"));
+    if(sslEnabled) {
+      scheme = "wss";
+      port = getRoleConfigValue(roleConfig, "zeppelin_server_ssl_port");
+    } else {
+      scheme = "ws";
+      port = getRoleConfigValue(roleConfig, "zeppelin_server_port");
+    }
+    return new ServiceModel(ServiceModel.Type.API,
                             SERVICE,
-                            String.format(Locale.getDefault(), "%s://%s:%s", 
scheme, hostname, port));
+                            String.format(Locale.getDefault(), 
"%s://%s:%s/ws", scheme, hostname, port));
   }
 
 }
diff --git 
a/gateway-discovery-cm/src/main/resources/META-INF/services/org.apache.knox.gateway.topology.discovery.cm.ServiceModelGenerator
 
b/gateway-discovery-cm/src/main/resources/META-INF/services/org.apache.knox.gateway.topology.discovery.cm.ServiceModelGenerator
index 699f4b2..4835681 100644
--- 
a/gateway-discovery-cm/src/main/resources/META-INF/services/org.apache.knox.gateway.topology.discovery.cm.ServiceModelGenerator
+++ 
b/gateway-discovery-cm/src/main/resources/META-INF/services/org.apache.knox.gateway.topology.discovery.cm.ServiceModelGenerator
@@ -38,4 +38,7 @@ 
org.apache.knox.gateway.topology.discovery.cm.model.yarn.JobHistoryUIServiceMode
 
org.apache.knox.gateway.topology.discovery.cm.model.yarn.ResourceManagerUIServiceModelGenerator
 
org.apache.knox.gateway.topology.discovery.cm.model.yarn.YarnUIServiceModelGenerator
 
org.apache.knox.gateway.topology.discovery.cm.model.yarn.YarnUIv2ServiceModelGenerator
+org.apache.knox.gateway.topology.discovery.cm.model.zeppelin.ZeppelinServiceModelGenerator
+org.apache.knox.gateway.topology.discovery.cm.model.zeppelin.ZeppelinUIServiceModelGenerator
+org.apache.knox.gateway.topology.discovery.cm.model.zeppelin.ZeppelinWSServiceModelGenerator
 

Reply via email to