From 9d6c63f8bee34431384adfb20add2abd5b6aa9c0 Mon Sep 17 00:00:00 2001 From: Karthik Kambatla Date: Tue, 12 May 2015 10:45:33 -0700 Subject: [PATCH] YARN-3613. TestContainerManagerSecurity should init and start Yarn cluster in setup instead of individual methods. (nijel via kasha) (cherry picked from commit fe0df596271340788095cb43a1944e19ac4c2cf7) --- hadoop-yarn-project/CHANGES.txt | 3 ++ .../server/TestContainerManagerSecurity.java | 46 +++++-------------- 2 files changed, 15 insertions(+), 34 deletions(-) diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index d5d57a78a9e..39f1bd6a4da 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -185,6 +185,9 @@ Release 2.8.0 - UNRELEASED YARN-3513. Remove unused variables in ContainersMonitorImpl and add debug log for overall resource usage by all containers. (Naganarasimha G R via devaraj) + YARN-3613. TestContainerManagerSecurity should init and start Yarn cluster in + setup instead of individual methods. (nijel via kasha) + OPTIMIZATIONS YARN-3339. TestDockerContainerExecutor should pull a single image and not diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerManagerSecurity.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerManagerSecurity.java index f0dcb562a23..59bb6aaba13 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerManagerSecurity.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerManagerSecurity.java @@ -82,8 +82,6 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; -import com.google.common.io.ByteArrayDataInput; -import com.google.common.io.ByteStreams; @RunWith(Parameterized.class) public class TestContainerManagerSecurity extends KerberosSecurityTestcase { @@ -105,10 +103,20 @@ public class TestContainerManagerSecurity extends KerberosSecurityTestcase { testRootDir.mkdirs(); httpSpnegoKeytabFile.deleteOnExit(); getKdc().createPrincipal(httpSpnegoKeytabFile, httpSpnegoPrincipal); + + yarnCluster = + new MiniYARNCluster(TestContainerManagerSecurity.class.getName(), 1, 1, + 1); + yarnCluster.init(conf); + yarnCluster.start(); } @After public void tearDown() { + if (yarnCluster != null) { + yarnCluster.stop(); + yarnCluster = null; + } testRootDir.delete(); } @@ -144,11 +152,6 @@ public class TestContainerManagerSecurity extends KerberosSecurityTestcase { @Test (timeout = 120000) public void testContainerManager() throws Exception { - try { - yarnCluster = new MiniYARNCluster(TestContainerManagerSecurity.class - .getName(), 1, 1, 1); - yarnCluster.init(conf); - yarnCluster.start(); // TestNMTokens. testNMTokens(conf); @@ -156,36 +159,11 @@ public class TestContainerManagerSecurity extends KerberosSecurityTestcase { // Testing for container token tampering testContainerToken(conf); - } catch (Exception e) { - e.printStackTrace(); - throw e; - } finally { - if (yarnCluster != null) { - yarnCluster.stop(); - yarnCluster = null; - } - } - } - - @Test (timeout = 120000) - public void testContainerManagerWithEpoch() throws Exception { - try { - yarnCluster = new MiniYARNCluster(TestContainerManagerSecurity.class - .getName(), 1, 1, 1); - yarnCluster.init(conf); - yarnCluster.start(); - - // Testing for container token tampering + // Testing for container token tampering with epoch testContainerTokenWithEpoch(conf); - } finally { - if (yarnCluster != null) { - yarnCluster.stop(); - yarnCluster = null; - } - } } - + private void testNMTokens(Configuration conf) throws Exception { NMTokenSecretManagerInRM nmTokenSecretManagerRM = yarnCluster.getResourceManager().getRMContext()