HADOOP-6839. [Herriot] Implement a functionality for getting the user list for creating proxy users. Contributed by Vinay Thota.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@964130 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c757b9bf8a
commit
a73dfef140
|
@ -1032,6 +1032,9 @@ Release 0.21.0 - Unreleased
|
|||
|
||||
BUG FIXES
|
||||
|
||||
HADOOP-6839. [Herriot] Implement a functionality for getting the user list
|
||||
for creating proxy users. (Vinay Thota via cos)
|
||||
|
||||
HADOOP-6819. [Herriot] Shell command for getting the new exceptions in
|
||||
the logs returning exitcode 1 after executing successfully. (Vinay Thota
|
||||
via cos)
|
||||
|
|
|
@ -21,6 +21,8 @@ package org.apache.hadoop.test.system;
|
|||
import java.io.IOException;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
@ -48,6 +50,8 @@ public abstract class AbstractDaemonCluster {
|
|||
private String newConfDir = null;
|
||||
private static final String CONF_HADOOP_LOCAL_DIR =
|
||||
"test.system.hdrc.hadoop.local.confdir";
|
||||
private static final String CONF_HADOOP_MULTI_USER_LIST =
|
||||
"test.system.hdrc.multi-user.list.path";
|
||||
private final static Object waitLock = new Object();
|
||||
|
||||
/**
|
||||
|
@ -297,6 +301,30 @@ public abstract class AbstractDaemonCluster {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the multi users list.
|
||||
* @return ArrayList - users list as a array list.
|
||||
* @throws IOException - if an I/O error occurs.
|
||||
*/
|
||||
public ArrayList<String> getHadoopMultiUsersList() throws
|
||||
IOException {
|
||||
String hadoopUserListPath = conf.get(CONF_HADOOP_MULTI_USER_LIST);
|
||||
if (hadoopUserListPath == null || hadoopUserListPath.isEmpty()) {
|
||||
LOG.error("Proxy user list path has not been passed for "
|
||||
+ CONF_HADOOP_MULTI_USER_LIST);
|
||||
throw new IllegalArgumentException(
|
||||
"Proxy user list hasn't been provided.");
|
||||
}
|
||||
File fileObj = new File(hadoopUserListPath);
|
||||
DataInputStream disObj = new DataInputStream(new FileInputStream(fileObj));
|
||||
ArrayList<String> usersList = new ArrayList<String>();
|
||||
String strLine = null;
|
||||
while((strLine = disObj.readLine()) != null){
|
||||
usersList.add(strLine.substring(0,strLine.indexOf(',')));
|
||||
}
|
||||
return usersList;
|
||||
}
|
||||
|
||||
/**
|
||||
* It's a local folder where the config file stores temporarily
|
||||
* while serializing the object.
|
||||
|
|
Loading…
Reference in New Issue