You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by pz...@apache.org on 2019/07/22 19:47:34 UTC
[knox] 02/02: KNOX-1927 - CM discovery - ZEPPELINUI / ZEPPELINWS
urls are not discovered
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 <pz...@cloudera.com>
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