Search in sources :

Example 1 with RegistryOperations

use of org.apache.hadoop.registry.client.api.RegistryOperations in project hadoop by apache.

the class TestSecureRMRegistryOperations method testAlicePathRestrictedAnonAccess.

@Test
public void testAlicePathRestrictedAnonAccess() throws Throwable {
    RMRegistryOperationsService rmRegistryOperations = startRMRegistryOperations();
    String aliceHome = rmRegistryOperations.initUserRegistry(ALICE);
    describe(LOG, "Creating anonymous accessor");
    RegistryOperations anonOperations = RegistryOperationsFactory.createAnonymousInstance(zkClientConf);
    addToTeardown(anonOperations);
    anonOperations.start();
    anonOperations.list(aliceHome);
    expectMkNodeFailure(anonOperations, aliceHome + "/anon");
    expectDeleteFailure(anonOperations, aliceHome, true);
}
Also used : RegistryOperations(org.apache.hadoop.registry.client.api.RegistryOperations) RMRegistryOperationsService(org.apache.hadoop.registry.server.integration.RMRegistryOperationsService) Test(org.junit.Test)

Example 2 with RegistryOperations

use of org.apache.hadoop.registry.client.api.RegistryOperations in project hadoop by apache.

the class TestSecureRMRegistryOperations method testAnonNoWriteAccess.

@Test
public void testAnonNoWriteAccess() throws Throwable {
    RMRegistryOperationsService rmRegistryOperations = startRMRegistryOperations();
    describe(LOG, "testAnonNoWriteAccess");
    RegistryOperations operations = RegistryOperationsFactory.createAnonymousInstance(zkClientConf);
    addToTeardown(operations);
    operations.start();
    String servicePath = PATH_SYSTEM_SERVICES + "hdfs";
    expectMkNodeFailure(operations, servicePath);
}
Also used : RegistryOperations(org.apache.hadoop.registry.client.api.RegistryOperations) RMRegistryOperationsService(org.apache.hadoop.registry.server.integration.RMRegistryOperationsService) Test(org.junit.Test)

Example 3 with RegistryOperations

use of org.apache.hadoop.registry.client.api.RegistryOperations in project hadoop by apache.

the class TestSecureRMRegistryOperations method testAnonReadAccess.

@Test
public void testAnonReadAccess() throws Throwable {
    RMRegistryOperationsService rmRegistryOperations = startRMRegistryOperations();
    describe(LOG, "testAnonReadAccess");
    RegistryOperations operations = RegistryOperationsFactory.createAnonymousInstance(zkClientConf);
    addToTeardown(operations);
    operations.start();
    assertFalse("RegistrySecurity.isClientSASLEnabled()==true", RegistrySecurity.isClientSASLEnabled());
    operations.list(PATH_SYSTEM_SERVICES);
}
Also used : RegistryOperations(org.apache.hadoop.registry.client.api.RegistryOperations) RMRegistryOperationsService(org.apache.hadoop.registry.server.integration.RMRegistryOperationsService) Test(org.junit.Test)

Example 4 with RegistryOperations

use of org.apache.hadoop.registry.client.api.RegistryOperations in project hadoop by apache.

the class TestSecureRMRegistryOperations method testDigestAccess.

@Test
public void testDigestAccess() throws Throwable {
    RMRegistryOperationsService registryAdmin = startRMRegistryOperations();
    String id = "username";
    String pass = "password";
    registryAdmin.addWriteAccessor(id, pass);
    List<ACL> clientAcls = registryAdmin.getClientAcls();
    LOG.info("Client ACLS=\n{}", RegistrySecurity.aclsToString(clientAcls));
    String base = "/digested";
    registryAdmin.mknode(base, false);
    List<ACL> baseACLs = registryAdmin.zkGetACLS(base);
    String aclset = RegistrySecurity.aclsToString(baseACLs);
    LOG.info("Base ACLs=\n{}", aclset);
    ACL found = null;
    for (ACL acl : baseACLs) {
        if (ZookeeperConfigOptions.SCHEME_DIGEST.equals(acl.getId().getScheme())) {
            found = acl;
            break;
        }
    }
    assertNotNull("Did not find digest entry in ACLs " + aclset, found);
    zkClientConf.set(KEY_REGISTRY_USER_ACCOUNTS, "sasl:somebody@EXAMPLE.COM, sasl:other");
    RegistryOperations operations = RegistryOperationsFactory.createAuthenticatedInstance(zkClientConf, id, pass);
    addToTeardown(operations);
    operations.start();
    RegistryOperationsClient operationsClient = (RegistryOperationsClient) operations;
    List<ACL> digestClientACLs = operationsClient.getClientAcls();
    LOG.info("digest client ACLs=\n{}", RegistrySecurity.aclsToString(digestClientACLs));
    operations.stat(base);
    operations.mknode(base + "/subdir", false);
    ZKPathDumper pathDumper = registryAdmin.dumpPath(true);
    LOG.info(pathDumper.toString());
}
Also used : ZKPathDumper(org.apache.hadoop.registry.client.impl.zk.ZKPathDumper) RegistryOperationsClient(org.apache.hadoop.registry.client.impl.RegistryOperationsClient) ACL(org.apache.zookeeper.data.ACL) RegistryOperations(org.apache.hadoop.registry.client.api.RegistryOperations) RMRegistryOperationsService(org.apache.hadoop.registry.server.integration.RMRegistryOperationsService) Test(org.junit.Test)

Example 5 with RegistryOperations

use of org.apache.hadoop.registry.client.api.RegistryOperations in project hadoop by apache.

the class TestSecureRMRegistryOperations method testAnonNoWriteAccessOffRoot.

@Test
public void testAnonNoWriteAccessOffRoot() throws Throwable {
    RMRegistryOperationsService rmRegistryOperations = startRMRegistryOperations();
    describe(LOG, "testAnonNoWriteAccessOffRoot");
    RegistryOperations operations = RegistryOperationsFactory.createAnonymousInstance(zkClientConf);
    addToTeardown(operations);
    operations.start();
    assertFalse("mknode(/)", operations.mknode("/", false));
    expectMkNodeFailure(operations, "/sub");
    expectDeleteFailure(operations, PATH_SYSTEM_SERVICES, true);
}
Also used : RegistryOperations(org.apache.hadoop.registry.client.api.RegistryOperations) RMRegistryOperationsService(org.apache.hadoop.registry.server.integration.RMRegistryOperationsService) Test(org.junit.Test)

Aggregations

RegistryOperations (org.apache.hadoop.registry.client.api.RegistryOperations)7 RMRegistryOperationsService (org.apache.hadoop.registry.server.integration.RMRegistryOperationsService)7 Test (org.junit.Test)7 ZKPathDumper (org.apache.hadoop.registry.client.impl.zk.ZKPathDumper)2 FileNotFoundException (java.io.FileNotFoundException)1 IOException (java.io.IOException)1 LoginException (javax.security.auth.login.LoginException)1 PathPermissionException (org.apache.hadoop.fs.PathPermissionException)1 NoPathPermissionsException (org.apache.hadoop.registry.client.exceptions.NoPathPermissionsException)1 RegistryOperationsClient (org.apache.hadoop.registry.client.impl.RegistryOperationsClient)1 ServiceStateException (org.apache.hadoop.service.ServiceStateException)1 ACL (org.apache.zookeeper.data.ACL)1