diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestTimelineClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestTimelineClient.java index e3fffef6143..7564c583bec 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestTimelineClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestTimelineClient.java @@ -62,6 +62,8 @@ private TimelineClientImpl client; private TimelineWriter spyTimelineWriter; + private String keystoresDir; + private String sslConfDir; @Before public void setup() { @@ -72,10 +74,13 @@ public void setup() { } @After - public void tearDown() { + public void tearDown() throws Exception { if (client != null) { client.stop(); } + if (isSSLConfigured() == true) { + KeyStoreTestUtil.cleanupSSLConfig(keystoresDir, sslConfDir); + } } @Test @@ -454,11 +459,7 @@ public void testTimelineClientCleanup() throws Exception { conf.setInt(YarnConfiguration.TIMELINE_SERVICE_CLIENT_MAX_RETRIES, 0); conf.set(YarnConfiguration.YARN_HTTP_POLICY_KEY, Policy.HTTPS_ONLY.name()); - File testDir = TestGenericTestUtils.getTestDir(); - String sslConfDir = - KeyStoreTestUtil.getClasspathDir(TestTimelineClient.class); - KeyStoreTestUtil.setupSSLConfig(testDir.getAbsolutePath(), - sslConfDir, conf, false); + setupSSLConfig(conf); client = createTimelineClient(conf); ThreadGroup threadGroup = Thread.currentThread().getThreadGroup(); @@ -492,6 +493,17 @@ public void testTimelineClientCleanup() throws Exception { Assert.assertFalse("Reloader is still alive", reloaderStillAlive); } + private void setupSSLConfig(YarnConfiguration conf) throws Exception { + keystoresDir = TestGenericTestUtils.getTestDir().getAbsolutePath(); + sslConfDir = + KeyStoreTestUtil.getClasspathDir(TestTimelineClient.class); + KeyStoreTestUtil.setupSSLConfig(keystoresDir, sslConfDir, conf, false); + } + + private boolean isSSLConfigured() { + return keystoresDir != null && sslConfDir != null; + } + private static class TestTimelineDelegationTokenSecretManager extends AbstractDelegationTokenSecretManager {