All Classes and Interfaces

Class
Description
 
 
 
Common code base for the CGroupsResourceCalculator implementations.
 
Pluggable ContainersLauncher interface for processing ContainersLauncherEvents.
FPGA plugin interface for vendor to implement.
Provides base implementation of NodeDescriptorsProvider with Timer and expects subclass to provide TimerTask which can fetch node descriptors.
Implements the RequestInterceptor interface and provides common functionality which can can be used and/or extended by other concrete interceptor classes.
 
 
 
 
 
An implementation of the ResourceUtilizationTracker that equates resource utilization with the total resource allocated to the container.
 
 
Interface that can be used by the interceptor plugins to get the information about one application.
Encapsulates the information about one application that is needed by the request interceptors.
 
AMRMProxyService is a service that runs on each node manager that can be used to intercept and inspect messages from application master to the cluster resource manager.
Private structure for encapsulating RequestInterceptor and ApplicationAttemptId instances.
This secret manager instance is used by the AMRMProxyService to generate and manage tokens.
FPGA device discovery strategy which invokes the "aocl" SDK command to retrieve the list of available FPGA cards.
 
 
 
Event sent from ContainerManagerImpl to ApplicationImpl to request the initialization of a container.
 
 
Finish/abort event
The state machine for the representation of an Application within the NodeManager.
Data object that encapsulates the flow context for the application purpose.
 
 
 
 
 
 
 
 
 
Device wrapper class used for NM REST API.
In addition to GpuDevice, this include container id and more runtime information related to who is using the GPU device if possible
Information about a loaded auxiliary service.
A list of loaded auxiliary services.
Set of configuration properties that can be injected into the service components via envs, files and custom pluggable helper docker containers.
A config file that needs to be created and made available as a volume in an service component container.
Config Type.
An Service resource has the following attributes.
A list of Services.
 
 
 
This thread controls memory usage using cgroups.
Handler class to handle the blkio controller.
An implementation for using CGroups to restrict CPU usage on Linux.
Provides CGroups functionality.
List of supported cgroup controller types.
Deprecated.
Handler class to handle the memory controller.
Stores config related to cgroups.
A Cgroup version 1 file-system based Resource calculator without the process tree features.
An implementation for using CGroups V2 to restrict CPU usage on Linux.
Handler class to handle the memory controller.
A Cgroup version 2 file-system based Resource calculator without the process tree features.
 
 
 
 
 
 
Event used by the NodeStatusUpdater to notify the ContainerManager of container update commands it received from the RM.
CombinedResourceCalculator is a resource calculator that uses cgroups but it is backward compatible with procfs in terms of virtual memory usage.
Configuration based node attributes provider.
Provides Node's Labels by constantly monitoring the configuration.
 
Cleanup the container.
 
 
 
Encapsulates information required for starting/launching containers.
Builder for ContainerExecContext.
Exception caused in a container runtime impl.
This class is abstraction of the mechanism used to launch a container on the underlying OS.
This class will signal a target container after a specified delay.
The container exit code.
The constants for the signals.
 
 
 
 
 
 
 
Encapsulates information required for container liveness checks.
 
 
 
Event that requests that the ResourceLocalizationService localize a set of resources for the given container.
 
 
 
Contains utilities for fetching a user's log file in a secure fashion.
The ContainerManager is an entity that manages the life cycle of Containers.
 
 
 
 
 
 
 
ContainerEvent for ContainerEventType.PAUSE_CONTAINER.
Encapsulates information required for preparing containers.
Builder for ContainerPrepareContext.
Encapsulates information required for container reacquisition.
 
Encapsulate the details needed to reap a container.
Builder for the ContainerReapContext.
ContainerEvent sent by ContainerManager to ContainerImpl to re-initiate Container.
Relaunch container.
 
 
 
ContainerEvent for ContainerEventType.RESUME_CONTAINER.
An abstraction for various container runtime implementations.
 
 
An attribute class that attempts to provide better type safety as compared with using a map of string to object.
 
The ContainerScheduler manages a collection of runnable containers.
Events consumed by the ContainerScheduler.
Event types associated with ContainerSchedulerEvent.
Web socket for establishing interactive command shell connection through Node Manage to container executor.
Container shell web socket interface.
Encapsulates information required for container signaling.
 
 
The launcher for the containers.
 
 
 
 
 
Monitors containers collecting resource usage and preempting the container if it exceeds its limits.
Type of container metric.
Encapsulates resource requirements of a process and its tree.
Encapsulates information required for starting/launching containers.
 
 
States used by the container state machine.
Interface to be used by external cluster operators to implement a State Transition listener that is notified before and after a container state transition.
 
Publish/un-publish CSI volumes on node manager.
Context interface for sharing information across components in the NodeManager.
Resource handler for cpu resources.
The DefaultContainerExecuter class offers generic container execution services.
Deprecated.
This class is a ContainerRuntime implementation that uses the native container-executor binary via a PrivilegedOperationExecutor instance to launch processes using the standard process model.
A very basic OOM handler implementation.
Extends the AbstractRequestInterceptor class and provides an implementation that simply forwards the AM requests to the cluster resource manager.
This class is a ContainerRuntime implementation that delegates all operations to a DefaultLinuxContainerRuntime instance, a DockerLinuxContainerRuntime instance, a JavaSandboxLinuxContainerRuntime instance, or a custom instance depending on whether each instance believes the operation to be within its scope.
Encapsulates information required for deletions as a given user.
 
 
DeletionTasks are supplied to the DeletionService for deletion.
Encapsulates the recovery info needed to recover a DeletionTask from the NM state store.
Available types of DeletionTasks.
Represent one "device" resource.
Builder for Device.
Schedule device resource based on requirements and do book keeping It holds all device type resource and can do scheduling as a default scheduler.
A must interface for vendor plugin to implement.
The DevicePluginAdapter will adapt existing hooks.
An optional interface to implement if custom device scheduling is needed.
Contains plugin register request info.
Builder class for construct DeviceRegisterRequest.
Bridge DevicePlugin and the hooks related to lunch Docker container.
The Hooks into container lifecycle.
Hooks into NodeStatusUpdater to update resource.
This is a spec used to prepare and run container.
Builder for DeviceRuntimeSpec.
Parses a string which specifies FPGA devices.
Manages a list of local storage directories.
The interface provides a callback when localDirs is changed.
The enum defines disk failure type.
Resource handler for disk resources.
The DistributedScheduler runs on the NodeManager and is modeled as an AMRMProxy request interceptor.
 
 
Utility class for executing common docker operations.
Potential states that the docker status can return.
Interface to make different resource plugins (e.g.
DeletionTask handling the removal of Docker containers.
Encapsulates the docker exec command and its command line arguments.
Encapsulates the docker images command and its command line arguments.
Encapsulates the docker inspect command and its command line arguments.
Encapsulates the docker kill command and its command line arguments.
This class is an extension of OCIContainerRuntime that uses the native container-executor binary via a PrivilegedOperationExecutor instance to launch processes inside Docker containers.
 
Encapsulates the docker pull command and its command line arguments.
Encapsulates the docker rm command and its command line arguments.
 
Encapsulates the docker start command and its command line arguments.
Encapsulates the docker stop command and its command line arguments.
Docker Volume Command, run "docker volume --help" for more details.
Simple HealthReporter implementation which reports whether a fatal exception has happened in the NodeManager.
 
 
Extends the AbstractRequestInterceptor and provides an implementation for federation of YARN RM and scaling an application across multiple YARN sub-clusters.
DeletionTask handling the removal of files (and directories).
A class that represents an FPGA card.
 
Interface for an FPGA device discovery strategy.
 
This FPGA resource allocator tends to be used by different FPGA vendor's plugin A "type" parameter is taken into consideration when allocation
 
 
 
 
This class is used to represent GPU device while allocation.
All GPU Device Information in the system, fetched from nvidia-smi.
Parse XML and get GPU device information
This exception is to be thrown when allowed GPU device specification is empty or invalid.
 
Factory to create GpuDocker Command Plugin instance
 
Allocate GPU resources according to requirements.
 
 
This class is a plugin for the RuncContainerRuntime that maps runC image manifests into their associated config and layers that are located in HDFS.
Interface providing information about the health of a service.
This class is a Java representation of the OCI Image Manifest Specification.
This class is a Java representation of an OCI Image Blob.
This class is a plugin for the RuncContainerRuntime to convert image tags into runC image manifests.
Intel FPGA for OpenCL plugin.
Helper class to run aocl diagnose & determine major/minor numbers.
This class extends the DefaultLinuxContainerRuntime specifically for containers which run Java commands.
Enumeration of the modes the JavaSandboxLinuxContainerRuntime can use.
 
Deprecated.
 
This class provides Container execution using a native container-executor binary.
The container exit code.
Linux-specific container runtime implementations must implement this interface.
 
Linux container runtime types for DelegatingLinuxContainerRuntime.
LocalCacheDirectoryManager is used for managing hierarchical directories for local cache.
The class which provides functionality of checking the health of the local directories of a node.
Events handled by ResourceLocalizationService
 
 
 
 
 
Datum representing a localized resource.
 
 
Events delivered to the ResourceLocalizationService
 
 
 
Event indicating that the ResourceLocalizationService should fetch this resource.
 
Encapsulates information required for starting a localizer.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Describe one device mount.
Builder for MountDeviceSpec.
Describe one volume mount.
Builder for MountVolumeSpec.
 
A device framework plugin which supports NEC Vector Engine.
The network packet tagging handler implementation.
The NetworkTagMapping JsonManager implementation.
The group object.
The NetworkTagMapping object.
The user object.
Base interface for network tag mapping manager.
Use NetworkTagMappingManagerFactory to get the correct NetworkTagMappingManager.
Manages NodeManager audit logs.
 
Service that handles collector information.
NMContainerLogsInfo represents the meta data for container logs which exist in NM local log directory.
The NM maintains only two master-keys.
 
 
Wrapper class of Device allocation for NMWebServices.
 
Gpu device information return to client when NMWebServices.getNMResourceInfo(String) is invoked.
MOXy JSON provider for NodeManager WebService.
 
NMLogAggregationStatusTracker is used to cache log aggregation status for finished applications.
 
PolicyProvider for YARN NodeManager protocols.
Utilities for converting from PB representations.
 
 
 
Recovered states for AMRMProxy.
 
 
 
 
Type of post recovery action.
 
 
 
 
 
Event posted to NMTimelinePublisher which in turn publishes it to timelineservice v2.
Metrics publisher service that publishes data to the timeline service v.2.
 
 
 
 
Abstract class which will be responsible for fetching the node attributes.
Interface which will be responsible for fetching node descriptors, a node descriptor could be a NodeLabel or a NodeAttribute.
A node descriptors script runner periodically runs a script, parses the output to collect desired descriptors, and then post these descriptors to the given NodeDescriptorsProvider.
This class provides functionality of checking the health of a node and reporting back to the service for which the health checker has been asked to report.
The class which provides functionality of checking the health of the node using the configured node health script and reporting back to the service for which the health checker has been asked to report.
 
Abstract class which will be responsible for fetching the node labels.
 
Default Container State transition listener.
 
Node manager return status codes.
 
 
 
Helper class to determine hardware related characteristics such as the number of processors and the amount of memory on the node.
 
This is the JMX management interface for NodeManager.
 
 
Interface for monitoring the resources of a node.
Implementation of the node resource monitor.
Plugins to handle resources on a node.
 
 
Log Handler which schedules deletion of log files based on the configured log retention time.
 
NumaNodeResource class holds the NUMA node topology with the total and used resources.
NumaResourceAllocation contains Memory nodes and CPU nodes assigned to a container.
NUMA Resources Allocator reads the NUMA topology and assigns NUMA nodes to the containers.
ResourceHandler implementation for allocating NUMA Resources to each container.
Executes the "nvidia-smi" command and returns an object based on its output.
Implementation to use nvidia-docker v1 as GPU docker command plugin.
Implementation to use nvidia-docker v2 as GPU docker command plugin.
Nvidia GPU plugin supporting both Nvidia container runtime v2 for Docker and non-Docker container.
Different type of link.
This class is a ContainerRuntime implementation that uses the native container-executor binary via a PrivilegedOperationExecutor instance to launch processes inside OCI-compliant containers.
Determines how to schedule opportunistic containers at the NodeManager, i.e., whether or not to accept, queue, or reject a container run request.
 
Capture single GPU device information such as memory size, temperature, utilization.
 
Temperature of GPU
GPU utilizations
Represents operations that require higher system privileges - e.g creating cgroups, launching containers as specified users, 'tc' commands etc that are completed using the container-executor binary
 
Result codes returned from the C container-executor.
List of commands that the container-executor will execute.
 
provides mechanisms to execute PrivilegedContainerOperations *
Helper functionality to read the pid from a file.
This is a ContainerLaunch which has been recovered after an NM restart (for rolling upgrades).
This is a ContainerLaunch which has been recovered after an NM restart for pause containers (for rolling upgrades)
A wrapper for a Iterator to translate the raw RuntimeExceptions that can be thrown into IOException.
Defines the contract to be implemented by the request interceptor classes, that can be used to intercept and inspect messages sent from the application master to the resource manager.
 
Events delivered to LocalizedResource.
This event is sent by the localizer in case resource localization fails for the requested resource.
Handler interface for resource subsystems' isolation and enforcement. e.g cpu, memory, network, disks etc
A helper class to delegate funcationality to a 'chain' of ResourceHandler(s)
 
Provides mechanisms to get various resource handlers - cpu, memory, network, disk etc., - based on configuration.
 
 
 
 
This class is used to store assigned resource to a single container by resource types.
Stores resources assigned to a container for a given resource type.
ResourcePlugin is an interface for node manager to easier support discovery/manage/isolation for new resource types.
Manages ResourcePlugin configured on this NodeManager.
 
 
 
All Resources requested by the container.
Small utility class which only re-throws YarnException if NM_RESOURCE_PLUGINS_FAIL_FAST property is true.
 
This interface abstracts out how a container contributes to Resource Utilization of the node.
 
This class is used by the RuncContainerRuntime to pass a JSON object to the container-executor.
This class is a Java representation of an OCI image layer.
This class is a Java representation of the OCI Runtime Specification.
This class is a Java representation of the oci annotations config section of the OCI Runtime Specification.
This class is a Java representation of the oci hooks section of the OCI Runtime Specification.
This class is a Java representation of the hook type section of the OCI Runtime Specification.
This class is a Java representation of the oci linux config section of the OCI Runtime Specification.
This class is a Java representation of the device section of the OCI Runtime Specification.
This class is a Java representation of the idmapping section of the OCI Runtime Specification.
This class is a Java representation of the intelrdt section of the OCI Runtime Specification.
This class is a Java representation of the namespace section of the OCI Runtime Specification.
This class is a Java representation of the resources section of the OCI Runtime Specification.
This class is a Java representation of the blockio section of the OCI Runtime Specification.
This class is a Java representation of the throttle device section of the OCI Runtime Specification.
This class is a Java representation of the weight device section of the OCI Runtime Specification.
This class is a Java representation of the cpu section of the OCI Runtime Specification.
This class is a Java representation of the device section of the OCI Runtime Specification.
This class is a Java representation of the huge page limits section of the OCI Runtime Specification.
This class is a Java representation of the memory section of the OCI Runtime Specification.
This class is a Java representation of the network section of the OCI Runtime Specification.
This class is a Java representation of the network priority section of the OCI Runtime Specification.
This class is a Java representation of the pid section of the OCI Runtime Specification.
This class is a Java representation of the rdma section of the OCI Runtime Specification.
This class is a Java representation of the seccomp section of the OCI Runtime Specification.
This class is a Java representation of the syscall section of the OCI Runtime Specification.
This class is a Java representation of the seccomp arguments of the OCI Runtime Specification.
This class is a Java representation of the sysctl section of the OCI Runtime Specification.
This class is a Java representation of the oci mount section of the OCI Runtime Specification.
This class is a Java representation of the oci process section of the OCI Runtime Specification.
This class is a Java representation of the capabilities section of the OCI Runtime Specification.
This class is a Java representation of the console size section of the OCI Runtime Specification.
This class is a Java representation of the rlimits section of the OCI Runtime Specification.
This class is a Java representation of the user section of the OCI Runtime Specification.
This class is a Java representation of the oci root config section of the OCI Runtime Specification.
This class is an extension of OCIContainerRuntime that uses the native container-executor binary via a PrivilegedOperationExecutor instance to launch processes inside Runc containers.
This class is a plugin interface for the RuncContainerRuntime to convert image tags into OCI Image Manifests.
This class is a plugin interface for the RuncContainerRuntime that maps OCI Image Manifests into associated config and layers.
The sample policy samples logs of successful worker containers to aggregate.
FPGA device discovery strategy which invokes an external script.
Node attribute provider that periodically runs a script to collect node attributes.
The class which provides functionality of getting the labels of the node using the configured node labels provider script.
FPGA device discovery strategy which parses a string.
 
 
 
A shell Wrapper to ease testing.
 
Sliding window retry policy for relaunching a Container in Yarn.
TerminalServlet host the static html and javascript for connecting to a text terminal over websocket.
A HealthReporter skeleton for regularly checking a specific TimerTask and obtaining information about it.
This class contains information about the AMRM token and the RegisterApplicationMasterResponse.
 
Update Event consumed by the ContainerScheduler.
Update Event consumed by the Container.
Describe one volume creation or deletion.
Builder for VolumeSpec.
 
 
Windows secure container executor (WSCE).
YarnRuntime parameter enum for DevicePlugin.