From f8e893f7ea56e989d2b66ece53abe4991690599d Mon Sep 17 00:00:00 2001 From: Haibo Chen Date: Mon, 8 May 2017 15:43:20 -0700 Subject: [PATCH] YARN-6457. Allow custom SSL configuration to be supplied in WebApps. (Sanjay M Pujare via Haibo Chen) (cherry picked from commit 1769b12a773dc6c83f13663a77da33fa78878730) (cherry picked from commit 86fcb8a66ccc0a0cd0c41073bb3a49315033aed5) --- .../hadoop/yarn/webapp/util/WebAppUtils.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java index f8e67ee1fb3..27e578433bc 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java @@ -334,16 +334,21 @@ public class WebAppUtils { /** * Load the SSL keystore / truststore into the HttpServer builder. * @param builder the HttpServer2.Builder to populate with ssl config - * @param sslConf the Configuration instance to use during loading of SSL conf + * @param conf the Configuration instance to load custom SSL config from + * + * @return HttpServer2.Builder instance (passed in as the first parameter) + * after loading SSL stores */ public static HttpServer2.Builder loadSslConfiguration( - HttpServer2.Builder builder, Configuration sslConf) { - if (sslConf == null) { - sslConf = new Configuration(false); + HttpServer2.Builder builder, Configuration conf) { + + Configuration sslConf = new Configuration(false); + + sslConf.addResource(YarnConfiguration.YARN_SSL_SERVER_RESOURCE_DEFAULT); + if (conf != null) { + sslConf.addResource(conf); } boolean needsClientAuth = YarnConfiguration.YARN_SSL_CLIENT_HTTPS_NEED_AUTH_DEFAULT; - sslConf.addResource(YarnConfiguration.YARN_SSL_SERVER_RESOURCE_DEFAULT); - return builder .needsClientAuth(needsClientAuth) .keyPassword(getPassword(sslConf, WEB_APP_KEY_PASSWORD_KEY))