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
The following commit(s) were added to refs/heads/master by this push:
new 3b28f4f KNOX-1970 - CM discovery - Add Impala HS2 to auto discovery
(#223)
3b28f4f is described below
commit 3b28f4f5e89c865d948198d1f3df77bae81d18df
Author: Phil Zampino <[email protected]>
AuthorDate: Wed Dec 18 13:15:26 2019 -0500
KNOX-1970 - CM discovery - Add Impala HS2 to auto discovery (#223)
---
.../cm/model/AbstractServiceModelGenerator.java | 7 +
.../model/atlas/AtlasAPIServiceModelGenerator.java | 2 +-
.../cm/model/atlas/AtlasServiceModelGenerator.java | 11 +-
.../model/hbase/HBaseUIServiceModelGenerator.java | 11 +-
.../model/hbase/WebHBaseServiceModelGenerator.java | 11 +-
.../model/hdfs/NameNodeServiceModelGenerator.java | 14 +-
.../model/hive/HiveOnTezServiceModelGenerator.java | 2 +-
.../cm/model/hive/HiveServiceModelGenerator.java | 6 +-
.../model/hive/WebHCatServiceModelGenerator.java | 11 +-
.../cm/model/hue/HueLBServiceModelGenerator.java | 5 -
.../cm/model/hue/HueServiceModelGenerator.java | 5 -
.../ImpalaServiceModelGenerator.java} | 29 ++--
.../ImpalaUIServiceModelGenerator.java} | 33 ++--
.../cm/model/livy/LivyServiceModelGenerator.java | 11 +-
.../cm/model/oozie/OozieServiceModelGenerator.java | 11 +-
.../phoenix/PhoenixServiceModelGenerator.java | 11 +-
.../model/ranger/RangerServiceModelGenerator.java | 11 +-
.../cm/model/solr/SolrServiceModelGenerator.java | 11 +-
.../spark/SparkHistoryUIServiceModelGenerator.java | 11 +-
.../yarn/JobHistoryUIServiceModelGenerator.java | 5 -
.../ResourceManagerServiceModelGeneratorBase.java | 9 --
.../zeppelin/ZeppelinServiceModelGenerator.java | 11 +-
...way.topology.discovery.cm.ServiceModelGenerator | 2 +
.../cm/ClouderaManagerServiceDiscoveryTest.java | 169 +++++++++++++++++----
24 files changed, 217 insertions(+), 192 deletions(-)
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/AbstractServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/AbstractServiceModelGenerator.java
index 5d77fcd..9c9ead7 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/AbstractServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/AbstractServiceModelGenerator.java
@@ -19,6 +19,8 @@ package org.apache.knox.gateway.topology.discovery.cm.model;
import com.cloudera.api.swagger.client.ApiClient;
import com.cloudera.api.swagger.model.ApiConfig;
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.DiscoveryApiClient;
import org.apache.knox.gateway.topology.discovery.cm.ServiceModel;
@@ -78,4 +80,9 @@ public abstract class AbstractServiceModelGenerator
implements ServiceModelGener
return new ServiceModel(getModelType(), getService(), getServiceType(),
getRoleType(), url);
}
+ @Override
+ public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
+ return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
+ }
+
}
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/atlas/AtlasAPIServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/atlas/AtlasAPIServiceModelGenerator.java
index d4ae063..f156593 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/atlas/AtlasAPIServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/atlas/AtlasAPIServiceModelGenerator.java
@@ -19,7 +19,7 @@ package
org.apache.knox.gateway.topology.discovery.cm.model.atlas;
import org.apache.knox.gateway.topology.discovery.cm.ServiceModel;
public class AtlasAPIServiceModelGenerator extends AtlasServiceModelGenerator {
- private static final String SERVICE = "ATLAS-API";
+ public static final String SERVICE = "ATLAS-API";
@Override
public String getService() {
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/atlas/AtlasServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/atlas/AtlasServiceModelGenerator.java
index 5809943..a33863e 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/atlas/AtlasServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/atlas/AtlasServiceModelGenerator.java
@@ -27,9 +27,9 @@ import
org.apache.knox.gateway.topology.discovery.cm.model.AbstractServiceModelG
import java.util.Locale;
public class AtlasServiceModelGenerator extends AbstractServiceModelGenerator {
- private static final String SERVICE = "ATLAS";
- private static final String SERVICE_TYPE = "ATLAS";
- private static final String ROLE_TYPE = "ATLAS_SERVER";
+ public static final String SERVICE = "ATLAS";
+ public static final String SERVICE_TYPE = "ATLAS";
+ public static final String ROLE_TYPE = "ATLAS_SERVER";
@Override
public String getService() {
@@ -52,11 +52,6 @@ public class AtlasServiceModelGenerator extends
AbstractServiceModelGenerator {
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hbase/HBaseUIServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hbase/HBaseUIServiceModelGenerator.java
index 55e631f..00c7854 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hbase/HBaseUIServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hbase/HBaseUIServiceModelGenerator.java
@@ -27,9 +27,9 @@ import java.util.Locale;
public class HBaseUIServiceModelGenerator extends
AbstractServiceModelGenerator {
- private static final String SERVICE = "HBASEUI";
- private static final String SERVICE_TYPE = "HBASE";
- private static final String ROLE_TYPE = "MASTER";
+ public static final String SERVICE = "HBASEUI";
+ public static final String SERVICE_TYPE = "HBASE";
+ public static final String ROLE_TYPE = "MASTER";
@Override
public String getService() {
@@ -52,11 +52,6 @@ public class HBaseUIServiceModelGenerator extends
AbstractServiceModelGenerator
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hbase/WebHBaseServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hbase/WebHBaseServiceModelGenerator.java
index f38d7a5..c76e9a1 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hbase/WebHBaseServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hbase/WebHBaseServiceModelGenerator.java
@@ -27,9 +27,9 @@ import java.util.Locale;
public class WebHBaseServiceModelGenerator extends
AbstractServiceModelGenerator {
- private static final String SERVICE = "WEBHBASE";
- private static final String SERVICE_TYPE = "HBASE";
- private static final String ROLE_TYPE = "HBASERESTSERVER";
+ public static final String SERVICE = "WEBHBASE";
+ public static final String SERVICE_TYPE = "HBASE";
+ public static final String ROLE_TYPE = "HBASERESTSERVER";
@Override
public String getService() {
@@ -52,11 +52,6 @@ public class WebHBaseServiceModelGenerator extends
AbstractServiceModelGenerator
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/NameNodeServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/NameNodeServiceModelGenerator.java
index 075c94e..1486901 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/NameNodeServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/NameNodeServiceModelGenerator.java
@@ -27,9 +27,9 @@ import
org.apache.knox.gateway.topology.discovery.cm.model.AbstractServiceModelG
import java.util.Locale;
public class NameNodeServiceModelGenerator extends
AbstractServiceModelGenerator {
- private static final String SERVICE = "NAMENODE";
- private static final String SERVICE_TYPE = "HDFS";
- private static final String ROLE_TYPE = "NAMENODE";
+ public static final String SERVICE = "NAMENODE";
+ public static final String SERVICE_TYPE = "HDFS";
+ public static final String ROLE_TYPE = "NAMENODE";
@Override
public String getServiceType() {
@@ -52,14 +52,6 @@ public class NameNodeServiceModelGenerator extends
AbstractServiceModelGenerator
}
@Override
- public boolean handles(ApiService service,
- ApiServiceConfig serviceConfig,
- ApiRole role,
- ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveOnTezServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveOnTezServiceModelGenerator.java
index 15b4f8e..a5dbe06 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveOnTezServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveOnTezServiceModelGenerator.java
@@ -18,7 +18,7 @@ package
org.apache.knox.gateway.topology.discovery.cm.model.hive;
public class HiveOnTezServiceModelGenerator extends HiveServiceModelGenerator {
- private static final String SERVICE_TYPE = "HIVE_ON_TEZ";
+ public static final String SERVICE_TYPE = "HIVE_ON_TEZ";
@Override
public String getServiceType() {
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveServiceModelGenerator.java
index 7cb787d..981a9df 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveServiceModelGenerator.java
@@ -28,9 +28,9 @@ import java.util.Locale;
public class HiveServiceModelGenerator extends AbstractServiceModelGenerator {
- private static final String SERVICE = "HIVE";
- private static final String SERVICE_TYPE = "HIVE";
- private static final String ROLE_TYPE = "HIVESERVER2";
+ public static final String SERVICE = "HIVE";
+ public static final String SERVICE_TYPE = "HIVE";
+ public static final String ROLE_TYPE = "HIVESERVER2";
@Override
public String getService() {
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/WebHCatServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/WebHCatServiceModelGenerator.java
index 77438c1..fa3552d 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/WebHCatServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/WebHCatServiceModelGenerator.java
@@ -28,9 +28,9 @@ import java.util.Locale;
public class WebHCatServiceModelGenerator extends
AbstractServiceModelGenerator {
- public static final String SERVICE = "WEBHCAT";
- private static final String SERVICE_TYPE = "HIVE";
- private static final String ROLE_TYPE = "WEBHCAT";
+ public static final String SERVICE = "WEBHCAT";
+ public static final String SERVICE_TYPE = "HIVE";
+ public static final String ROLE_TYPE = "WEBHCAT";
@Override
public String getService() {
@@ -53,11 +53,6 @@ public class WebHCatServiceModelGenerator extends
AbstractServiceModelGenerator
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hue/HueLBServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hue/HueLBServiceModelGenerator.java
index ade5403..4b50aac 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hue/HueLBServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hue/HueLBServiceModelGenerator.java
@@ -52,11 +52,6 @@ public class HueLBServiceModelGenerator extends
AbstractServiceModelGenerator {
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hue/HueServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hue/HueServiceModelGenerator.java
index e6b59d8..04a7a52 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hue/HueServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hue/HueServiceModelGenerator.java
@@ -52,11 +52,6 @@ public class HueServiceModelGenerator extends
AbstractServiceModelGenerator {
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/WebHCatServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaServiceModelGenerator.java
similarity index 64%
copy from
gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/WebHCatServiceModelGenerator.java
copy to
gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaServiceModelGenerator.java
index 77438c1..1a8c920 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/WebHCatServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaServiceModelGenerator.java
@@ -14,7 +14,7 @@
* License for the specific language governing permissions and limitations
under
* the License.
*/
-package org.apache.knox.gateway.topology.discovery.cm.model.hive;
+package org.apache.knox.gateway.topology.discovery.cm.model.impala;
import com.cloudera.api.swagger.client.ApiException;
import com.cloudera.api.swagger.model.ApiConfigList;
@@ -26,11 +26,11 @@ import
org.apache.knox.gateway.topology.discovery.cm.model.AbstractServiceModelG
import java.util.Locale;
-public class WebHCatServiceModelGenerator extends
AbstractServiceModelGenerator {
+public class ImpalaServiceModelGenerator extends AbstractServiceModelGenerator
{
- public static final String SERVICE = "WEBHCAT";
- private static final String SERVICE_TYPE = "HIVE";
- private static final String ROLE_TYPE = "WEBHCAT";
+ public static final String SERVICE = "IMPALA";
+ public static final String SERVICE_TYPE = "IMPALA";
+ public static final String ROLE_TYPE = "IMPALAD";
@Override
public String getService() {
@@ -53,17 +53,14 @@ public class WebHCatServiceModelGenerator extends
AbstractServiceModelGenerator
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
- public ServiceModel generateService(ApiService service,
- ApiServiceConfig serviceConfig,
- ApiRole role,
- ApiConfigList roleConfig) throws
ApiException {
+ public ServiceModel generateService(ApiService service, ApiServiceConfig
serviceConfig, ApiRole role, ApiConfigList roleConfig) throws ApiException {
String hostname = role.getHostRef().getHostname();
- String port = getRoleConfigValue(roleConfig, "hive_webhcat_address_port");
- return createServiceModel(String.format(Locale.getDefault(),
"http://%s:%s/templeton", hostname, port));
+
+ boolean sslEnabled =
Boolean.parseBoolean(getServiceConfigValue(serviceConfig,
"client_services_ssl_enabled"));
+ String scheme = sslEnabled ? "https" : "http";
+
+ // Role config properties
+ String port = getRoleConfigValue(roleConfig, "hs2_http_port");
+ return createServiceModel(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/hbase/HBaseUIServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaUIServiceModelGenerator.java
similarity index 72%
copy from
gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hbase/HBaseUIServiceModelGenerator.java
copy to
gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaUIServiceModelGenerator.java
index 55e631f..17da335 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hbase/HBaseUIServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaUIServiceModelGenerator.java
@@ -14,8 +14,9 @@
* License for the specific language governing permissions and limitations
under
* the License.
*/
-package org.apache.knox.gateway.topology.discovery.cm.model.hbase;
+package org.apache.knox.gateway.topology.discovery.cm.model.impala;
+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,11 +26,12 @@ import
org.apache.knox.gateway.topology.discovery.cm.model.AbstractServiceModelG
import java.util.Locale;
-public class HBaseUIServiceModelGenerator extends
AbstractServiceModelGenerator {
+public class ImpalaUIServiceModelGenerator extends
AbstractServiceModelGenerator {
+
+ public static final String SERVICE = "IMPALAUI";
+ public static final String SERVICE_TYPE = "IMPALA";
+ public static final String ROLE_TYPE = "IMPALAD";
- private static final String SERVICE = "HBASEUI";
- private static final String SERVICE_TYPE = "HBASE";
- private static final String ROLE_TYPE = "MASTER";
@Override
public String getService() {
@@ -53,24 +55,21 @@ public class HBaseUIServiceModelGenerator extends
AbstractServiceModelGenerator
@Override
public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
+ return super.handles(service, serviceConfig, role, roleConfig) &&
+ Boolean.parseBoolean(getRoleConfigValue(roleConfig,
"impalad_enable_webserver"));
}
@Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
- ApiConfigList roleConfig) {
+ ApiConfigList roleConfig) throws
ApiException {
String hostname = role.getHostRef().getHostname();
- String scheme;
- String port = getRoleConfigValue(roleConfig, "hbase_master_info_port"); //
TODO: Is there an SSL port, or is this property re-used?
- boolean sslEnabled =
Boolean.parseBoolean(getServiceConfigValue(serviceConfig,
"hbase_hadoop_ssl_enabled"));
- if(sslEnabled) {
- scheme = "https";
- } else {
- scheme = "http";
- }
- return createServiceModel(String.format(Locale.getDefault(), "%s://%s:%s",
scheme, hostname, port));
- }
+ boolean sslEnabled =
Boolean.parseBoolean(getServiceConfigValue(serviceConfig,
"client_services_ssl_enabled"));
+ String scheme = sslEnabled ? "https" : "http";
+
+ String port = getRoleConfigValue(roleConfig, "impalad_webserver_port");
+ return createServiceModel(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/livy/LivyServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/livy/LivyServiceModelGenerator.java
index 99b4b7b..dfa4aad 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/livy/LivyServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/livy/LivyServiceModelGenerator.java
@@ -27,9 +27,9 @@ import java.util.Locale;
public class LivyServiceModelGenerator extends AbstractServiceModelGenerator {
- private static final String SERVICE = "LIVYSERVER";
- private static final String SERVICE_TYPE = "LIVY";
- private static final String ROLE_TYPE = "LIVY_SERVER";
+ public static final String SERVICE = "LIVYSERVER";
+ public static final String SERVICE_TYPE = "LIVY";
+ public static final String ROLE_TYPE = "LIVY_SERVER";
@Override
public String getService() {
@@ -52,11 +52,6 @@ public class LivyServiceModelGenerator extends
AbstractServiceModelGenerator {
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/oozie/OozieServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/oozie/OozieServiceModelGenerator.java
index 17a1c1f..a6adf0f 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/oozie/OozieServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/oozie/OozieServiceModelGenerator.java
@@ -27,9 +27,9 @@ import java.util.Locale;
public class OozieServiceModelGenerator extends AbstractServiceModelGenerator {
- private static final String SERVICE = "OOZIE";
- private static final String SERVICE_TYPE = "OOZIE";
- private static final String ROLE_TYPE = "OOZIE_SERVER";
+ public static final String SERVICE = "OOZIE";
+ public static final String SERVICE_TYPE = "OOZIE";
+ public static final String ROLE_TYPE = "OOZIE_SERVER";
@Override
public String getService() {
@@ -52,11 +52,6 @@ public class OozieServiceModelGenerator extends
AbstractServiceModelGenerator {
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/phoenix/PhoenixServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/phoenix/PhoenixServiceModelGenerator.java
index cf9fdd7..fcdbb21 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/phoenix/PhoenixServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/phoenix/PhoenixServiceModelGenerator.java
@@ -27,9 +27,9 @@ import java.util.Locale;
public class PhoenixServiceModelGenerator extends
AbstractServiceModelGenerator {
- private static final String SERVICE = "AVATICA";
- private static final String SERVICE_TYPE = "PHOENIX";
- private static final String ROLE_TYPE = "PHOENIX_QUERY_SERVER";
+ public static final String SERVICE = "AVATICA";
+ public static final String SERVICE_TYPE = "PHOENIX";
+ public static final String ROLE_TYPE = "PHOENIX_QUERY_SERVER";
@Override
public String getService() {
@@ -52,11 +52,6 @@ public class PhoenixServiceModelGenerator extends
AbstractServiceModelGenerator
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ranger/RangerServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ranger/RangerServiceModelGenerator.java
index edb9621..236ef29 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ranger/RangerServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ranger/RangerServiceModelGenerator.java
@@ -26,9 +26,9 @@ import
org.apache.knox.gateway.topology.discovery.cm.model.AbstractServiceModelG
import java.util.Locale;
public class RangerServiceModelGenerator extends AbstractServiceModelGenerator
{
- private static final String SERVICE = "RANGER";
- private static final String SERVICE_TYPE = "RANGER";
- private static final String ROLE_TYPE = "RANGER_ADMIN";
+ public static final String SERVICE = "RANGER";
+ public static final String SERVICE_TYPE = "RANGER";
+ public static final String ROLE_TYPE = "RANGER_ADMIN";
@Override
public String getService() {
@@ -51,11 +51,6 @@ public class RangerServiceModelGenerator extends
AbstractServiceModelGenerator {
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/solr/SolrServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/solr/SolrServiceModelGenerator.java
index 7f19653..cc6ae41 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/solr/SolrServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/solr/SolrServiceModelGenerator.java
@@ -26,9 +26,9 @@ import
org.apache.knox.gateway.topology.discovery.cm.model.AbstractServiceModelG
import java.util.Locale;
public class SolrServiceModelGenerator extends AbstractServiceModelGenerator {
- private static final String SERVICE = "SOLR";
- private static final String SERVICE_TYPE = "SOLR";
- private static final String ROLE_TYPE = "SOLR_SERVER";
+ public static final String SERVICE = "SOLR";
+ public static final String SERVICE_TYPE = "SOLR";
+ public static final String ROLE_TYPE = "SOLR_SERVER";
@Override
public String getService() {
@@ -51,11 +51,6 @@ public class SolrServiceModelGenerator extends
AbstractServiceModelGenerator {
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/spark/SparkHistoryUIServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/spark/SparkHistoryUIServiceModelGenerator.java
index 89d9d41..75c466f 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/spark/SparkHistoryUIServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/spark/SparkHistoryUIServiceModelGenerator.java
@@ -26,9 +26,9 @@ import
org.apache.knox.gateway.topology.discovery.cm.model.AbstractServiceModelG
import java.util.Locale;
public class SparkHistoryUIServiceModelGenerator extends
AbstractServiceModelGenerator {
- private static final String SERVICE = "SPARKHISTORYUI";
- private static final String SERVICE_TYPE = "SPARK_ON_YARN";
- private static final String ROLE_TYPE = "SPARK_YARN_HISTORY_SERVER";
+ public static final String SERVICE = "SPARKHISTORYUI";
+ public static final String SERVICE_TYPE = "SPARK_ON_YARN";
+ public static final String ROLE_TYPE = "SPARK_YARN_HISTORY_SERVER";
@Override
public String getService() {
@@ -51,11 +51,6 @@ public class SparkHistoryUIServiceModelGenerator extends
AbstractServiceModelGen
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/JobHistoryUIServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/JobHistoryUIServiceModelGenerator.java
index 5dfdeab..9b7e637 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/JobHistoryUIServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/JobHistoryUIServiceModelGenerator.java
@@ -53,11 +53,6 @@ public class JobHistoryUIServiceModelGenerator extends
AbstractServiceModelGener
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerServiceModelGeneratorBase.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerServiceModelGeneratorBase.java
index 6ca7b59..f73930d 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerServiceModelGeneratorBase.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerServiceModelGeneratorBase.java
@@ -16,10 +16,6 @@
*/
package org.apache.knox.gateway.topology.discovery.cm.model.yarn;
-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.model.AbstractServiceModelGenerator;
public abstract class ResourceManagerServiceModelGeneratorBase extends
AbstractServiceModelGenerator {
@@ -37,9 +33,4 @@ public abstract class
ResourceManagerServiceModelGeneratorBase extends AbstractS
return ROLE_TYPE;
}
- @Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
}
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinServiceModelGenerator.java
index bd0789b..8e99afb 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/zeppelin/ZeppelinServiceModelGenerator.java
@@ -27,9 +27,9 @@ import
org.apache.knox.gateway.topology.discovery.cm.model.AbstractServiceModelG
import java.util.Locale;
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";
+ public static final String SERVICE = "ZEPPELIN";
+ public static final String SERVICE_TYPE = "ZEPPELIN";
+ public static final String ROLE_TYPE = "ZEPPELIN_SERVER";
@Override
public String getService() {
@@ -52,11 +52,6 @@ public class ZeppelinServiceModelGenerator extends
AbstractServiceModelGenerator
}
@Override
- public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType());
- }
-
- @Override
public ServiceModel generateService(ApiService service,
ApiServiceConfig serviceConfig,
ApiRole role,
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 39e53f6..d6ca1cf 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
@@ -28,6 +28,8 @@
org.apache.knox.gateway.topology.discovery.cm.model.hive.HiveOnTezServiceModelGe
org.apache.knox.gateway.topology.discovery.cm.model.hive.WebHCatServiceModelGenerator
org.apache.knox.gateway.topology.discovery.cm.model.hue.HueServiceModelGenerator
org.apache.knox.gateway.topology.discovery.cm.model.hue.HueLBServiceModelGenerator
+org.apache.knox.gateway.topology.discovery.cm.model.impala.ImpalaServiceModelGenerator
+org.apache.knox.gateway.topology.discovery.cm.model.impala.ImpalaUIServiceModelGenerator
org.apache.knox.gateway.topology.discovery.cm.model.yarn.JobTrackerServiceModelGenerator
org.apache.knox.gateway.topology.discovery.cm.model.livy.LivyServiceModelGenerator
org.apache.knox.gateway.topology.discovery.cm.model.oozie.OozieServiceModelGenerator
diff --git
a/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
b/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
index 31419cf..ecf5520 100644
---
a/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
+++
b/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
@@ -32,6 +32,23 @@ import org.apache.knox.gateway.config.GatewayConfig;
import org.apache.knox.gateway.services.security.AliasService;
import org.apache.knox.gateway.topology.discovery.ServiceDiscovery;
import org.apache.knox.gateway.topology.discovery.ServiceDiscoveryConfig;
+import
org.apache.knox.gateway.topology.discovery.cm.model.atlas.AtlasAPIServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.atlas.AtlasServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.hbase.HBaseUIServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.hbase.WebHBaseServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.hdfs.NameNodeServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.hive.HiveOnTezServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.hive.HiveServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.hive.WebHCatServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.impala.ImpalaServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.impala.ImpalaUIServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.livy.LivyServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.oozie.OozieServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.phoenix.PhoenixServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.ranger.RangerServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.solr.SolrServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.spark.SparkHistoryUIServiceModelGenerator;
+import
org.apache.knox.gateway.topology.discovery.cm.model.zeppelin.ZeppelinServiceModelGenerator;
import org.easymock.EasyMock;
import org.junit.Test;
@@ -99,7 +116,7 @@ public class ClouderaManagerServiceDiscoveryTest {
final String port = "21000";
final String sslPort = "21003";
ServiceDiscovery.Cluster cluster = doTestAtlasDiscovery(hostName, port,
sslPort, isSSL);
- List<String> atlastURLs = cluster.getServiceURLs("ATLAS");
+ List<String> atlastURLs =
cluster.getServiceURLs(AtlasServiceModelGenerator.SERVICE);
assertEquals(1, atlastURLs.size());
assertEquals((isSSL ? "https" : "http") + "://" + hostName + ":" + (isSSL
? sslPort : port),
atlastURLs.get(0));
@@ -110,7 +127,7 @@ public class ClouderaManagerServiceDiscoveryTest {
final String port = "21000";
final String sslPort = "21003";
ServiceDiscovery.Cluster cluster = doTestAtlasDiscovery(hostName, port,
sslPort, isSSL);
- List<String> atlastURLs = cluster.getServiceURLs("ATLAS-API");
+ List<String> atlastURLs =
cluster.getServiceURLs(AtlasAPIServiceModelGenerator.SERVICE);
assertEquals(1, atlastURLs.size());
assertEquals((isSSL ? "https" : "http") + "://" + hostName + ":" + (isSSL
? sslPort : port),
atlastURLs.get(0));
@@ -335,9 +352,9 @@ public class ClouderaManagerServiceDiscoveryTest {
ServiceDiscovery.Cluster cluster = doTestDiscovery(hostName,
"HIVE-1",
- "HIVE",
+
WebHCatServiceModelGenerator.SERVICE_TYPE,
"HIVE-1-WEBHCAT-1",
- "WEBHCAT",
+
WebHCatServiceModelGenerator.ROLE_TYPE,
Collections.emptyMap(),
roleProperties);
@@ -438,6 +455,92 @@ public class ClouderaManagerServiceDiscoveryTest {
doTestZeppelinDiscovery("ZEPPELINWS", true);
}
+ @Test
+ public void testImpalaDiscovery() {
+ doTestImpalaDiscovery(false);
+ }
+
+ @Test
+ public void testImpalaDiscoverySSL() {
+ doTestImpalaDiscovery(true);
+ }
+
+ @Test
+ public void testImpalaUIDiscoveryWebServerNotEnabled() {
+ doTestImpalaUIDiscovery(false, false);
+ }
+
+ @Test
+ public void testImpalaUIDiscovery() {
+ doTestImpalaUIDiscovery(false, true);
+ }
+
+ @Test
+ public void testImpalaUIDiscoverySSL() {
+ doTestImpalaUIDiscovery(true, true);
+ }
+
+ private void doTestImpalaDiscovery(boolean sslEnabled) {
+ final String hostName = "impalad-host";
+ final String port = "28000";
+ final String expectedURL = (sslEnabled ? "https" : "http") + "://" +
hostName + ":" + port + "/";
+
+ Map<String, String> serviceProperties = new HashMap<>();
+ if (sslEnabled) {
+ serviceProperties.put("client_services_ssl_enabled", "true");
+ }
+
+ // Configure the role
+ Map<String, String> roleProperties = new HashMap<>();
+ roleProperties.put("hs2_http_port", port);
+
+ ServiceDiscovery.Cluster cluster = doTestDiscovery(hostName,
+ "IMPALA-1",
+
ImpalaServiceModelGenerator.SERVICE_TYPE,
+ "IMAPALA-1-IMPALAD-1",
+
ImpalaServiceModelGenerator.ROLE_TYPE,
+ serviceProperties,
+ roleProperties);
+
+ List<String> urls = cluster.getServiceURLs("IMPALA");
+ assertEquals(1, urls.size());
+ assertEquals(expectedURL, urls.get(0));
+ }
+
+ private void doTestImpalaUIDiscovery(boolean sslEnabled, boolean
webserverEnabled) {
+ final String hostName = "impalad-host";
+ final String port = "25000";
+ final String expectedURL = (sslEnabled ? "https" : "http") + "://" +
hostName + ":" + port + "/";
+
+ Map<String, String> serviceProperties = new HashMap<>();
+ if (sslEnabled) {
+ serviceProperties.put("client_services_ssl_enabled", "true");
+ }
+
+ // Configure the role
+ Map<String, String> roleProperties = new HashMap<>();
+ roleProperties.put("hs2_http_port", port);
+ if (webserverEnabled) {
+ roleProperties.put("impalad_enable_webserver", "true");
+ roleProperties.put("impalad_webserver_port", port);
+ }
+
+ ServiceDiscovery.Cluster cluster = doTestDiscovery(hostName,
+ "IMPALA-1",
+
ImpalaUIServiceModelGenerator.SERVICE_TYPE,
+ "IMAPALA-1-IMPALAD-1",
+
ImpalaUIServiceModelGenerator.ROLE_TYPE,
+ serviceProperties,
+ roleProperties);
+
+ List<String> urls = cluster.getServiceURLs("IMPALAUI");
+ if (webserverEnabled) {
+ assertEquals(1, urls.size());
+ assertEquals(expectedURL, urls.get(0));
+ } else {
+ assertEquals(0, urls.size());
+ }
+ }
private void doTestOozieDiscovery(final String serviceName, final boolean
isSSL) {
final String hostName = "oozie-host";
@@ -467,14 +570,13 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"OOZIE-1",
- "OOZIE",
+ OozieServiceModelGenerator.SERVICE_TYPE,
"OOZIE-1-OOZIE_SERVER-12345",
- "OOZIE_SERVER",
+ OozieServiceModelGenerator.ROLE_TYPE,
serviceProperties,
roleProperties);
}
-
private void doTestZeppelinDiscovery(final String serviceName, final boolean
isSSL) {
final String hostName = "zeppelin-host";
final String port = "8886";
@@ -517,9 +619,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"ZEPPELIN-1",
- "ZEPPELIN",
+ ZeppelinServiceModelGenerator.SERVICE_TYPE,
"ZEPPELIN-ZEPPELIN_SERVER-1",
- "ZEPPELIN_SERVER",
+ ZeppelinServiceModelGenerator.ROLE_TYPE,
Collections.emptyMap(),
roleProperties);
}
@@ -569,9 +671,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"RANGER-1",
- "RANGER",
+ RangerServiceModelGenerator.SERVICE_TYPE,
"RANGER-RANGER_ADMIN-1",
- "RANGER_ADMIN",
+ RangerServiceModelGenerator.ROLE_TYPE,
serviceProperties,
roleProperties);
}
@@ -591,9 +693,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"SOLR-1",
- "SOLR",
+ SolrServiceModelGenerator.SERVICE_TYPE,
"SOLR-SOLR_SERVER-1",
- "SOLR_SERVER",
+ SolrServiceModelGenerator.ROLE_TYPE,
serviceProperties,
roleProperties);
}
@@ -611,9 +713,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"SPARK_ON_YARN-1",
- "SPARK_ON_YARN",
+ SparkHistoryUIServiceModelGenerator.SERVICE_TYPE,
"SPAR4fcf419a-SPARK_YARN_HISTORY_SERVER-12345",
- "SPARK_YARN_HISTORY_SERVER",
+ SparkHistoryUIServiceModelGenerator.ROLE_TYPE,
Collections.emptyMap(),
roleProperties);
}
@@ -631,9 +733,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(atlasHost,
"ATLAS-1",
- "ATLAS",
+ AtlasServiceModelGenerator.SERVICE_TYPE,
"ATLAS-ATLAS_SERVER-1",
- "ATLAS_SERVER",
+ AtlasServiceModelGenerator.ROLE_TYPE,
Collections.emptyMap(),
roleProperties);
}
@@ -655,9 +757,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"HIVE-1",
- "HIVE",
+ HiveServiceModelGenerator.SERVICE_TYPE,
"HIVE-1-HIVESERVER2-12345",
- "HIVESERVER2",
+ HiveServiceModelGenerator.ROLE_TYPE,
Collections.emptyMap(),
roleProperties);
}
@@ -679,9 +781,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"HIVE_ON_TEZ-1",
- "HIVE_ON_TEZ",
+ HiveOnTezServiceModelGenerator.SERVICE_TYPE,
"HIVE_ON_TEZ-1-HIVESERVER2-12345",
- "HIVESERVER2",
+ HiveServiceModelGenerator.ROLE_TYPE,
Collections.emptyMap(),
roleProperties);
}
@@ -728,9 +830,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"NAMENODE-1",
- "HDFS",
+ NameNodeServiceModelGenerator.SERVICE_TYPE,
"HDFS-1-NAMENODE-12345",
- "NAMENODE",
+ NameNodeServiceModelGenerator.ROLE_TYPE,
serviceProps,
roleProperties);
}
@@ -749,9 +851,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"HBASE-1",
- "HBASE",
+ HBaseUIServiceModelGenerator.SERVICE_TYPE,
"HBASE-1-MASTER-12345",
- "MASTER",
+ HBaseUIServiceModelGenerator.ROLE_TYPE,
serviceProps,
roleProperties);
}
@@ -767,9 +869,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"HBASE-1",
- "HBASE",
+ WebHBaseServiceModelGenerator.SERVICE_TYPE,
"HBASE-1-RESTSERVER",
- "HBASERESTSERVER",
+ WebHBaseServiceModelGenerator.ROLE_TYPE,
Collections.emptyMap(),
roleProperties);
}
@@ -785,9 +887,9 @@ public class ClouderaManagerServiceDiscoveryTest {
return doTestDiscovery(hostName,
"LIVY-1",
- "LIVY",
+ LivyServiceModelGenerator.SERVICE_TYPE,
"LIVY-LIVY_SERVER-1",
- "LIVY_SERVER",
+ LivyServiceModelGenerator.ROLE_TYPE,
Collections.emptyMap(),
roleProperties);
}
@@ -801,8 +903,13 @@ public class ClouderaManagerServiceDiscoveryTest {
roleProperties.put("phoenix_query_server_port", port);
roleProperties.put("ssl_enabled", String.valueOf(isSSL));
- return doTestDiscovery(hostName, "PHOENIX-1", "PHOENIX",
"PHOENIX-PHOENIX_QUERY_SERVER-1", "PHOENIX_QUERY_SERVER",
Collections.emptyMap(),
- roleProperties);
+ return doTestDiscovery(hostName,
+ "PHOENIX-1",
+ PhoenixServiceModelGenerator.SERVICE_TYPE,
+ "PHOENIX-PHOENIX_QUERY_SERVER-1",
+ PhoenixServiceModelGenerator.ROLE_TYPE,
+ Collections.emptyMap(),
+ roleProperties);
}