YARN-2700 TestSecureRMRegistryOperations failing on windows: auth problems

This commit is contained in:
Steve Loughran 2014-10-22 21:12:52 +01:00
parent d67214fd69
commit 90e5ca24fb
2 changed files with 13 additions and 4 deletions

View File

@ -683,6 +683,9 @@ Release 2.6.0 - UNRELEASED
YARN-2692 ktutil test hanging on some machines/ktutil versions (stevel)
YARN-2700 TestSecureRMRegistryOperations failing on windows: auth problems
(stevel)
---
YARN-2598 GHS should show N/A instead of null for the inaccessible information

View File

@ -31,6 +31,7 @@
import org.apache.hadoop.registry.server.services.AddingCompositeService;
import org.apache.hadoop.registry.server.services.MicroZookeeperService;
import org.apache.hadoop.registry.server.services.MicroZookeeperServiceKeys;
import org.apache.hadoop.util.Shell;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@ -61,6 +62,7 @@ public class AbstractSecureRegistryTest extends RegistryTestHelper {
public static final String REALM = "EXAMPLE.COM";
public static final String ZOOKEEPER = "zookeeper";
public static final String ZOOKEEPER_LOCALHOST = "zookeeper/localhost";
public static final String ZOOKEEPER_1270001 = "zookeeper/127.0.0.1";
public static final String ZOOKEEPER_REALM = "zookeeper@" + REALM;
public static final String ZOOKEEPER_CLIENT_CONTEXT = ZOOKEEPER;
public static final String ZOOKEEPER_SERVER_CONTEXT = "ZOOKEEPER_SERVER";
@ -118,6 +120,7 @@ public class AbstractSecureRegistryTest extends RegistryTestHelper {
protected MicroZookeeperService secureZK;
protected static File jaasFile;
private LoginContext zookeeperLogin;
private static String zkServerPrincipal;
/**
* All class initialization for this test class
@ -203,12 +206,13 @@ public static void setupKDCAndPrincipals() throws Exception {
keytab_zk = createKeytab(ZOOKEEPER, "zookeeper.keytab");
keytab_alice = createKeytab(ALICE, "alice.keytab");
keytab_bob = createKeytab(BOB, "bob.keytab");
zkServerPrincipal = Shell.WINDOWS ? ZOOKEEPER_1270001 : ZOOKEEPER_LOCALHOST;
StringBuilder jaas = new StringBuilder(1024);
jaas.append(registrySecurity.createJAASEntry(ZOOKEEPER_CLIENT_CONTEXT,
ZOOKEEPER, keytab_zk));
jaas.append(registrySecurity.createJAASEntry(ZOOKEEPER_SERVER_CONTEXT,
ZOOKEEPER_LOCALHOST, keytab_zk));
zkServerPrincipal, keytab_zk));
jaas.append(registrySecurity.createJAASEntry(ALICE_CLIENT_CONTEXT,
ALICE_LOCALHOST , keytab_alice));
jaas.append(registrySecurity.createJAASEntry(BOB_CLIENT_CONTEXT,
@ -300,7 +304,10 @@ public static File createKeytab(String principal,
assertNotEmpty("empty host", filename);
assertNotNull("Null KDC", kdc);
File keytab = new File(kdcWorkDir, filename);
kdc.createPrincipal(keytab, principal, principal +"/localhost");
kdc.createPrincipal(keytab,
principal,
principal + "/localhost",
principal + "/127.0.0.1");
return keytab;
}
@ -351,12 +358,11 @@ protected LoginContext login(String principal,
protected synchronized void startSecureZK() throws Exception {
assertNull("Zookeeper is already running", secureZK);
zookeeperLogin = login(ZOOKEEPER_LOCALHOST,
zookeeperLogin = login(zkServerPrincipal,
ZOOKEEPER_SERVER_CONTEXT,
keytab_zk);
secureZK = createSecureZKInstance("test-" + methodName.getMethodName());
secureZK.start();
}
}