java.lang.Object
org.apache.hadoop.yarn.server.resourcemanager.security.QueueACLsManager
Direct Known Subclasses:
CapacityQueueACLsManager, FairQueueACLsManager, GenericQueueACLsManager

public abstract class QueueACLsManager extends Object
  • Constructor Details

    • QueueACLsManager

      @VisibleForTesting public QueueACLsManager(org.apache.hadoop.conf.Configuration conf)
    • QueueACLsManager

      public QueueACLsManager(ResourceScheduler scheduler, org.apache.hadoop.conf.Configuration conf)
  • Method Details

    • getQueueACLsManager

      public static QueueACLsManager getQueueACLsManager(ResourceScheduler scheduler, org.apache.hadoop.conf.Configuration conf)
      Get queue acl manager corresponding to the scheduler.
      Parameters:
      scheduler - the scheduler for which the queue acl manager is required
      conf - Configuration.
      Returns:
      QueueACLsManager
    • checkAccess

      public abstract boolean checkAccess(org.apache.hadoop.security.UserGroupInformation callerUGI, org.apache.hadoop.yarn.api.records.QueueACL acl, RMApp app, String remoteAddress, List<String> forwardedAddresses)
    • checkAccess

      public abstract boolean checkAccess(org.apache.hadoop.security.UserGroupInformation callerUGI, org.apache.hadoop.yarn.api.records.QueueACL acl, RMApp app, String remoteAddress, List<String> forwardedAddresses, String targetQueue)
      Check access to a targetQueue in the case of a move of an application. The application cannot contain the destination queue since it has not been moved yet, thus need to pass it in separately.
      Parameters:
      callerUGI - the caller UGI
      acl - the acl for the Queue to check
      app - the application to move
      remoteAddress - server ip address
      forwardedAddresses - forwarded adresses
      targetQueue - the name of the queue to move the application to
      Returns:
      true: if submission is allowed and queue exists, false: in all other cases (also non existing target queue)