Skip to content

Commit 29465bf

Browse files
committed
YARN-9560. Restructure DockerLinuxContainerRuntime to extend OCIContainerRuntime.
Contributed by Eric Badger, Jim Brennan, Craig Condit
1 parent 49c5e8a commit 29465bf

File tree

7 files changed

+461
-322
lines changed

7 files changed

+461
-322
lines changed

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DelegatingLinuxContainerRuntime;
4747
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DockerLinuxContainerRuntime;
4848
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.LinuxContainerRuntime;
49+
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.OCIContainerRuntime;
4950
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.docker.DockerCommandExecutor;
5051
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.docker.DockerRmCommand;
5152
import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer;
@@ -94,14 +95,14 @@
9495
* appropriate {@link LinuxContainerRuntime} instance. This class uses a
9596
* {@link DelegatingLinuxContainerRuntime} instance, which will delegate calls
9697
* to either a {@link DefaultLinuxContainerRuntime} instance or a
97-
* {@link DockerLinuxContainerRuntime} instance, depending on the job's
98+
* {@link OCIContainerRuntime} instance, depending on the job's
9899
* configuration.</p>
99100
*
100101
* @see LinuxContainerRuntime
101102
* @see DelegatingLinuxContainerRuntime
102103
* @see DefaultLinuxContainerRuntime
103104
* @see DockerLinuxContainerRuntime
104-
* @see DockerLinuxContainerRuntime#isDockerContainerRequested
105+
* @see OCIContainerRuntime#isOCICompliantContainerRequested
105106
*/
106107
public class LinuxContainerExecutor extends ContainerExecutor {
107108

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/ContainerCleanup.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEventType;
3636
import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerExitEvent;
3737
import org.apache.hadoop.yarn.server.nodemanager.containermanager.deletion.task.DockerContainerDeletionTask;
38-
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DockerLinuxContainerRuntime;
38+
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.OCIContainerRuntime;
3939
import org.apache.hadoop.yarn.server.nodemanager.executor.ContainerReapContext;
4040
import org.apache.hadoop.yarn.server.nodemanager.executor.ContainerSignalContext;
4141
import org.slf4j.Logger;
@@ -147,7 +147,7 @@ public void run() {
147147
}
148148

149149
// rm container in docker
150-
if (DockerLinuxContainerRuntime.isDockerContainerRequested(conf,
150+
if (OCIContainerRuntime.isOCICompliantContainerRequested(conf,
151151
container.getLaunchContext().getEnvironment())) {
152152
rmDockerContainerDelayed();
153153
}

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/gpu/GpuResourceHandlerImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.CGroupsHandler;
3333
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.ResourceHandler;
3434
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.ResourceHandlerException;
35-
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DockerLinuxContainerRuntime;
35+
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.OCIContainerRuntime;
3636
import org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin.gpu.GpuDevice;
3737
import org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin.gpu.GpuDiscoverer;
3838

@@ -105,7 +105,7 @@ public synchronized List<PrivilegedOperation> preStart(Container container)
105105
// Create device cgroups for the container
106106
cGroupsHandler.createCGroup(CGroupsHandler.CGroupController.DEVICES,
107107
containerIdStr);
108-
if (!DockerLinuxContainerRuntime.isDockerContainerRequested(
108+
if (!OCIContainerRuntime.isOCICompliantContainerRequested(
109109
nmContext.getConf(),
110110
container.getLaunchContext().getEnvironment())) {
111111
// Write to devices cgroup only for non-docker container. The reason is

0 commit comments

Comments
 (0)