This is an automated email from the ASF dual-hosted git repository.
ni3galave pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new 9c722cd RANGER-3342 : Need to make the Ranger embedded server work
directory configurable
9c722cd is described below
commit 9c722cdcf30edde47a06d35e35b2c82b7db8cae2
Author: Vishal Suvagia <[email protected]>
AuthorDate: Mon Jul 19 17:30:25 2021 +0530
RANGER-3342 : Need to make the Ranger embedded server work directory
configurable
Issue:
Currently the work directory for Ranger embedded server is not
configurable. Need to make the work directory configurable to a custom location
so that user can customize if required.
Changes:
Added configuration to make the work directory configurable for the
embedded server.
Testing:
Validated changes locally.
Signed-off-by: Nitin Galave <[email protected]>
---
.../org/apache/ranger/server/tomcat/EmbeddedServer.java | 16 +++++++++++++---
.../resources/conf.dist/ranger-admin-default-site.xml | 4 ++++
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git
a/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
b/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
index 1371682..d3b1084 100644
---
a/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
+++
b/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
@@ -37,15 +37,16 @@ import java.util.Iterator;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.connector.Connector;
+import org.apache.catalina.core.StandardContext;
import org.apache.catalina.startup.Tomcat;
import org.apache.catalina.valves.AccessLogValve;
import org.apache.catalina.valves.ErrorReportValve;
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.security.SecureClientLogin;
import org.apache.log4j.PropertyConfigurator;
+
import org.apache.ranger.credentialapi.CredentialReader;
import javax.net.ssl.KeyManager;
@@ -259,8 +260,17 @@ public class EmbeddedServer {
}
LOG.info("Adding webapp [" + webContextName + "] = path
["
+ webapp_dir + "] .....");
- Context webappCtx = server.addWebapp(webContextName,
new File(
- webapp_dir).getAbsolutePath());
+ StandardContext webappCtx = (StandardContext)
server.addWebapp(webContextName, new File(
+ webapp_dir).getAbsolutePath());
+ String workDirPath =
EmbeddedServerUtil.getConfig("ranger.tomcat.work.dir", "");
+ if (!workDirPath.isEmpty() && new
File(workDirPath).exists()) {
+ webappCtx.setWorkDir(workDirPath);
+ } else {
+ if (LOG.getLevel().equals(Level.FINE)) {
+ LOG.fine("Skipping to set tomcat server work
directory, '" + workDirPath +
+ "', as it is blank or directory does not
exist.");
+ }
+ }
webappCtx.init();
LOG.info("Finished init of webapp [" + webContextName
+ "] = path [" + webapp_dir + "].");
diff --git
a/security-admin/src/main/resources/conf.dist/ranger-admin-default-site.xml
b/security-admin/src/main/resources/conf.dist/ranger-admin-default-site.xml
index 8842071..5ffeb02 100644
--- a/security-admin/src/main/resources/conf.dist/ranger-admin-default-site.xml
+++ b/security-admin/src/main/resources/conf.dist/ranger-admin-default-site.xml
@@ -615,4 +615,8 @@
<name>ranger.default.browser-useragents</name>
<value>Mozilla,Opera,Chrome</value>
</property>
+ <property>
+ <name>ranger.tomcat.work.dir</name>
+ <value></value>
+ </property>
</configuration>