diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/containerlaunch/AbstractLauncher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/containerlaunch/AbstractLauncher.java index e1e88cdab32..f497985072f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/containerlaunch/AbstractLauncher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/containerlaunch/AbstractLauncher.java @@ -39,8 +39,6 @@ import java.util.Map; import java.util.Map.Entry; -import static org.apache.hadoop.yarn.service.provider.docker.DockerKeys.DEFAULT_DOCKER_NETWORK; - /** * Launcher of applications: base class */ @@ -60,9 +58,9 @@ private final Map serviceData = new HashMap<>(); protected boolean yarnDockerMode = false; protected String dockerImage; - protected String dockerNetwork = DEFAULT_DOCKER_NETWORK; + protected String dockerNetwork; protected String dockerHostname; - protected String runPrivilegedContainer; + protected boolean runPrivilegedContainer = false; private ServiceContext context; public AbstractLauncher(ServiceContext context) { @@ -145,10 +143,16 @@ public ContainerLaunchContext completeContainerLaunch() throws IOException { Map env = containerLaunchContext.getEnvironment(); env.put("YARN_CONTAINER_RUNTIME_TYPE", "docker"); env.put("YARN_CONTAINER_RUNTIME_DOCKER_IMAGE", dockerImage); - env.put("YARN_CONTAINER_RUNTIME_DOCKER_CONTAINER_NETWORK", dockerNetwork); + if (ServiceUtils.isSet(dockerNetwork)) { + env.put("YARN_CONTAINER_RUNTIME_DOCKER_CONTAINER_NETWORK", + dockerNetwork); + } env.put("YARN_CONTAINER_RUNTIME_DOCKER_CONTAINER_HOSTNAME", dockerHostname); - env.put("YARN_CONTAINER_RUNTIME_DOCKER_RUN_PRIVILEGED_CONTAINER", runPrivilegedContainer); + if (runPrivilegedContainer) { + env.put("YARN_CONTAINER_RUNTIME_DOCKER_RUN_PRIVILEGED_CONTAINER", + "true"); + } StringBuilder sb = new StringBuilder(); for (Entry mount : mountPaths.entrySet()) { if (sb.length() > 0) { @@ -238,11 +242,7 @@ public void setDockerHostname(String dockerHostname) { } public void setRunPrivilegedContainer(boolean runPrivilegedContainer) { - if (runPrivilegedContainer) { - this.runPrivilegedContainer = Boolean.toString(true); - } else { - this.runPrivilegedContainer = Boolean.toString(false); - } + this.runPrivilegedContainer = runPrivilegedContainer; } } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerKeys.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerKeys.java index f30c002c612..992a40cebac 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerKeys.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerKeys.java @@ -18,13 +18,6 @@ package org.apache.hadoop.yarn.service.provider.docker; public interface DockerKeys { - String PROVIDER_DOCKER = "docker"; String DOCKER_PREFIX = "docker."; - String DOCKER_IMAGE = DOCKER_PREFIX + "image"; String DOCKER_NETWORK = DOCKER_PREFIX + "network"; - String DOCKER_USE_PRIVILEGED = DOCKER_PREFIX + "usePrivileged"; - String DOCKER_START_COMMAND = DOCKER_PREFIX + "startCommand"; - - String DEFAULT_DOCKER_NETWORK = "bridge"; - Boolean DEFAULT_DOCKER_USE_PRIVILEGED = false; } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerProviderService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerProviderService.java index 0741947d4af..6ac8de1e6b6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerProviderService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerProviderService.java @@ -37,7 +37,7 @@ public void processArtifact(AbstractLauncher launcher, launcher.setYarnDockerMode(true); launcher.setDockerImage(compInstance.getCompSpec().getArtifact().getId()); launcher.setDockerNetwork(compInstance.getCompSpec().getConfiguration() - .getProperty(DOCKER_NETWORK, DEFAULT_DOCKER_NETWORK)); + .getProperty(DOCKER_NETWORK)); String domain = compInstance.getComponent().getScheduler().getConfig() .get(RegistryConstants.KEY_DNS_DOMAIN); String hostname;