Skip to content

Commit 42b684f

Browse files
author
shwetayakkali@cloudera.com
committed
HDDS-1651. Create a http.policy config for Ozone
Change-Id: I047aafc733c936fb82f926bcde489595cf51d928
1 parent d301110 commit 42b684f

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsUtils.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import java.util.Optional;
3232
import java.util.TimeZone;
3333

34+
import org.apache.hadoop.HadoopIllegalArgumentException;
3435
import org.apache.hadoop.classification.InterfaceAudience;
3536
import org.apache.hadoop.classification.InterfaceStability;
3637
import org.apache.hadoop.conf.Configuration;
@@ -42,6 +43,8 @@
4243
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
4344
import org.apache.hadoop.hdds.protocol.SCMSecurityProtocol;
4445
import org.apache.hadoop.hdds.scm.protocolPB.ScmBlockLocationProtocolPB;
46+
import org.apache.hadoop.hdfs.DFSConfigKeys;
47+
import org.apache.hadoop.http.HttpConfig.Policy;
4548
import org.apache.hadoop.ipc.Client;
4649
import org.apache.hadoop.ipc.ProtobufRpcEngine;
4750
import org.apache.hadoop.ipc.RPC;
@@ -56,6 +59,7 @@
5659
import static org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_ENABLED;
5760
import static org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_ENABLED_DEFAULT;
5861

62+
import org.apache.hadoop.ozone.OzoneConfigKeys;
5963
import org.apache.hadoop.security.UserGroupInformation;
6064
import org.slf4j.Logger;
6165
import org.slf4j.LoggerFactory;
@@ -426,6 +430,20 @@ public static long getUtcTime() {
426430
return Calendar.getInstance(UTC_ZONE).getTimeInMillis();
427431
}
428432

433+
public static Policy getHttpPolicy(Configuration conf) {
434+
String policyStr = conf.get("ozone.http.policy", OzoneConfigKeys.OZONE_HTTP_POLICY);
435+
if(policyStr == null || policyStr.length() == 0) {
436+
policyStr = conf.get("dfs.http.policy", DFSConfigKeys.DFS_HTTP_POLICY_DEFAULT);
437+
}
438+
Policy policy = Policy.fromString(policyStr);
439+
if (policy == null) {
440+
throw new HadoopIllegalArgumentException("Unrecognized value '" + policyStr + "' for " + "dfs.http.policy");
441+
} else {
442+
conf.set("dfs.http.policy", policy.name());
443+
return policy;
444+
}
445+
}
446+
429447
/**
430448
* Retrieve the socket address that should be used by clients to connect
431449
* to the SCM for

hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/BaseHttpServer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import org.apache.hadoop.conf.Configuration;
2121
import org.apache.hadoop.hdds.HddsConfigKeys;
22+
import org.apache.hadoop.hdds.HddsUtils;
2223
import org.apache.hadoop.hdfs.DFSConfigKeys;
2324
import org.apache.hadoop.hdfs.DFSUtil;
2425
import org.apache.hadoop.hdds.conf.HddsConfServlet;
@@ -65,7 +66,7 @@ public abstract class BaseHttpServer {
6566
public BaseHttpServer(Configuration conf, String name) throws IOException {
6667
this.name = name;
6768
this.conf = conf;
68-
policy = DFSUtil.getHttpPolicy(conf);
69+
policy = HddsUtils.getHttpPolicy(conf);
6970
if (isEnabled()) {
7071
this.httpAddress = getHttpBindAddress();
7172
this.httpsAddress = getHttpsBindAddress();

hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerHttpServer.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.apache.hadoop.http.HttpConfig;
2626
import org.apache.hadoop.http.HttpConfig.Policy;
2727
import org.apache.hadoop.net.NetUtils;
28+
import org.apache.hadoop.ozone.OzoneConfigKeys;
2829
import org.apache.hadoop.security.ssl.KeyStoreTestUtil;
2930
import org.apache.hadoop.test.GenericTestUtils;
3031
import org.junit.AfterClass;
@@ -91,8 +92,9 @@ public TestOzoneManagerHttpServer(Policy policy) {
9192
KeyStoreTestUtil.cleanupSSLConfig(keystoresDir, sslConfDir);
9293
}
9394

94-
@Test public void testHttpPolicy() throws Exception {
95-
conf.set(DFSConfigKeys.DFS_HTTP_POLICY_KEY, policy.name());
95+
@Test
96+
public void testHttpPolicy() throws Exception {
97+
conf.set(OzoneConfigKeys.OZONE_HTTP_POLICY, policy.name());
9698
conf.set(OMConfigKeys.OZONE_OM_HTTP_ADDRESS_KEY, "localhost:0");
9799
conf.set(OMConfigKeys.OZONE_OM_HTTPS_ADDRESS_KEY, "localhost:0");
98100

0 commit comments

Comments
 (0)