Author: clamb Date: Fri Aug 1 18:36:32 2014 New Revision: 1615188 URL: http://svn.apache.org/r1615188 Log: HDFS-6807. Fix TestReservedRawPaths. (clamb)
Modified: hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/CHANGES-fs-encryption.txt hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/DFSTestUtil.java hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestReservedRawPaths.java Modified: hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/CHANGES-fs-encryption.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/CHANGES-fs-encryption.txt?rev=1615188&r1=1615187&r2=1615188&view=diff ============================================================================== --- hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/CHANGES-fs-encryption.txt (original) +++ hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/CHANGES-fs-encryption.txt Fri Aug 1 18:36:32 2014 @@ -81,3 +81,5 @@ fs-encryption (Unreleased) HDFS-6785. Should not be able to create encryption zone using path to a non-directory file. (clamb) + + HDFS-6807. Fix TestReservedRawPaths. (clamb) Modified: hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/DFSTestUtil.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/DFSTestUtil.java?rev=1615188&r1=1615187&r2=1615188&view=diff ============================================================================== --- hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/DFSTestUtil.java (original) +++ hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/DFSTestUtil.java Fri Aug 1 18:36:32 2014 @@ -27,6 +27,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.crypto.key.KeyProvider; import org.apache.hadoop.fs.*; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.FileSystem.Statistics; @@ -75,6 +76,7 @@ import org.junit.Assume; import java.io.*; import java.net.*; import java.nio.ByteBuffer; +import java.security.NoSuchAlgorithmException; import java.security.PrivilegedExceptionAction; import java.util.*; import java.util.concurrent.TimeoutException; @@ -1348,4 +1350,22 @@ public class DFSTestUtil { in2.close(); } } + + /** + * Helper function to create a key in the Key Provider. + * + * @param keyName The name of the key to create + * @param cluster The cluster to create it in + * @param conf Configuration to use + */ + public static void createKey(String keyName, MiniDFSCluster cluster, + Configuration conf) + throws NoSuchAlgorithmException, IOException { + KeyProvider provider = cluster.getNameNode().getNamesystem().getProvider(); + final KeyProvider.Options options = KeyProvider.options(conf); + options.setDescription(keyName); + options.setBitLength(128); + provider.createKey(keyName, options); + provider.flush(); + } } Modified: hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java?rev=1615188&r1=1615187&r2=1615188&view=diff ============================================================================== --- hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java (original) +++ hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java Fri Aug 1 18:36:32 2014 @@ -102,7 +102,7 @@ public class TestEncryptionZones { fs.getClient().provider = cluster.getNameNode().getNamesystem() .getProvider(); // Create a test key - createKey(TEST_KEY); + DFSTestUtil.createKey(TEST_KEY, cluster, conf); } @After @@ -147,19 +147,6 @@ public class TestEncryptionZones { ); } - /** - * Helper function to create a key in the Key Provider. - */ - private void createKey(String keyName) - throws NoSuchAlgorithmException, IOException { - KeyProvider provider = cluster.getNameNode().getNamesystem().getProvider(); - final KeyProvider.Options options = KeyProvider.options(conf); - options.setDescription(keyName); - options.setBitLength(128); - provider.createKey(keyName, options); - provider.flush(); - } - @Test(timeout = 60000) public void testBasicOperations() throws Exception { @@ -263,7 +250,7 @@ public class TestEncryptionZones { assertNumZones(1); /* Test success of creating an EZ when they key exists. */ - createKey(myKeyName); + DFSTestUtil.createKey(myKeyName, cluster, conf); dfsAdmin.createEncryptionZone(zone2, myKeyName); assertNumZones(++numZones); assertZonePresent(myKeyName, zone2.toString()); @@ -601,7 +588,7 @@ public class TestEncryptionZones { // Test when the parent directory becomes a different EZ fsWrapper.mkdir(zone1, FsPermission.getDirDefault(), true); final String otherKey = "otherKey"; - createKey(otherKey); + DFSTestUtil.createKey(otherKey, cluster, conf); dfsAdmin.createEncryptionZone(zone1, TEST_KEY); executor.submit(new InjectFaultTask() { @@ -621,7 +608,7 @@ public class TestEncryptionZones { // Test that the retry limit leads to an error fsWrapper.mkdir(zone1, FsPermission.getDirDefault(), true); final String anotherKey = "anotherKey"; - createKey(anotherKey); + DFSTestUtil.createKey(anotherKey, cluster, conf); dfsAdmin.createEncryptionZone(zone1, anotherKey); String keyToUse = otherKey; Modified: hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestReservedRawPaths.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestReservedRawPaths.java?rev=1615188&r1=1615187&r2=1615188&view=diff ============================================================================== --- hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestReservedRawPaths.java (original) +++ hadoop/common/branches/fs-encryption/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestReservedRawPaths.java Fri Aug 1 18:36:32 2014 @@ -57,12 +57,13 @@ public class TestReservedRawPaths { private MiniDFSCluster cluster; private HdfsAdmin dfsAdmin; private DistributedFileSystem fs; + private final String TEST_KEY = "testKey"; protected FileSystemTestWrapper fsWrapper; protected FileContextTestWrapper fcWrapper; @Before - public void setup() throws IOException { + public void setup() throws Exception { conf = new HdfsConfiguration(); fsHelper = new FileSystemTestHelper(); // Set up java key store @@ -82,6 +83,7 @@ public class TestReservedRawPaths { // else the updates do not get flushed properly fs.getClient().provider = cluster.getNameNode().getNamesystem() .getProvider(); + DFSTestUtil.createKey(TEST_KEY, cluster, conf); } @After @@ -110,7 +112,7 @@ public class TestReservedRawPaths { // Create the first enc file final Path zone = new Path("/zone"); fs.mkdirs(zone); - dfsAdmin.createEncryptionZone(zone, null); + dfsAdmin.createEncryptionZone(zone, TEST_KEY); final Path encFile1 = new Path(zone, "myfile"); DFSTestUtil.createFile(fs, encFile1, len, (short) 1, 0xFEED); // Read them back in and compare byte-by-byte @@ -150,7 +152,7 @@ public class TestReservedRawPaths { final Path zone = new Path("zone"); final Path slashZone = new Path("/", zone); fs.mkdirs(slashZone); - dfsAdmin.createEncryptionZone(slashZone, null); + dfsAdmin.createEncryptionZone(slashZone, TEST_KEY); final Path base = new Path("base"); final Path reservedRaw = new Path("/.reserved/raw"); @@ -182,7 +184,7 @@ public class TestReservedRawPaths { final Path zone = new Path("zone"); final Path slashZone = new Path("/", zone); fs.mkdirs(slashZone); - dfsAdmin.createEncryptionZone(slashZone, null); + dfsAdmin.createEncryptionZone(slashZone, TEST_KEY); final Path rawRoot = new Path("/.reserved/raw"); final Path dir1 = new Path("dir1"); final Path rawDir1 = new Path(rawRoot, dir1); @@ -220,7 +222,7 @@ public class TestReservedRawPaths { final Path zone = new Path("zone"); final Path slashZone = new Path("/", zone); fs.mkdirs(slashZone); - dfsAdmin.createEncryptionZone(slashZone, null); + dfsAdmin.createEncryptionZone(slashZone, TEST_KEY); final Path base = new Path("base"); final Path reservedRaw = new Path("/.reserved/raw"); final int len = 8192;