You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2011/06/05 10:50:50 UTC

svn commit: r1132147 - in /incubator/mesos/trunk/src/examples: java/ python/

Author: benh
Date: Sun Jun  5 08:50:49 2011
New Revision: 1132147

URL: http://svn.apache.org/viewvc?rev=1132147&view=rev
Log:
Updated the sample frameworks' launch scripts to no longer cd into those
frameworks' home directories. Since these directories will be in <mesos
install directory>/bin, they will generally not be writable.

Modified:
    incubator/mesos/trunk/src/examples/java/TestExceptionFramework.java
    incubator/mesos/trunk/src/examples/java/TestFramework.java
    incubator/mesos/trunk/src/examples/java/test_exception_framework
    incubator/mesos/trunk/src/examples/java/test_executor
    incubator/mesos/trunk/src/examples/java/test_framework
    incubator/mesos/trunk/src/examples/python/test_executor
    incubator/mesos/trunk/src/examples/python/test_framework
    incubator/mesos/trunk/src/examples/python/test_framework.py

Modified: incubator/mesos/trunk/src/examples/java/TestExceptionFramework.java
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/examples/java/TestExceptionFramework.java?rev=1132147&r1=1132146&r2=1132147&view=diff
==============================================================================
--- incubator/mesos/trunk/src/examples/java/TestExceptionFramework.java (original)
+++ incubator/mesos/trunk/src/examples/java/TestExceptionFramework.java Sun Jun  5 08:50:49 2011
@@ -26,8 +26,15 @@ public class TestExceptionFramework {
     @Override
     public ExecutorInfo getExecutorInfo(SchedulerDriver d) {
       try {
+        // Get the location where test exception framework is installed, so
+        // that we can give a path to our executor. Our wrapper script
+        // (test_exception_framework) sets this in env. variable FRAMEWORK_DIR.
+        String frameworkDir = System.getenv("FRAMEWORK_DIR");
+        if (frameworkDir == null) {
+          throw new Exception("FRAMEWORK_DIR environment variable is not set");
+        }
         return new ExecutorInfo(
-            new File("./test_executor").getCanonicalPath(),
+            new File(frameworkDir, "test_executor").getCanonicalPath(),
             new byte[0]);
       } catch (Exception e) {
         e.printStackTrace();

Modified: incubator/mesos/trunk/src/examples/java/TestFramework.java
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/examples/java/TestFramework.java?rev=1132147&r1=1132146&r2=1132147&view=diff
==============================================================================
--- incubator/mesos/trunk/src/examples/java/TestFramework.java (original)
+++ incubator/mesos/trunk/src/examples/java/TestFramework.java Sun Jun  5 08:50:49 2011
@@ -29,8 +29,15 @@ public class TestFramework {
     @Override
     public ExecutorInfo getExecutorInfo(SchedulerDriver d) {
       try {
+        // Get the location where the Java test framework is installed, so
+        // that we can give a path to our executor. Our wrapper script
+        // (test_framework) sets this in environment variable FRAMEWORK_DIR.
+        String frameworkDir = System.getenv("FRAMEWORK_DIR");
+        if (frameworkDir == null) {
+          throw new Exception("FRAMEWORK_DIR environment variable is not set");
+        }
         return new ExecutorInfo(
-            new File("./test_executor").getCanonicalPath(),
+            new File(frameworkDir, "test_executor").getCanonicalPath(),
             new byte[0]);
       } catch (Exception e) {
         e.printStackTrace();
@@ -93,11 +100,12 @@ public class TestFramework {
 
   public static void main(String[] args) throws Exception {
     if (args.length < 1 || args.length > 2) {
-      System.out.println("Invalid use: please specify a master");
+      System.err.println("Usage: test_framework <master> [<numTasks>]");
     } else if (args.length == 1) {
-      new MesosSchedulerDriver(new MyScheduler(),args[0]).run();
+      new MesosSchedulerDriver(new MyScheduler(), args[0]).run();
     } else {
-      new MesosSchedulerDriver(new MyScheduler(Integer.parseInt(args[1])), args[0]).run();
+      new MesosSchedulerDriver(new MyScheduler(Integer.parseInt(args[1])),
+                               args[0]).run();
     }
   }
 }

Modified: incubator/mesos/trunk/src/examples/java/test_exception_framework
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/examples/java/test_exception_framework?rev=1132147&r1=1132146&r2=1132147&view=diff
==============================================================================
--- incubator/mesos/trunk/src/examples/java/test_exception_framework (original)
+++ incubator/mesos/trunk/src/examples/java/test_exception_framework Sun Jun  5 08:50:49 2011
@@ -1,5 +1,5 @@
-#!/bin/sh
-FWDIR=`dirname $0`
-cd $FWDIR
-MESOS_HOME=`cd ../../..; pwd`
-exec java -cp .:$MESOS_HOME/lib/java/mesos.jar -Djava.library.path=$MESOS_HOME/lib/java TestExceptionFramework $@
+#!/bin/bash
+FRAMEWORK_DIR="`cd $(dirname $0); pwd`"
+MESOS_HOME="$FRAMEWORK_DIR/../../.."
+export FRAMEWORK_DIR
+exec java -cp $FRAMEWORK_DIR:$MESOS_HOME/lib/java/mesos.jar -Djava.library.path=$MESOS_HOME/lib/java TestExceptionFramework $@

Modified: incubator/mesos/trunk/src/examples/java/test_executor
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/examples/java/test_executor?rev=1132147&r1=1132146&r2=1132147&view=diff
==============================================================================
--- incubator/mesos/trunk/src/examples/java/test_executor (original)
+++ incubator/mesos/trunk/src/examples/java/test_executor Sun Jun  5 08:50:49 2011
@@ -1,5 +1,4 @@
-#!/bin/sh
-FWDIR=`dirname $0`
-cd $FWDIR
-MESOS_HOME=`cd ../../..; pwd`
-exec java -cp .:$MESOS_HOME/lib/java/mesos.jar -Djava.library.path=$MESOS_HOME/lib/java TestExecutor $@
+#!/bin/bash
+FRAMEWORK_DIR="`cd $(dirname $0); pwd`"
+MESOS_HOME="$FRAMEWORK_DIR/../../.."
+exec java -cp $FRAMEWORK_DIR:$MESOS_HOME/lib/java/mesos.jar -Djava.library.path=$MESOS_HOME/lib/java TestExecutor $@

Modified: incubator/mesos/trunk/src/examples/java/test_framework
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/examples/java/test_framework?rev=1132147&r1=1132146&r2=1132147&view=diff
==============================================================================
--- incubator/mesos/trunk/src/examples/java/test_framework (original)
+++ incubator/mesos/trunk/src/examples/java/test_framework Sun Jun  5 08:50:49 2011
@@ -1,5 +1,5 @@
-#!/bin/sh
-FWDIR=`dirname $0`
-cd $FWDIR
-MESOS_HOME=`cd ../../..; pwd`
-exec java -cp .:$MESOS_HOME/lib/java/mesos.jar -Djava.library.path=$MESOS_HOME/lib/java TestFramework $@
+#!/bin/bash
+FRAMEWORK_DIR="`cd $(dirname $0); pwd`"
+MESOS_HOME="$FRAMEWORK_DIR/../../.."
+export FRAMEWORK_DIR
+exec java -cp $FRAMEWORK_DIR:$MESOS_HOME/lib/java/mesos.jar -Djava.library.path=$MESOS_HOME/lib/java TestFramework $@

Modified: incubator/mesos/trunk/src/examples/python/test_executor
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/examples/python/test_executor?rev=1132147&r1=1132146&r2=1132147&view=diff
==============================================================================
--- incubator/mesos/trunk/src/examples/python/test_executor (original)
+++ incubator/mesos/trunk/src/examples/python/test_executor Sun Jun  5 08:50:49 2011
@@ -1,6 +1,5 @@
 #!/bin/sh
 FWDIR=`dirname $0`
-cd $FWDIR
-MESOS_HOME=`cd ../../..; pwd`
+MESOS_HOME=`cd $FWDIR/../../..; pwd`
 export PYTHONPATH="$MESOS_HOME/lib/python:$PYTHONPATH"
-exec python2.6 ./test_executor.py $@
+exec python2.6 $FWDIR/test_executor.py $@

Modified: incubator/mesos/trunk/src/examples/python/test_framework
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/examples/python/test_framework?rev=1132147&r1=1132146&r2=1132147&view=diff
==============================================================================
--- incubator/mesos/trunk/src/examples/python/test_framework (original)
+++ incubator/mesos/trunk/src/examples/python/test_framework Sun Jun  5 08:50:49 2011
@@ -1,6 +1,5 @@
-#!/bin/sh
-FWDIR=`dirname $0`
-cd $FWDIR
-MESOS_HOME=`cd ../../..; pwd`
+#!/bin/bash
+FRAMEWORK_DIR="`cd $(dirname $0); pwd`"
+MESOS_HOME="$FRAMEWORK_DIR/../../.."
 export PYTHONPATH="$MESOS_HOME/lib/python:$PYTHONPATH"
-exec python2.6 ./test_framework.py $@
+exec python2.6 $FRAMEWORK_DIR/test_framework.py $@

Modified: incubator/mesos/trunk/src/examples/python/test_framework.py
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/examples/python/test_framework.py?rev=1132147&r1=1132146&r2=1132147&view=diff
==============================================================================
--- incubator/mesos/trunk/src/examples/python/test_framework.py (original)
+++ incubator/mesos/trunk/src/examples/python/test_framework.py Sun Jun  5 08:50:49 2011
@@ -19,7 +19,8 @@ class MyScheduler(mesos.Scheduler):
     return "Python test framework"
 
   def getExecutorInfo(self, driver):
-    execPath = os.path.join(os.getcwd(), "test_executor")
+    frameworkDir = os.path.abspath(os.path.dirname(sys.argv[0]))
+    execPath = os.path.join(frameworkDir, "test_executor")
     return mesos.ExecutorInfo(execPath, "")
 
   def registered(self, driver, fid):