Return-Path: X-Original-To: apmail-hadoop-common-commits-archive@www.apache.org Delivered-To: apmail-hadoop-common-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3C3D318771 for ; Fri, 22 May 2015 21:41:31 +0000 (UTC) Received: (qmail 96508 invoked by uid 500); 22 May 2015 21:41:20 -0000 Delivered-To: apmail-hadoop-common-commits-archive@hadoop.apache.org Received: (qmail 96126 invoked by uid 500); 22 May 2015 21:41:20 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-dev@hadoop.apache.org Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 94798 invoked by uid 99); 22 May 2015 21:41:20 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 May 2015 21:41:20 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id F113CE03B4; Fri, 22 May 2015 21:41:19 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: zjshen@apache.org To: common-commits@hadoop.apache.org Date: Fri, 22 May 2015 21:41:46 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [28/50] [abbrv] hadoop git commit: YARN-3302. TestDockerContainerExecutor should run automatically if it can detect docker in the usual place (Ravindra Kumar Naik via raviprak) YARN-3302. TestDockerContainerExecutor should run automatically if it can detect docker in the usual place (Ravindra Kumar Naik via raviprak) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/509e6cbe Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/509e6cbe Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/509e6cbe Branch: refs/heads/YARN-2928 Commit: 509e6cbe56f56a52ef1cb9fc66e94cfcaff8e96a Parents: b22cb5e Author: Ravi Prakash Authored: Tue May 19 10:28:11 2015 -0700 Committer: Zhijie Shen Committed: Fri May 22 11:52:09 2015 -0700 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 3 +++ .../TestDockerContainerExecutor.java | 27 +++++++++++++++----- 2 files changed, 24 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/509e6cbe/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index a2f3914..e5a0b95 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -498,6 +498,9 @@ Release 2.8.0 - UNRELEASED YARN-2421. RM still allocates containers to an app in the FINISHING state (Chang Li via jlowe) + YARN-3302. TestDockerContainerExecutor should run automatically if it can + detect docker in the usual place (Ravindra Kumar Naik via raviprak) + Release 2.7.1 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/509e6cbe/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestDockerContainerExecutor.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestDockerContainerExecutor.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestDockerContainerExecutor.java index 65e381c..9386897 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestDockerContainerExecutor.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestDockerContainerExecutor.java @@ -51,10 +51,11 @@ import com.google.common.base.Strings; * This is intended to test the DockerContainerExecutor code, but it requires * docker to be installed. *
    - *
  1. Install docker, and Compile the code with docker-service-url set to the - * host and port where docker service is running. + *
  2. To run the tests, set the docker-service-url to the host and port where + * docker service is running (If docker-service-url is not specified then the + * local daemon will be used). *
    
    - * > mvn clean install -Ddocker-service-url=tcp://0.0.0.0:4243 -DskipTests
    + * mvn test -Ddocker-service-url=tcp://0.0.0.0:4243 -Dtest=TestDockerContainerExecutor
      * 
    */ public class TestDockerContainerExecutor { @@ -98,10 +99,13 @@ public class TestDockerContainerExecutor { dockerUrl = System.getProperty("docker-service-url"); LOG.info("dockerUrl: " + dockerUrl); - if (Strings.isNullOrEmpty(dockerUrl)) { + if (!Strings.isNullOrEmpty(dockerUrl)) { + dockerUrl = " -H " + dockerUrl; + } else if(isDockerDaemonRunningLocally()) { + dockerUrl = ""; + } else { return; } - dockerUrl = " -H " + dockerUrl; dockerExec = "docker " + dockerUrl; conf.set( YarnConfiguration.NM_DOCKER_CONTAINER_EXECUTOR_IMAGE_NAME, yarnImage); @@ -136,6 +140,17 @@ public class TestDockerContainerExecutor { return exec != null; } + private boolean isDockerDaemonRunningLocally() { + boolean dockerDaemonRunningLocally = true; + try { + shellExec("docker info"); + } catch (Exception e) { + LOG.info("docker daemon is not running on local machine."); + dockerDaemonRunningLocally = false; + } + return dockerDaemonRunningLocally; + } + /** * Test that a docker container can be launched to run a command * @param cId a fake ContainerID @@ -200,7 +215,7 @@ public class TestDockerContainerExecutor { * Test that a touch command can be launched successfully in a docker * container */ - @Test + @Test(timeout=1000000) public void testLaunchContainer() throws IOException { if (!shouldRun()) { LOG.warn("Docker not installed, aborting test.");