Example #1
0
        public virtual void TestAdminAclsWithFileSystemBasedConfigurationProvider()
        {
            configuration.Set(YarnConfiguration.RmConfigurationProviderClass, "org.apache.hadoop.yarn.FileSystemBasedConfigurationProvider"
                              );
            //upload default configurations
            UploadDefaultConfiguration();
            try
            {
                rm = new MockRM(configuration);
                rm.Init(configuration);
                rm.Start();
            }
            catch (Exception)
            {
                NUnit.Framework.Assert.Fail("Should not get any exceptions");
            }
            string aclStringBefore = rm.adminService.GetAccessControlList().GetAclString().Trim
                                         ();
            YarnConfiguration yarnConf = new YarnConfiguration();

            yarnConf.Set(YarnConfiguration.YarnAdminAcl, "world:anyone:rwcda");
            UploadConfiguration(yarnConf, "yarn-site.xml");
            rm.adminService.RefreshAdminAcls(RefreshAdminAclsRequest.NewInstance());
            string aclStringAfter = rm.adminService.GetAccessControlList().GetAclString().Trim
                                        ();

            NUnit.Framework.Assert.IsTrue(!aclStringAfter.Equals(aclStringBefore));
            NUnit.Framework.Assert.AreEqual(aclStringAfter, "world:anyone:rwcda," + UserGroupInformation
                                            .GetCurrentUser().GetShortUserName());
        }
Example #2
0
        public virtual void TestRefreshAdminAcls()
        {
            RefreshAdminAclsRequest request = recordFactory.NewRecordInstance <RefreshAdminAclsRequest
                                                                               >();
            RefreshAdminAclsResponse response = client.RefreshAdminAcls(request);

            NUnit.Framework.Assert.IsNotNull(response);
        }
Example #3
0
        /// <exception cref="System.IO.IOException"/>
        /// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/>
        private int RefreshAdminAcls()
        {
            // Refresh the admin acls
            ResourceManagerAdministrationProtocol adminProtocol = CreateAdminProtocol();
            RefreshAdminAclsRequest request = recordFactory.NewRecordInstance <RefreshAdminAclsRequest
                                                                               >();

            adminProtocol.RefreshAdminAcls(request);
            return(0);
        }
Example #4
0
 public virtual void TestAdminAclsWithLocalConfigurationProvider()
 {
     rm = new MockRM(configuration);
     rm.Init(configuration);
     rm.Start();
     try
     {
         rm.adminService.RefreshAdminAcls(RefreshAdminAclsRequest.NewInstance());
     }
     catch (Exception)
     {
         NUnit.Framework.Assert.Fail("Using localConfigurationProvider. Should not get any exception."
                                     );
     }
 }
Example #5
0
 /// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/>
 /// <exception cref="System.IO.IOException"/>
 public virtual RefreshAdminAclsResponse RefreshAdminAcls(RefreshAdminAclsRequest
                                                          request)
 {
     YarnServerResourceManagerServiceProtos.RefreshAdminAclsRequestProto requestProto =
         ((RefreshAdminAclsRequestPBImpl)request).GetProto();
     try
     {
         return(new RefreshAdminAclsResponsePBImpl(proxy.RefreshAdminAcls(null, requestProto
                                                                          )));
     }
     catch (ServiceException e)
     {
         RPCUtil.UnwrapAndThrowException(e);
         return(null);
     }
 }
Example #6
0
        public virtual void TestRefreshAclWithDaemonUser()
        {
            string daemonUser = UserGroupInformation.GetCurrentUser().GetShortUserName();

            configuration.Set(YarnConfiguration.RmConfigurationProviderClass, "org.apache.hadoop.yarn.FileSystemBasedConfigurationProvider"
                              );
            UploadDefaultConfiguration();
            YarnConfiguration yarnConf = new YarnConfiguration();

            yarnConf.Set(YarnConfiguration.YarnAdminAcl, daemonUser + "xyz");
            UploadConfiguration(yarnConf, "yarn-site.xml");
            try
            {
                rm = new MockRM(configuration);
                rm.Init(configuration);
                rm.Start();
            }
            catch (Exception)
            {
                NUnit.Framework.Assert.Fail("Should not get any exceptions");
            }
            NUnit.Framework.Assert.AreEqual(daemonUser + "xyz," + daemonUser, rm.adminService
                                            .GetAccessControlList().GetAclString().Trim());
            yarnConf = new YarnConfiguration();
            yarnConf.Set(YarnConfiguration.YarnAdminAcl, daemonUser + "abc");
            UploadConfiguration(yarnConf, "yarn-site.xml");
            try
            {
                rm.adminService.RefreshAdminAcls(RefreshAdminAclsRequest.NewInstance());
            }
            catch (YarnException e)
            {
                if (e.InnerException != null && e.InnerException is AccessControlException)
                {
                    NUnit.Framework.Assert.Fail("Refresh should not have failed due to incorrect ACL"
                                                );
                }
                throw;
            }
            NUnit.Framework.Assert.AreEqual(daemonUser + "abc," + daemonUser, rm.adminService
                                            .GetAccessControlList().GetAclString().Trim());
        }
Example #7
0
 /// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/>
 /// <exception cref="System.IO.IOException"/>
 public virtual RefreshAdminAclsResponse RefreshAdminAcls(RefreshAdminAclsRequest
                                                          request)
 {
     return(RefreshAdminAcls(true));
 }