YARN-11318. Improve FederationInterceptorREST#createInterceptorForSubCluster Use WebAppUtils. (#4939)
This commit is contained in:
parent
22bd5e3b53
commit
874a004347
|
@ -248,7 +248,9 @@ public class FederationInterceptorREST extends AbstractRESTRequestInterceptor {
|
|||
e);
|
||||
}
|
||||
|
||||
interceptorInstance.setWebAppAddress("http://" + webAppAddress);
|
||||
String webAppAddresswithScheme =
|
||||
WebAppUtils.getHttpSchemePrefix(this.getConf()) + webAppAddress;
|
||||
interceptorInstance.setWebAppAddress(webAppAddresswithScheme);
|
||||
interceptorInstance.setSubClusterId(subClusterId);
|
||||
interceptors.put(subClusterId, interceptorInstance);
|
||||
return interceptorInstance;
|
||||
|
|
|
@ -30,6 +30,8 @@ import java.util.Collections;
|
|||
import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.Response.Status;
|
||||
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.http.HttpConfig;
|
||||
import org.apache.hadoop.util.Time;
|
||||
import org.apache.hadoop.yarn.api.records.ApplicationId;
|
||||
import org.apache.hadoop.yarn.api.records.ReservationId;
|
||||
|
@ -89,6 +91,7 @@ import org.apache.hadoop.yarn.server.webapp.dao.ContainersInfo;
|
|||
import org.apache.hadoop.yarn.util.LRUCacheHashMap;
|
||||
import org.apache.hadoop.yarn.util.MonotonicClock;
|
||||
import org.apache.hadoop.yarn.util.Times;
|
||||
import org.apache.hadoop.yarn.webapp.util.WebAppUtils;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
|
@ -1127,4 +1130,28 @@ public class TestFederationInterceptorREST extends BaseRouterWebServicesTest {
|
|||
Assert.assertEquals(1, vCore);
|
||||
Assert.assertEquals(1024, memory);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWebAddressWithScheme() {
|
||||
// The style of the web address reported by the subCluster in the heartbeat is 0.0.0.0:8000
|
||||
// We design the following 2 test cases:
|
||||
String webAppAddress = "0.0.0.0:8000";
|
||||
|
||||
// 1. We try to disable Https, at this point we should get the following link:
|
||||
// http://0.0.0.0:8000
|
||||
String expectedHttpWebAddress = "http://0.0.0.0:8000";
|
||||
String webAppAddressWithScheme =
|
||||
WebAppUtils.getHttpSchemePrefix(this.getConf()) + webAppAddress;
|
||||
Assert.assertEquals(expectedHttpWebAddress, webAppAddressWithScheme);
|
||||
|
||||
// 2. We try to enable Https,at this point we should get the following link:
|
||||
// https://0.0.0.0:8000
|
||||
Configuration configuration = this.getConf();
|
||||
configuration.set(YarnConfiguration.YARN_HTTP_POLICY_KEY,
|
||||
HttpConfig.Policy.HTTPS_ONLY.name());
|
||||
String expectedHttpsWebAddress = "https://0.0.0.0:8000";
|
||||
String webAppAddressWithScheme2 =
|
||||
WebAppUtils.getHttpSchemePrefix(this.getConf()) + webAppAddress;
|
||||
Assert.assertEquals(expectedHttpsWebAddress, webAppAddressWithScheme2);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue