Exemplo n.º 1
0
        public virtual void TestRefreshSuperUserGroupsConfiguration()
        {
            RefreshSuperUserGroupsConfigurationRequest request = recordFactory.NewRecordInstance
                                                                 <RefreshSuperUserGroupsConfigurationRequest>();
            RefreshSuperUserGroupsConfigurationResponse response = client.RefreshSuperUserGroupsConfiguration
                                                                       (request);

            NUnit.Framework.Assert.IsNotNull(response);
        }
Exemplo n.º 2
0
        /// <exception cref="System.IO.IOException"/>
        /// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/>
        private int RefreshSuperUserGroupsConfiguration()
        {
            // Refresh the super-user groups
            ResourceManagerAdministrationProtocol      adminProtocol = CreateAdminProtocol();
            RefreshSuperUserGroupsConfigurationRequest request       = recordFactory.NewRecordInstance
                                                                       <RefreshSuperUserGroupsConfigurationRequest>();

            adminProtocol.RefreshSuperUserGroupsConfiguration(request);
            return(0);
        }
Exemplo n.º 3
0
        public virtual void TestRefreshSuperUserGroupsWithFileSystemBasedConfigurationProvider
            ()
        {
            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");
            }
            Configuration coreConf = new Configuration(false);

            coreConf.Set("hadoop.proxyuser.test.groups", "test_groups");
            coreConf.Set("hadoop.proxyuser.test.hosts", "test_hosts");
            UploadConfiguration(coreConf, "core-site.xml");
            rm.adminService.RefreshSuperUserGroupsConfiguration(RefreshSuperUserGroupsConfigurationRequest
                                                                .NewInstance());
            NUnit.Framework.Assert.IsTrue(ProxyUsers.GetDefaultImpersonationProvider().GetProxyGroups
                                              ()["hadoop.proxyuser.test.groups"].Count == 1);
            NUnit.Framework.Assert.IsTrue(ProxyUsers.GetDefaultImpersonationProvider().GetProxyGroups
                                              ()["hadoop.proxyuser.test.groups"].Contains("test_groups"));
            NUnit.Framework.Assert.IsTrue(ProxyUsers.GetDefaultImpersonationProvider().GetProxyHosts
                                              ()["hadoop.proxyuser.test.hosts"].Count == 1);
            NUnit.Framework.Assert.IsTrue(ProxyUsers.GetDefaultImpersonationProvider().GetProxyHosts
                                              ()["hadoop.proxyuser.test.hosts"].Contains("test_hosts"));
            Configuration yarnConf = new Configuration(false);

            yarnConf.Set("yarn.resourcemanager.proxyuser.test.groups", "test_groups_1");
            yarnConf.Set("yarn.resourcemanager.proxyuser.test.hosts", "test_hosts_1");
            UploadConfiguration(yarnConf, "yarn-site.xml");
            // RM specific configs will overwrite the common ones
            rm.adminService.RefreshSuperUserGroupsConfiguration(RefreshSuperUserGroupsConfigurationRequest
                                                                .NewInstance());
            NUnit.Framework.Assert.IsTrue(ProxyUsers.GetDefaultImpersonationProvider().GetProxyGroups
                                              ()["hadoop.proxyuser.test.groups"].Count == 1);
            NUnit.Framework.Assert.IsTrue(ProxyUsers.GetDefaultImpersonationProvider().GetProxyGroups
                                              ()["hadoop.proxyuser.test.groups"].Contains("test_groups_1"));
            NUnit.Framework.Assert.IsTrue(ProxyUsers.GetDefaultImpersonationProvider().GetProxyHosts
                                              ()["hadoop.proxyuser.test.hosts"].Count == 1);
            NUnit.Framework.Assert.IsTrue(ProxyUsers.GetDefaultImpersonationProvider().GetProxyHosts
                                              ()["hadoop.proxyuser.test.hosts"].Contains("test_hosts_1"));
        }
Exemplo n.º 4
0
 public virtual void TestRefreshSuperUserGroupsWithLocalConfigurationProvider()
 {
     rm = new MockRM(configuration);
     rm.Init(configuration);
     rm.Start();
     try
     {
         rm.adminService.RefreshSuperUserGroupsConfiguration(RefreshSuperUserGroupsConfigurationRequest
                                                             .NewInstance());
     }
     catch (Exception)
     {
         NUnit.Framework.Assert.Fail("Using localConfigurationProvider. Should not get any exception."
                                     );
     }
 }
Exemplo n.º 5
0
 /// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/>
 /// <exception cref="System.IO.IOException"/>
 public virtual RefreshSuperUserGroupsConfigurationResponse RefreshSuperUserGroupsConfiguration
     (RefreshSuperUserGroupsConfigurationRequest request)
 {
     YarnServerResourceManagerServiceProtos.RefreshSuperUserGroupsConfigurationRequestProto
         requestProto = ((RefreshSuperUserGroupsConfigurationRequestPBImpl)request).GetProto
                            ();
     try
     {
         return(new RefreshSuperUserGroupsConfigurationResponsePBImpl(proxy.RefreshSuperUserGroupsConfiguration
                                                                          (null, requestProto)));
     }
     catch (ServiceException e)
     {
         RPCUtil.UnwrapAndThrowException(e);
         return(null);
     }
 }
Exemplo n.º 6
0
        /// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/>
        /// <exception cref="System.IO.IOException"/>
        public virtual RefreshSuperUserGroupsConfigurationResponse RefreshSuperUserGroupsConfiguration
            (RefreshSuperUserGroupsConfigurationRequest request)
        {
            string argName            = "refreshSuperUserGroupsConfiguration";
            UserGroupInformation user = CheckAcls(argName);

            CheckRMStatus(user.GetShortUserName(), argName, "refresh super-user-groups.");
            // Accept hadoop common configs in core-site.xml as well as RM specific
            // configurations in yarn-site.xml
            Configuration conf = GetConfiguration(new Configuration(false), YarnConfiguration
                                                  .CoreSiteConfigurationFile, YarnConfiguration.YarnSiteConfigurationFile);

            RMServerUtils.ProcessRMProxyUsersConf(conf);
            ProxyUsers.RefreshSuperUserGroupsConfiguration(conf);
            RMAuditLogger.LogSuccess(user.GetShortUserName(), argName, "AdminService");
            return(recordFactory.NewRecordInstance <RefreshSuperUserGroupsConfigurationResponse
                                                    >());
        }
Exemplo n.º 7
0
 /// <exception cref="Org.Apache.Hadoop.HA.ServiceFailedException"/>
 private void RefreshAll()
 {
     try
     {
         RefreshQueues(RefreshQueuesRequest.NewInstance());
         RefreshNodes(RefreshNodesRequest.NewInstance());
         RefreshSuperUserGroupsConfiguration(RefreshSuperUserGroupsConfigurationRequest.NewInstance
                                                 ());
         RefreshUserToGroupsMappings(RefreshUserToGroupsMappingsRequest.NewInstance());
         if (GetConfig().GetBoolean(CommonConfigurationKeysPublic.HadoopSecurityAuthorization
                                    , false))
         {
             RefreshServiceAcls(RefreshServiceAclsRequest.NewInstance());
         }
     }
     catch (Exception ex)
     {
         throw new ServiceFailedException(ex.Message);
     }
 }