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

amagyar 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 838dcd837 KNOX-2963 - CM service discovery should work when legacy 
mode is turned off (#801)
838dcd837 is described below

commit 838dcd837217d55c2568a715dc992ed53c6eac9a
Author: Attila Magyar <[email protected]>
AuthorDate: Wed Oct 11 11:59:41 2023 +0200

    KNOX-2963 - CM service discovery should work when legacy mode is turned off 
(#801)
---
 .../discovery/cm/ClouderaManagerServiceDiscovery.java  | 14 +++++++++++++-
 .../topology/discovery/cm/ServiceModelGenerator.java   |  3 +--
 .../cm/model/AbstractServiceModelGenerator.java        | 11 +++++++++++
 .../cm/model/atlas/AtlasServiceModelGenerator.java     |  8 ++++----
 .../cm/ClouderaManagerAPIServiceModelGenerator.java    |  2 +-
 .../cm/model/flink/FlinkServiceModelGenerator.java     |  2 +-
 .../cm/model/hbase/HBaseUIServiceModelGenerator.java   |  8 ++++----
 .../cm/model/hbase/WebHBaseServiceModelGenerator.java  |  8 ++++----
 .../cm/model/hdfs/HdfsUIServiceModelGenerator.java     | 10 ++++++----
 .../cm/model/hdfs/NameNodeServiceModelGenerator.java   |  3 ++-
 .../cm/model/hdfs/WebHdfsServiceModelGenerator.java    |  4 ++--
 .../cm/model/hive/HiveOnTezServiceModelGenerator.java  | 10 +++++-----
 .../cm/model/hive/HiveServiceModelGenerator.java       |  8 ++++----
 .../cm/model/hive/WebHCatServiceModelGenerator.java    |  8 ++++----
 .../cm/model/hue/HueLBServiceModelGenerator.java       |  8 ++++----
 .../cm/model/hue/HueServiceModelGenerator.java         |  8 ++++----
 .../cm/model/impala/ImpalaServiceModelGenerator.java   |  8 ++++----
 .../cm/model/impala/ImpalaUIServiceModelGenerator.java |  8 ++++----
 .../cm/model/kudu/KuduUIServiceModelGenerator.java     |  8 ++++----
 .../cm/model/livy/LivyServiceModelGenerator.java       |  8 ++++----
 .../model/nifi/NifiRegistryServiceModelGenerator.java  |  2 +-
 .../cm/model/nifi/NifiServiceModelGenerator.java       |  2 +-
 .../cm/model/oozie/OozieServiceModelGenerator.java     |  8 ++++----
 .../model/ozone/OzoneHttpfsServiceModelGenerator.java  |  8 ++++----
 .../cm/model/ozone/OzoneServiceModelGenerator.java     |  8 ++++----
 .../cm/model/ozone/ReconServiceModelGenerator.java     |  8 ++++----
 .../cm/model/ozone/SCMServiceModelGenerator.java       |  8 ++++----
 .../cm/model/phoenix/PhoenixServiceModelGenerator.java |  8 ++++----
 .../cm/model/ranger/RangerServiceModelGenerator.java   |  8 ++++----
 .../cm/model/solr/SolrServiceModelGenerator.java       |  8 ++++----
 .../spark/SparkHistoryUIServiceModelGenerator.java     |  8 ++++----
 .../model/yarn/JobHistoryUIServiceModelGenerator.java  |  9 +++++----
 .../cm/model/yarn/JobTrackerServiceModelGenerator.java |  8 ++++----
 .../yarn/ResourceManagerApiServiceModelGenerator.java  |  8 ++++----
 .../yarn/ResourceManagerUIServiceModelGenerator.java   |  9 +++++----
 .../cm/model/yarn/YarnUIServiceModelGenerator.java     | 18 ++++++++++--------
 .../model/zeppelin/ZeppelinServiceModelGenerator.java  |  8 ++++----
 .../zeppelin/ZeppelinWSServiceModelGenerator.java      |  8 ++++----
 .../cm/model/AbstractServiceModelGeneratorTest.java    |  3 ++-
 39 files changed, 162 insertions(+), 132 deletions(-)

diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscovery.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscovery.java
index 298de2c29..b74c2a26b 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscovery.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscovery.java
@@ -270,6 +270,9 @@ public class ClouderaManagerServiceDiscovery implements 
ServiceDiscovery, Cluste
       cmService.setType(CM_SERVICE_TYPE);
       serviceList.add(cmService);
 
+      // if Legacy Cloudera Manager API Clients Compatibility is turned off, 
some HDFS settings are in CORE_SETTINGS
+      ApiServiceConfig coreSettingsConfig = coreSettingsConfig(client, 
servicesResourceApi, serviceList);
+
       for (ApiService service : serviceList) {
         final List<ServiceModelGenerator> modelGenerators = 
serviceModelGeneratorsHolder.getServiceModelGenerators(service.getType());
         if (shouldSkipServiceDiscovery(modelGenerators, includedServices)) {
@@ -299,7 +302,7 @@ public class ClouderaManagerServiceDiscovery implements 
ServiceDiscovery, Cluste
                 ServiceModelGeneratorHandleResponse response = 
serviceModelGenerator.handles(service, serviceConfig, role, roleConfig);
                 if (response.handled()) {
                   serviceModelGenerator.setApiClient(client);
-                  ServiceModel serviceModel = 
serviceModelGenerator.generateService(service, serviceConfig, role, roleConfig);
+                  ServiceModel serviceModel = 
serviceModelGenerator.generateService(service, serviceConfig, role, roleConfig, 
coreSettingsConfig);
                   serviceModels.add(serviceModel);
                 } else if (!response.getConfigurationIssues().isEmpty()) {
                   log.serviceRoleHasConfigurationIssues(roleName, 
String.join(";", response.getConfigurationIssues()));
@@ -320,6 +323,15 @@ public class ClouderaManagerServiceDiscovery implements 
ServiceDiscovery, Cluste
     return null;
   }
 
+  private ApiServiceConfig coreSettingsConfig(DiscoveryApiClient client, 
ServicesResourceApi servicesResourceApi, List<ApiService> serviceList) throws 
ApiException {
+    for (ApiService service : serviceList) {
+      if (CORE_SETTINGS_TYPE.equals(service.getType())) {
+        return getServiceConfig(client.getConfig(), servicesResourceApi, 
service);
+      }
+    }
+    return null;
+  }
+
   private boolean shouldSkipServiceDiscovery(List<ServiceModelGenerator> 
modelGenerators, Collection<String> includedServices) {
     if (includedServices == null || includedServices.isEmpty()) {
       // per the contract of 
org.apache.knox.gateway.topology.discovery.ServiceDiscovery.discover(GatewayConfig,
 ServiceDiscoveryConfig, String, Collection<String>):
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/ServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/ServiceModelGenerator.java
index c9a19a0b3..3a610b822 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/ServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/ServiceModelGenerator.java
@@ -45,6 +45,5 @@ public interface ServiceModelGenerator {
 
   ServiceModelGeneratorHandleResponse handles(ApiService service, 
ApiServiceConfig serviceConfig, ApiRole role, ApiConfigList roleConfig);
 
-  ServiceModel generateService(ApiService service, ApiServiceConfig 
serviceConfig, ApiRole role, ApiConfigList roleConfig) throws ApiException;
-
+  ServiceModel generateService(ApiService service, ApiServiceConfig 
serviceConfig, ApiRole role, ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) throws ApiException;
 }
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 1f08f3ebb..6ed33937e 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
@@ -86,4 +86,15 @@ public abstract class AbstractServiceModelGenerator 
implements ServiceModelGener
     return new 
ServiceModelGeneratorHandleResponse(getServiceType().equals(service.getType()) 
&& getRoleType().equals(role.getType()));
   }
 
+  protected String getCoreOrServiceConfig(ApiServiceConfig serviceConfig, 
ApiServiceConfig coreSettingsConfig, String configName) {
+    if (coreSettingsConfig != null) {
+      // in Legacy Cloudera Manager API Clients Compatibility certain configs,
+      // such as hdfs_hadoop_ssl_enabled are in the CORE_CONFIG
+      String configValue = getServiceConfigValue(coreSettingsConfig, 
configName);
+      if (configValue != null) {
+        return configValue;
+      }
+    }
+    return getServiceConfigValue(serviceConfig, configName); // Fall back to 
service config
+  }
 }
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 60a327d00..5fdcfeb39 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
@@ -56,10 +56,10 @@ public class AtlasServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port;
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/cm/ClouderaManagerAPIServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/cm/ClouderaManagerAPIServiceModelGenerator.java
index 49559f0b5..3e6ca2576 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/cm/ClouderaManagerAPIServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/cm/ClouderaManagerAPIServiceModelGenerator.java
@@ -71,7 +71,7 @@ public class ClouderaManagerAPIServiceModelGenerator
    */
   @Override
   public ServiceModel generateService(ApiService service,
-      ApiServiceConfig serviceConfig, ApiRole role, ApiConfigList roleConfig)
+                                 ApiServiceConfig serviceConfig, ApiRole role, 
ApiConfigList roleConfig, ApiServiceConfig coreSettingsConfig)
       throws ApiException {
 
     final String basePath = getClient().getBasePath();
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/flink/FlinkServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/flink/FlinkServiceModelGenerator.java
index 4195839d5..36df5deaf 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/flink/FlinkServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/flink/FlinkServiceModelGenerator.java
@@ -59,7 +59,7 @@ public class FlinkServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     final String hostname = role.getHostRef().getHostname();
     final String port = getRoleConfigValue(roleConfig, WEB_PORT);
     final boolean sslEnabled = 
Boolean.parseBoolean(getRoleConfigValue(roleConfig, SSL_ENABLED));
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 16bafbac4..4490f18fb 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
@@ -55,10 +55,10 @@ public class HBaseUIServiceModelGenerator extends 
AbstractServiceModelGenerator
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port = getRoleConfigValue(roleConfig, MASTER_INFO_PORT); // TODO: 
Is there an SSL port, or is this property re-used?
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 c44633298..27fb6dd71 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
@@ -55,10 +55,10 @@ public class WebHBaseServiceModelGenerator extends 
AbstractServiceModelGenerator
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port = getRoleConfigValue(roleConfig, REST_SERVER_PORT);
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/HdfsUIServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/HdfsUIServiceModelGenerator.java
index 67e6ef623..19f14b84c 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/HdfsUIServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/HdfsUIServiceModelGenerator.java
@@ -47,11 +47,13 @@ public class HdfsUIServiceModelGenerator extends 
NameNodeServiceModelGenerator {
   public ServiceModel generateService(ApiService       service,
                                       ApiServiceConfig serviceConfig,
                                       ApiRole          role,
-                                      ApiConfigList    roleConfig) throws 
ApiException {
+                                      ApiConfigList    roleConfig,
+                                      ApiServiceConfig coreSettingsConfig) 
throws ApiException {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port;
-    boolean sslEnabled = 
Boolean.parseBoolean(getServiceConfigValue(serviceConfig, SSL_ENABLED));
+    String sslEnabledConfig = getCoreOrServiceConfig(serviceConfig, 
coreSettingsConfig, SSL_ENABLED);
+    boolean sslEnabled = Boolean.parseBoolean(sslEnabledConfig);
     if(sslEnabled) {
       scheme = "https";
       port = getRoleConfigValue(roleConfig, HTTPS_PORT);
@@ -62,11 +64,11 @@ public class HdfsUIServiceModelGenerator extends 
NameNodeServiceModelGenerator {
     String namenodeUrl = String.format(Locale.getDefault(), "%s://%s:%s", 
scheme, hostname, port);
 
     ServiceModel model = createServiceModel(namenodeUrl);
-    model.addServiceProperty(SSL_ENABLED, getServiceConfigValue(serviceConfig, 
SSL_ENABLED));
+    model.addServiceProperty(SSL_ENABLED, sslEnabledConfig);
     model.addRoleProperty(role.getType(), HTTPS_PORT, 
getRoleConfigValue(roleConfig, HTTPS_PORT));
     model.addRoleProperty(role.getType(), HTTP_PORT, 
getRoleConfigValue(roleConfig, HTTP_PORT));
 
-    ServiceModel parent = super.generateService(service, serviceConfig, role, 
roleConfig);
+    ServiceModel parent = super.generateService(service, serviceConfig, role, 
roleConfig, coreSettingsConfig);
     addParentModelMetadata(model, parent);
 
     return model;
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 2e75b53cc..2d1354464 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
@@ -61,7 +61,8 @@ public class NameNodeServiceModelGenerator extends 
AbstractServiceModelGenerator
   public ServiceModel generateService(ApiService       service,
                                       ApiServiceConfig serviceConfig,
                                       ApiRole          role,
-                                      ApiConfigList    roleConfig) throws 
ApiException {
+                                      ApiConfigList    roleConfig,
+                                      ApiServiceConfig coreSettingsConfig) 
throws ApiException {
     boolean haEnabled = Boolean.parseBoolean(getRoleConfigValue(roleConfig, 
AUTOFAILOVER_ENABLED));
     String serviceUrl;
     if (haEnabled) {
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/WebHdfsServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/WebHdfsServiceModelGenerator.java
index fdef01e86..991730dc0 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/WebHdfsServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hdfs/WebHdfsServiceModelGenerator.java
@@ -55,8 +55,8 @@ public class WebHdfsServiceModelGenerator extends 
HdfsUIServiceModelGenerator {
   }
 
   @Override
-  public ServiceModel generateService(ApiService service, ApiServiceConfig 
serviceConfig, ApiRole role, ApiConfigList roleConfig) throws ApiException {
-    ServiceModel parent = super.generateService(service, serviceConfig, role, 
roleConfig);
+  public ServiceModel generateService(ApiService service, ApiServiceConfig 
serviceConfig, ApiRole role, ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
+    ServiceModel parent = super.generateService(service, serviceConfig, role, 
roleConfig, coreSettingsConfig);
     String serviceUrl = parent.getServiceUrl() + WEBHDFS_SUFFIX;
 
     ServiceModel model = createServiceModel(serviceUrl);
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 5396c65c4..0f2e8f703 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
@@ -49,11 +49,11 @@ public class HiveOnTezServiceModelGenerator extends 
HiveServiceModelGenerator {
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) throws 
ApiException {
-    ServiceModel model = super.generateService(service, serviceConfig, role, 
roleConfig);
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
+    ServiceModel model = super.generateService(service, serviceConfig, role, 
roleConfig, coreSettingsConfig);
     model.addRoleProperty(getRoleType(),
                           HIVEONTEZ_HTTP_PORT,
                           getRoleConfigValue(roleConfig, HIVEONTEZ_HTTP_PORT));
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 cd0e6b0ca..e32cdb5a6 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
@@ -74,10 +74,10 @@ public class HiveServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
     boolean sslEnabled = 
Boolean.parseBoolean(getServiceConfigValue(serviceConfig, SSL_ENABLED));
     String scheme = sslEnabled ? "https" : "http";
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 2b512d08a..193393afb 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
@@ -55,10 +55,10 @@ public class WebHCatServiceModelGenerator extends 
AbstractServiceModelGenerator
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
     String port = getRoleConfigValue(roleConfig, WEBHCAT_PORT);
 
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 7077308f9..59683158c 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
@@ -54,10 +54,10 @@ public class HueLBServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
     String hostname = role.getHostRef().getHostname();
     String scheme = "http";
     String port = getRoleConfigValue(roleConfig, LISTEN_PORT);
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 8ce457855..b17c37418 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
@@ -55,10 +55,10 @@ public class HueServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port = getRoleConfigValue(roleConfig, HUE_HTTP_PORT);
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaServiceModelGenerator.java
index 6c2e7b139..177b32b39 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaServiceModelGenerator.java
@@ -85,10 +85,10 @@ public class ImpalaServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
 
     boolean sslEnabled = 
Boolean.parseBoolean(getServiceConfigValue(serviceConfig, SSL_ENABLED));
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaUIServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaUIServiceModelGenerator.java
index 118d11b87..6c73ab1d7 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaUIServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/impala/ImpalaUIServiceModelGenerator.java
@@ -72,10 +72,10 @@ public class ImpalaUIServiceModelGenerator extends 
AbstractServiceModelGenerator
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
 
     String sslEnabled = getServiceConfigValue(serviceConfig, SSL_ENABLED);
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/kudu/KuduUIServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/kudu/KuduUIServiceModelGenerator.java
index 7108ce423..4d95a1737 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/kudu/KuduUIServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/kudu/KuduUIServiceModelGenerator.java
@@ -56,10 +56,10 @@ public class KuduUIServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
 
     String sslEnabled = getRoleConfigValue(roleConfig, SSL_ENABLED);
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 7471f6b71..2f32174a8 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
@@ -55,10 +55,10 @@ public class LivyServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port = getRoleConfigValue(roleConfig, LIVY_SERVER_PORT);
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/nifi/NifiRegistryServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/nifi/NifiRegistryServiceModelGenerator.java
index c2aea76c4..f9889f4a4 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/nifi/NifiRegistryServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/nifi/NifiRegistryServiceModelGenerator.java
@@ -69,7 +69,7 @@ public class NifiRegistryServiceModelGenerator extends 
AbstractServiceModelGener
 
   @Override
   public ServiceModel generateService(ApiService service,
-      ApiServiceConfig serviceConfig, ApiRole role, ApiConfigList roleConfig)
+                                 ApiServiceConfig serviceConfig, ApiRole role, 
ApiConfigList roleConfig, ApiServiceConfig coreSettingsConfig)
       throws ApiException {
     String hostname = role.getHostRef().getHostname();
     String scheme;
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/nifi/NifiServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/nifi/NifiServiceModelGenerator.java
index 4f74c2a1e..5eb8531e2 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/nifi/NifiServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/nifi/NifiServiceModelGenerator.java
@@ -69,7 +69,7 @@ public class NifiServiceModelGenerator extends 
AbstractServiceModelGenerator {
 
   @Override
   public ServiceModel generateService(ApiService service,
-      ApiServiceConfig serviceConfig, ApiRole role, ApiConfigList roleConfig)
+                                 ApiServiceConfig serviceConfig, ApiRole role, 
ApiConfigList roleConfig, ApiServiceConfig coreSettingsConfig)
       throws ApiException {
     String hostname = role.getHostRef().getHostname();
     String scheme;
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 ab0aaea38..316896717 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
@@ -56,10 +56,10 @@ public class OozieServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port;
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/OzoneHttpfsServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/OzoneHttpfsServiceModelGenerator.java
index 8f7b78239..ff104508c 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/OzoneHttpfsServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/OzoneHttpfsServiceModelGenerator.java
@@ -59,10 +59,10 @@ public class OzoneHttpfsServiceModelGenerator extends 
AbstractServiceModelGenera
     }
 
     @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
         String hostname = role.getHostRef().getHostname();
 
         boolean sslEnabled = 
Boolean.parseBoolean(getRoleConfigValue(roleConfig, SSL_ENABLED));
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/OzoneServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/OzoneServiceModelGenerator.java
index b58b49e41..bdfd669aa 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/OzoneServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/OzoneServiceModelGenerator.java
@@ -58,10 +58,10 @@ public class OzoneServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
 
     boolean sslEnabled = Boolean.parseBoolean(getRoleConfigValue(roleConfig, 
SSL_ENABLED));
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/ReconServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/ReconServiceModelGenerator.java
index 78d63ecc1..7bfca8ea7 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/ReconServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/ReconServiceModelGenerator.java
@@ -58,10 +58,10 @@ public class ReconServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
 
     boolean sslEnabled = Boolean.parseBoolean(getRoleConfigValue(roleConfig, 
SSL_ENABLED));
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/SCMServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/SCMServiceModelGenerator.java
index a6c0d1072..2426202da 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/SCMServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/ozone/SCMServiceModelGenerator.java
@@ -58,10 +58,10 @@ public class SCMServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
 
     boolean sslEnabled = Boolean.parseBoolean(getRoleConfigValue(roleConfig, 
SSL_ENABLED));
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 ea59a77ce..a1c80deab 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
@@ -55,10 +55,10 @@ public class PhoenixServiceModelGenerator extends 
AbstractServiceModelGenerator
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
 
     String hostname = role.getHostRef().getHostname();
     String sslEnabledRaw = getRoleConfigValue(roleConfig, SSL_ENABLED);
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 37b5344f7..a1d430add 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
@@ -55,10 +55,10 @@ public class RangerServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port;
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 6733e85ee..19bfd1f98 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
@@ -58,10 +58,10 @@ public class SolrServiceModelGenerator extends 
AbstractServiceModelGenerator {
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port;
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 ad98271df..b852b2266 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
@@ -55,10 +55,10 @@ public class SparkHistoryUIServiceModelGenerator extends 
AbstractServiceModelGen
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port;
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 110c8d7c1..25d43f0ec 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
@@ -59,12 +59,13 @@ public class JobHistoryUIServiceModelGenerator extends 
AbstractServiceModelGener
   public ServiceModel generateService(ApiService       service,
                                       ApiServiceConfig serviceConfig,
                                       ApiRole          role,
-                                      ApiConfigList    roleConfig) throws 
ApiException {
+                                      ApiConfigList    roleConfig,
+                                      ApiServiceConfig coreSettingsConfig) 
throws ApiException {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port;
 
-    if(isSSLEnabled(service, serviceConfig)) {
+    if(isSSLEnabled(service, serviceConfig, coreSettingsConfig)) {
       scheme = "https";
       port = getRoleConfigValue(roleConfig, HTTPS_PORT);
     } else {
@@ -79,13 +80,13 @@ public class JobHistoryUIServiceModelGenerator extends 
AbstractServiceModelGener
     return model;
   }
 
-  private boolean isSSLEnabled(ApiService service, ApiServiceConfig 
serviceConfig)
+  private boolean isSSLEnabled(ApiService service, ApiServiceConfig 
serviceConfig, ApiServiceConfig coreSettingsConfig)
       throws ApiException {
     ServicesResourceApi servicesResourceApi = new 
ServicesResourceApi(getClient());
     String clusterName = service.getClusterRef().getClusterName();
     String hdfsService = getServiceConfigValue(serviceConfig, "hdfs_service");
     ApiServiceConfig hdfsServiceConfig = 
servicesResourceApi.readServiceConfig(clusterName, hdfsService, "full");
-    return Boolean.parseBoolean(getServiceConfigValue(hdfsServiceConfig, 
"hdfs_hadoop_ssl_enabled"));
+    return Boolean.parseBoolean(getCoreOrServiceConfig(hdfsServiceConfig, 
coreSettingsConfig, "hdfs_hadoop_ssl_enabled"));
   }
 
 }
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/JobTrackerServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/JobTrackerServiceModelGenerator.java
index 548124aee..64077fb49 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/JobTrackerServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/JobTrackerServiceModelGenerator.java
@@ -42,10 +42,10 @@ public class JobTrackerServiceModelGenerator extends 
ResourceManagerServiceModel
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
 
     String hostname = role.getHostRef().getHostname();
     String port = getRoleConfigValue(roleConfig, RM_PORT);
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerApiServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerApiServiceModelGenerator.java
index da8cbc2a9..cc69009ed 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerApiServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerApiServiceModelGenerator.java
@@ -45,10 +45,10 @@ public class ResourceManagerApiServiceModelGenerator 
extends ResourceManagerServ
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
 
     String hostname = role.getHostRef().getHostname();
     String port = getRoleConfigValue(roleConfig, RM_PORT);
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerUIServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerUIServiceModelGenerator.java
index e05b80de0..1462452b2 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerUIServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/ResourceManagerUIServiceModelGenerator.java
@@ -38,10 +38,11 @@ public class ResourceManagerUIServiceModelGenerator extends 
YarnUIServiceModelGe
   }
 
   @Override
-  protected String generateURL(ApiService       service,
+  protected String generateURL(ApiService service,
                                ApiServiceConfig serviceConfig,
-                               ApiRole          role,
-                               ApiConfigList    roleConfig) throws 
ApiException {
-    return (super.generateURL(service, serviceConfig, role, roleConfig) + 
RM_WS_SUFFIX);
+                               ApiRole role,
+                               ApiConfigList roleConfig,
+                               ApiServiceConfig coreConfig) throws 
ApiException {
+    return (super.generateURL(service, serviceConfig, role, roleConfig, 
coreConfig) + RM_WS_SUFFIX);
   }
 }
diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/YarnUIServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/YarnUIServiceModelGenerator.java
index af8f56447..b621b2c47 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/YarnUIServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/yarn/YarnUIServiceModelGenerator.java
@@ -46,8 +46,9 @@ public class YarnUIServiceModelGenerator extends 
ResourceManagerServiceModelGene
   public ServiceModel generateService(ApiService       service,
                                       ApiServiceConfig serviceConfig,
                                       ApiRole          role,
-                                      ApiConfigList    roleConfig) throws 
ApiException {
-    ServiceModel model = createServiceModel(generateURL(service, 
serviceConfig, role, roleConfig));
+                                      ApiConfigList    roleConfig,
+                                      ApiServiceConfig coreSettingsConfig) 
throws ApiException {
+    ServiceModel model = createServiceModel(generateURL(service, 
serviceConfig, role, roleConfig, coreSettingsConfig));
     model.addRoleProperty(getRoleType(), RM_HTTP_PORT, 
getRoleConfigValue(roleConfig, RM_HTTP_PORT));
     model.addRoleProperty(getRoleType(), RM_HTTPS_PORT, 
getRoleConfigValue(roleConfig, RM_HTTPS_PORT));
 
@@ -57,16 +58,17 @@ public class YarnUIServiceModelGenerator extends 
ResourceManagerServiceModelGene
     return model;
   }
 
-  protected String generateURL(ApiService       service,
+  protected String generateURL(ApiService service,
                                ApiServiceConfig serviceConfig,
-                               ApiRole          role,
-                               ApiConfigList    roleConfig) throws 
ApiException {
+                               ApiRole role,
+                               ApiConfigList roleConfig,
+                               ApiServiceConfig coreConfig) throws 
ApiException {
 
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port;
 
-    if(isSSLEnabled(service, serviceConfig)) {
+    if(isSSLEnabled(service, serviceConfig, coreConfig)) {
       scheme = "https";
       port = getRoleConfigValue(roleConfig, RM_HTTPS_PORT);
     } else {
@@ -76,13 +78,13 @@ public class YarnUIServiceModelGenerator extends 
ResourceManagerServiceModelGene
     return String.format(Locale.getDefault(), "%s://%s:%s", scheme, hostname, 
port);
   }
 
-  private boolean isSSLEnabled(ApiService service, ApiServiceConfig 
serviceConfig)
+  private boolean isSSLEnabled(ApiService service, ApiServiceConfig 
serviceConfig, ApiServiceConfig coreSettingsConfig)
       throws ApiException {
     ServicesResourceApi servicesResourceApi = new 
ServicesResourceApi(getClient());
     String clusterName = service.getClusterRef().getClusterName();
     String hdfsService = getServiceConfigValue(serviceConfig, "hdfs_service");
     ApiServiceConfig hdfsServiceConfig = 
servicesResourceApi.readServiceConfig(clusterName, hdfsService, "full");
-    return Boolean.parseBoolean(getServiceConfigValue(hdfsServiceConfig, 
"hdfs_hadoop_ssl_enabled"));
+    return Boolean.parseBoolean(getCoreOrServiceConfig(hdfsServiceConfig, 
coreSettingsConfig, "hdfs_hadoop_ssl_enabled"));
   }
 
 }
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 c948d81a0..cbd2bff6c 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
@@ -56,10 +56,10 @@ public class ZeppelinServiceModelGenerator extends 
AbstractServiceModelGenerator
   }
 
   @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, ApiServiceConfig 
coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port;
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 df823c934..491b058dd 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
@@ -38,10 +38,10 @@ public class ZeppelinWSServiceModelGenerator extends 
ZeppelinServiceModelGenerat
   }
 
   @Override
-  public ServiceModel generateService(ApiService       service,
-                                      ApiServiceConfig serviceConfig,
-                                      ApiRole          role,
-                                      ApiConfigList    roleConfig) {
+  public ServiceModel generateService(ApiService service,
+                                 ApiServiceConfig serviceConfig,
+                                 ApiRole role,
+                                 ApiConfigList roleConfig, ApiServiceConfig 
coreSettingsConfig) {
     String hostname = role.getHostRef().getHostname();
     String scheme;
     String port;
diff --git 
a/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/model/AbstractServiceModelGeneratorTest.java
 
b/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/model/AbstractServiceModelGeneratorTest.java
index e6b7abd1f..baaf34741 100644
--- 
a/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/model/AbstractServiceModelGeneratorTest.java
+++ 
b/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/model/AbstractServiceModelGeneratorTest.java
@@ -84,7 +84,8 @@ public abstract class AbstractServiceModelGeneratorTest 
extends AbstractCMDiscov
       model = 
newGenerator().generateService(createApiServiceMock(getServiceType()),
                                              
createApiServiceConfigMock(serviceConfig),
                                              createApiRoleMock(getRoleType()),
-                                             
createApiConfigListMock(roleConfig));
+                                             
createApiConfigListMock(roleConfig),
+              null);
     } catch (ApiException e) {
       fail(e.getMessage());
     }

Reply via email to