You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by jm...@apache.org on 2014/11/11 12:40:20 UTC

incubator-slider git commit: SLIDER-630 python path specified via slider-client.xml or app config global prop

Repository: incubator-slider
Updated Branches:
  refs/heads/releases/slider-0.60 71a8559da -> e04c51b0e


SLIDER-630 python path specified via slider-client.xml or app config global prop


Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/e04c51b0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/e04c51b0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/e04c51b0

Branch: refs/heads/releases/slider-0.60
Commit: e04c51b0e1539c0dd1f66ba79536a7ab68f62ab7
Parents: 71a8559
Author: Jon Maron <jm...@hortonworks.com>
Authored: Mon Nov 10 21:38:28 2014 -0500
Committer: Jon Maron <jm...@hortonworks.com>
Committed: Tue Nov 11 06:39:32 2014 -0500

----------------------------------------------------------------------
 .../org/apache/slider/client/SliderClient.java   | 19 +++++++++++++++++--
 .../apache/slider/common/SliderXmlConfKeys.java  |  5 +++++
 .../providers/agent/AgentProviderService.java    |  6 +++++-
 3 files changed, 27 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/e04c51b0/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
index 99c4746..a676fcc 100644
--- a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
+++ b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
@@ -68,6 +68,7 @@ import org.apache.slider.api.proto.Messages;
 import org.apache.slider.common.Constants;
 import org.apache.slider.common.SliderExitCodes;
 import org.apache.slider.common.SliderKeys;
+import org.apache.slider.common.SliderXmlConfKeys;
 import org.apache.slider.common.params.AbstractActionArgs;
 import org.apache.slider.common.params.AbstractClusterBuildingActionArgs;
 import org.apache.slider.common.params.ActionDiagnosticArgs;
@@ -905,6 +906,8 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe
       appConf.set(AgentKeys.PACKAGE_PATH, buildInfo.packageURI);
     }
 
+    propagatePythonExecutable(conf, instanceDefinition);
+
     // make any substitutions needed at this stage
     replaceTokens(appConf.getConfTree(), getUsername(), clustername);
 
@@ -1213,6 +1216,7 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe
 
     propagatePrincipals(config, instanceDefinition);
     // validate security data
+
 /*
     // turned off until tested
     SecurityConfiguration securityConfiguration =
@@ -1401,8 +1405,19 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe
     LaunchedApplication launchedApplication = amLauncher.submitApplication();
     return launchedApplication;
   }
-  
-  
+
+  private void propagatePythonExecutable(Configuration config,
+                                         AggregateConf instanceDefinition) {
+    String pythonExec = config.get(
+        SliderXmlConfKeys.PYTHON_EXECUTABLE_PATH);
+    if (pythonExec != null) {
+      instanceDefinition.getAppConfOperations().getGlobalOptions().putIfUnset(
+          SliderXmlConfKeys.PYTHON_EXECUTABLE_PATH,
+          pythonExec);
+    }
+  }
+
+
   /**
    * Wait for the launched app to be accepted in the time  
    * and, optionally running.

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/e04c51b0/slider-core/src/main/java/org/apache/slider/common/SliderXmlConfKeys.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/common/SliderXmlConfKeys.java b/slider-core/src/main/java/org/apache/slider/common/SliderXmlConfKeys.java
index e7f8ce5..a967ebf 100644
--- a/slider-core/src/main/java/org/apache/slider/common/SliderXmlConfKeys.java
+++ b/slider-core/src/main/java/org/apache/slider/common/SliderXmlConfKeys.java
@@ -156,4 +156,9 @@ public interface SliderXmlConfKeys {
    */
   String KEY_SLIDER_AM_DEPENDENCY_CHECKS_DISABLED =
       "slider.am.dependency.checks.disabled";
+
+  /**
+   * The path to the python executable utilized to launch the agent.
+   */
+  String PYTHON_EXECUTABLE_PATH = "agent.python.exec.path";
 }

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/e04c51b0/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
index c86eabd..4f981c7 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
@@ -402,7 +402,11 @@ public class AgentProviderService extends AbstractProviderService implements
     String label = getContainerLabel(container, role);
     CommandLineBuilder operation = new CommandLineBuilder();
 
-    operation.add(AgentKeys.PYTHON_EXE);
+    String pythonExec = instanceDefinition.getAppConfOperations()
+        .getGlobalOptions().getOption(SliderXmlConfKeys.PYTHON_EXECUTABLE_PATH,
+                                      AgentKeys.PYTHON_EXE);
+
+    operation.add(pythonExec);
 
     operation.add(scriptPath);
     operation.add(ARG_LABEL, label);