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
