YARN-5680. Add 2 new fields in Slider status output - image-name and is-privileged-container. Contributed by Billie Rinaldi
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/834e1821 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/834e1821 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/834e1821 Branch: refs/heads/yarn-native-services Commit: 834e1821e044c74f07c33d9bf5fac1ef7f67df96 Parents: b02a2f6 Author: Gour Saha <[email protected]> Authored: Tue Oct 25 20:00:27 2016 -0700 Committer: Jian He <[email protected]> Committed: Wed Nov 23 15:27:03 2016 -0800 ---------------------------------------------------------------------- .../org/apache/slider/providers/docker/DockerKeys.java | 1 + .../slider/providers/docker/DockerProviderService.java | 2 +- .../apache/slider/server/appmaster/state/AppState.java | 12 ++++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/834e1821/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/providers/docker/DockerKeys.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/providers/docker/DockerKeys.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/providers/docker/DockerKeys.java index 40b73a2..0e1d288 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/providers/docker/DockerKeys.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/providers/docker/DockerKeys.java @@ -26,6 +26,7 @@ public interface DockerKeys { String DOCKER_START_COMMAND = DOCKER_PREFIX + "startCommand"; String DEFAULT_DOCKER_NETWORK = "bridge"; + Boolean DEFAULT_DOCKER_USE_PRIVILEGED = false; String OUT_FILE = "stdout.txt"; String ERR_FILE = "stderr.txt"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/834e1821/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/providers/docker/DockerProviderService.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/providers/docker/DockerProviderService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/providers/docker/DockerProviderService.java index af36620..cc319ee 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/providers/docker/DockerProviderService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/providers/docker/DockerProviderService.java @@ -131,7 +131,7 @@ public class DockerProviderService extends AbstractProviderService implements launcher.setDockerNetwork(appConf.getComponentOpt(roleGroup, DOCKER_NETWORK, DEFAULT_DOCKER_NETWORK)); launcher.setRunPrivilegedContainer(appConf.getComponentOptBool(roleGroup, - DOCKER_USE_PRIVILEGED, false)); + DOCKER_USE_PRIVILEGED, DEFAULT_DOCKER_USE_PRIVILEGED)); // Set the environment Map<String, String> standardTokens = providerUtils.getStandardTokenMap( http://git-wip-us.apache.org/repos/asf/hadoop/blob/834e1821/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java index 49e7b78..6db375d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java @@ -91,6 +91,9 @@ import java.util.concurrent.atomic.AtomicInteger; import static org.apache.slider.api.ResourceKeys.*; import static org.apache.slider.api.RoleKeys.*; import static org.apache.slider.api.StateValues.*; +import static org.apache.slider.providers.docker.DockerKeys.DEFAULT_DOCKER_USE_PRIVILEGED; +import static org.apache.slider.providers.docker.DockerKeys.DOCKER_IMAGE; +import static org.apache.slider.providers.docker.DockerKeys.DOCKER_USE_PRIVILEGED; /** * The model of all the ongoing state of a Slider AM. @@ -1823,6 +1826,15 @@ public class AppState { if (SliderUtils.isSet(prefix)) { cd.setRoleOpt(rolename, ROLE_PREFIX, SliderUtils.trimPrefix(prefix)); } + String dockerImage = instanceDefinition.getAppConfOperations() + .getComponentOpt(role.getGroup(), DOCKER_IMAGE, null); + if (SliderUtils.isSet(dockerImage)) { + cd.setRoleOpt(rolename, DOCKER_IMAGE, dockerImage); + Boolean dockerUsePrivileged = instanceDefinition.getAppConfOperations() + .getComponentOptBool(role.getGroup(), DOCKER_USE_PRIVILEGED, + DEFAULT_DOCKER_USE_PRIVILEGED); + cd.setRoleOpt(rolename, DOCKER_USE_PRIVILEGED, dockerUsePrivileged); + } List<String> instances = instanceMap.get(rolename); int nodeCount = instances != null ? instances.size(): 0; cd.setRoleOpt(rolename, COMPONENT_INSTANCES, --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
