Repository: reef
Updated Branches:
  refs/heads/master 1d19ea58d -> 88ddc3a46


http://git-wip-us.apache.org/repos/asf/reef/blob/88ddc3a4/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/driver/LocalDriverConfiguration.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/driver/LocalDriverConfiguration.java
 
b/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/driver/LocalDriverConfiguration.java
index 82c3560..658b107 100644
--- 
a/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/driver/LocalDriverConfiguration.java
+++ 
b/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/driver/LocalDriverConfiguration.java
@@ -20,6 +20,7 @@ package org.apache.reef.runtime.local.driver;
 
 import org.apache.reef.runtime.common.driver.api.*;
 import org.apache.reef.runtime.common.driver.parameters.ClientRemoteIdentifier;
+import org.apache.reef.runtime.common.driver.parameters.DefinedRuntimes;
 import org.apache.reef.runtime.common.driver.parameters.JobIdentifier;
 import org.apache.reef.runtime.common.files.RuntimeClasspathProvider;
 import org.apache.reef.runtime.common.launch.parameters.ErrorHandlerRID;
@@ -48,6 +49,10 @@ public class LocalDriverConfiguration extends 
ConfigurationModuleBuilder {
    */
   public static final RequiredParameter<String> ROOT_FOLDER = new 
RequiredParameter<>();
   /**
+   * The name of the runitme.
+   */
+  public static final RequiredParameter<String> RUNTIME_NAMES = new 
RequiredParameter<>();
+  /**
    * The fraction of the container memory NOT to use for the Java Heap.
    */
   public static final OptionalParameter<Double> JVM_HEAP_SLACK = new 
OptionalParameter<>();
@@ -82,5 +87,6 @@ public class LocalDriverConfiguration extends 
ConfigurationModuleBuilder {
       .bindNamedParameter(JVMHeapSlack.class, JVM_HEAP_SLACK)
       .bindSetEntry(RackNames.class, RACK_NAMES)
       .bindImplementation(RuntimeClasspathProvider.class, 
LocalClasspathProvider.class)
+      .bindSetEntry(DefinedRuntimes.class, RUNTIME_NAMES)
       .build();
 }

http://git-wip-us.apache.org/repos/asf/reef/blob/88ddc3a4/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/driver/RuntimeIdentifier.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/driver/RuntimeIdentifier.java
 
b/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/driver/RuntimeIdentifier.java
index 1d0456f..1ac46d6 100644
--- 
a/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/driver/RuntimeIdentifier.java
+++ 
b/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/driver/RuntimeIdentifier.java
@@ -25,6 +25,9 @@ import org.apache.reef.annotations.audience.Private;
  */
 @Private
 public final class RuntimeIdentifier {
+   /**
+   * Same value is defined on the C# side in the 
Org.Apache.REEF.Common.Runtime.RuntimeName.
+   */
   public static final String RUNTIME_NAME = "Local";
 
   private RuntimeIdentifier() { }

http://git-wip-us.apache.org/repos/asf/reef/blob/88ddc3a4/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/client/MesosDriverConfigurationProviderImpl.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/client/MesosDriverConfigurationProviderImpl.java
 
b/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/client/MesosDriverConfigurationProviderImpl.java
index 648c7d0..d31b97e 100644
--- 
a/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/client/MesosDriverConfigurationProviderImpl.java
+++ 
b/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/client/MesosDriverConfigurationProviderImpl.java
@@ -22,6 +22,7 @@ import 
org.apache.reef.runtime.common.client.DriverConfigurationProvider;
 import org.apache.reef.runtime.common.parameters.JVMHeapSlack;
 import org.apache.reef.runtime.mesos.client.parameters.MasterIp;
 import org.apache.reef.runtime.mesos.driver.MesosDriverConfiguration;
+import org.apache.reef.runtime.mesos.driver.RuntimeIdentifier;
 import org.apache.reef.tang.Configuration;
 import org.apache.reef.tang.Configurations;
 import org.apache.reef.tang.annotations.Parameter;
@@ -56,6 +57,7 @@ final class MesosDriverConfigurationProviderImpl implements 
DriverConfigurationP
                     .set(MesosDriverConfiguration.JVM_HEAP_SLACK, 
this.jvmSlack)
                     .set(MesosDriverConfiguration.SCHEDULER_DRIVER_CAPACITY, 1)
                     // must be 1 as there is 1 scheduler at the same time
+                    .set(MesosDriverConfiguration.RUNTIME_NAMES, 
RuntimeIdentifier.RUNTIME_NAME)
                     .build(),
             applicationConfiguration);
   }

http://git-wip-us.apache.org/repos/asf/reef/blob/88ddc3a4/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/driver/MesosDriverConfiguration.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/driver/MesosDriverConfiguration.java
 
b/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/driver/MesosDriverConfiguration.java
index 69c4373..3e0337d 100644
--- 
a/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/driver/MesosDriverConfiguration.java
+++ 
b/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/driver/MesosDriverConfiguration.java
@@ -23,6 +23,7 @@ import org.apache.reef.io.TempFileCreator;
 import org.apache.reef.io.WorkingDirectoryTempFileCreator;
 import org.apache.reef.runtime.common.driver.api.*;
 import org.apache.reef.runtime.common.driver.parameters.ClientRemoteIdentifier;
+import org.apache.reef.runtime.common.driver.parameters.DefinedRuntimes;
 import org.apache.reef.runtime.common.driver.parameters.EvaluatorTimeout;
 import org.apache.reef.runtime.common.driver.parameters.JobIdentifier;
 import org.apache.reef.runtime.common.files.RuntimeClasspathProvider;
@@ -62,6 +63,10 @@ public final class MesosDriverConfiguration extends 
ConfigurationModuleBuilder {
   public static final RequiredParameter<String> MESOS_MASTER_IP = new 
RequiredParameter<>();
 
   /**
+   * The name of the configured runtimes.
+   */
+  public static final RequiredParameter<String> RUNTIME_NAMES = new 
RequiredParameter<>();
+  /**
    * The port number of Mesos Slave.
    */
   public static final OptionalParameter<Integer> MESOS_SLAVE_PORT = new 
OptionalParameter<>();
@@ -111,5 +116,6 @@ public final class MesosDriverConfiguration extends 
ConfigurationModuleBuilder {
       .bindNamedParameter(ClientRemoteIdentifier.class, 
CLIENT_REMOTE_IDENTIFIER)
       .bindNamedParameter(ErrorHandlerRID.class, CLIENT_REMOTE_IDENTIFIER)
       .bindNamedParameter(JVMHeapSlack.class, JVM_HEAP_SLACK)
+      .bindSetEntry(DefinedRuntimes.class, RUNTIME_NAMES)
       .build();
 }

http://git-wip-us.apache.org/repos/asf/reef/blob/88ddc3a4/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/driver/RuntimeIdentifier.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/driver/RuntimeIdentifier.java
 
b/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/driver/RuntimeIdentifier.java
index af82b64..28ae6d4 100644
--- 
a/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/driver/RuntimeIdentifier.java
+++ 
b/lang/java/reef-runtime-mesos/src/main/java/org/apache/reef/runtime/mesos/driver/RuntimeIdentifier.java
@@ -25,6 +25,9 @@ import org.apache.reef.annotations.audience.Private;
  */
 @Private
 public final class RuntimeIdentifier {
+  /**
+   * Same value is defined on the C# side in the 
Org.Apache.REEF.Common.Runtime.RuntimeName.
+   */
   public static final String RUNTIME_NAME = "Mesos";
 
   private RuntimeIdentifier() { }

http://git-wip-us.apache.org/repos/asf/reef/blob/88ddc3a4/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/client/MultiRuntimeDriverConfigurationProvider.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/client/MultiRuntimeDriverConfigurationProvider.java
 
b/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/client/MultiRuntimeDriverConfigurationProvider.java
index fba4b04..3e9b82e 100644
--- 
a/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/client/MultiRuntimeDriverConfigurationProvider.java
+++ 
b/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/client/MultiRuntimeDriverConfigurationProvider.java
@@ -22,8 +22,10 @@ import 
org.apache.reef.runtime.common.client.DriverConfigurationProvider;
 import org.apache.reef.runtime.multi.driver.MultiRuntimeDriverConfiguration;
 import org.apache.reef.runtime.multi.utils.MultiRuntimeDefinitionSerializer;
 import org.apache.reef.runtime.multi.utils.avro.MultiRuntimeDefinition;
+import org.apache.reef.runtime.multi.utils.avro.RuntimeDefinition;
 import org.apache.reef.tang.Configuration;
 import org.apache.reef.tang.Configurations;
+import org.apache.reef.tang.formats.ConfigurationModule;
 
 import javax.inject.Inject;
 import java.net.URI;
@@ -59,9 +61,14 @@ final class MultiRuntimeDriverConfigurationProvider 
implements DriverConfigurati
             jobFolder,
             clientRemoteId,
             jobId);
+    ConfigurationModule conf = MultiRuntimeDriverConfiguration.CONF;
+
+    for(RuntimeDefinition runtimeDefinition : 
runtimeDefinitions.getRuntimes()){
+      conf = conf.set(MultiRuntimeDriverConfiguration.RUNTIME_NAMES, 
runtimeDefinition.getRuntimeName().toString());
+    }
 
     return Configurations.merge(applicationConfiguration,
-            MultiRuntimeDriverConfiguration.CONF
+                    conf
                     .set(MultiRuntimeDriverConfiguration.JOB_IDENTIFIER, jobId)
                     
.set(MultiRuntimeDriverConfiguration.CLIENT_REMOTE_IDENTIFIER, clientRemoteId)
                     
.set(MultiRuntimeDriverConfiguration.SERIALIZED_RUNTIME_DEFINITION,

http://git-wip-us.apache.org/repos/asf/reef/blob/88ddc3a4/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/MultiRuntimeDriverConfiguration.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/MultiRuntimeDriverConfiguration.java
 
b/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/MultiRuntimeDriverConfiguration.java
index 882a7f5..3fb82f7 100644
--- 
a/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/MultiRuntimeDriverConfiguration.java
+++ 
b/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/MultiRuntimeDriverConfiguration.java
@@ -22,12 +22,10 @@ import org.apache.reef.annotations.audience.Private;
 import org.apache.reef.annotations.audience.RuntimeAuthor;
 import org.apache.reef.runtime.common.driver.api.*;
 import org.apache.reef.runtime.common.driver.parameters.ClientRemoteIdentifier;
+import org.apache.reef.runtime.common.driver.parameters.DefinedRuntimes;
 import org.apache.reef.runtime.common.driver.parameters.JobIdentifier;
-import org.apache.reef.runtime.common.files.RuntimeClasspathProvider;
 import org.apache.reef.runtime.common.launch.parameters.LaunchID;
 import 
org.apache.reef.runtime.multi.client.parameters.SerializedRuntimeDefinition;
-import org.apache.reef.runtime.yarn.YarnClasspathProvider;
-import org.apache.reef.runtime.yarn.util.YarnConfigurationConstructor;
 import org.apache.reef.tang.formats.ConfigurationModule;
 import org.apache.reef.tang.formats.ConfigurationModuleBuilder;
 import org.apache.reef.tang.formats.OptionalParameter;
@@ -46,6 +44,11 @@ public class MultiRuntimeDriverConfiguration extends 
ConfigurationModuleBuilder
   public static final RequiredParameter<String> SERIALIZED_RUNTIME_DEFINITION 
= new RequiredParameter<>();
 
   /**
+   * Serialized runtime configuration.
+   */
+  public static final RequiredParameter<String> RUNTIME_NAMES = new 
RequiredParameter<>();
+
+  /**
    * The identifier of the Job submitted.
    */
   public static final RequiredParameter<String> JOB_IDENTIFIER = new 
RequiredParameter<>();
@@ -68,7 +71,6 @@ public class MultiRuntimeDriverConfiguration extends 
ConfigurationModuleBuilder
       .bindNamedParameter(LaunchID.class, JOB_IDENTIFIER)
       .bindNamedParameter(JobIdentifier.class, JOB_IDENTIFIER)
       .bindNamedParameter(ClientRemoteIdentifier.class, 
CLIENT_REMOTE_IDENTIFIER)
-      .bindImplementation(RuntimeClasspathProvider.class, 
YarnClasspathProvider.class)
-      .bindConstructor(org.apache.hadoop.yarn.conf.YarnConfiguration.class, 
YarnConfigurationConstructor.class)
+      .bindSetEntry(DefinedRuntimes.class, RUNTIME_NAMES)
       .build();
 }

http://git-wip-us.apache.org/repos/asf/reef/blob/88ddc3a4/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/client/YarnDriverConfigurationProviderImpl.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/client/YarnDriverConfigurationProviderImpl.java
 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/client/YarnDriverConfigurationProviderImpl.java
index f7aabb8..5509cd1 100644
--- 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/client/YarnDriverConfigurationProviderImpl.java
+++ 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/client/YarnDriverConfigurationProviderImpl.java
@@ -20,6 +20,7 @@ package org.apache.reef.runtime.yarn.client;
 
 import org.apache.reef.runtime.common.client.DriverConfigurationProvider;
 import org.apache.reef.runtime.common.parameters.JVMHeapSlack;
+import org.apache.reef.runtime.yarn.driver.RuntimeIdentifier;
 import org.apache.reef.tang.Configuration;
 import org.apache.reef.tang.Configurations;
 import org.apache.reef.tang.annotations.Parameter;
@@ -51,6 +52,7 @@ final class YarnDriverConfigurationProviderImpl implements 
DriverConfigurationPr
               .set(JOB_IDENTIFIER, jobId)
               .set(CLIENT_REMOTE_IDENTIFIER, clientRemoteId)
               .set(JVM_HEAP_SLACK, this.jvmSlack)
+              .set(RUNTIME_NAMES, RuntimeIdentifier.RUNTIME_NAME)
               .build(),
               applicationConfiguration);
   }

http://git-wip-us.apache.org/repos/asf/reef/blob/88ddc3a4/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/RuntimeIdentifier.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/RuntimeIdentifier.java
 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/RuntimeIdentifier.java
index 4ba8545..a993a31 100644
--- 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/RuntimeIdentifier.java
+++ 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/RuntimeIdentifier.java
@@ -25,6 +25,9 @@ import org.apache.reef.annotations.audience.Private;
  */
 @Private
 public final class RuntimeIdentifier {
+  /**
+   * Same value is defined on the C# side in the 
Org.Apache.REEF.Common.Runtime.RuntimeName.
+   */
   public static final String RUNTIME_NAME = "Yarn";
 
   private RuntimeIdentifier() { }

http://git-wip-us.apache.org/repos/asf/reef/blob/88ddc3a4/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/YarnDriverConfiguration.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/YarnDriverConfiguration.java
 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/YarnDriverConfiguration.java
index 178ca16..f441b29 100644
--- 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/YarnDriverConfiguration.java
+++ 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/YarnDriverConfiguration.java
@@ -23,6 +23,7 @@ import org.apache.reef.io.TempFileCreator;
 import org.apache.reef.io.WorkingDirectoryTempFileCreator;
 import org.apache.reef.runtime.common.driver.api.*;
 import org.apache.reef.runtime.common.driver.parameters.ClientRemoteIdentifier;
+import org.apache.reef.runtime.common.driver.parameters.DefinedRuntimes;
 import org.apache.reef.runtime.common.driver.parameters.EvaluatorTimeout;
 import org.apache.reef.runtime.common.driver.parameters.JobIdentifier;
 import org.apache.reef.runtime.common.files.RuntimeClasspathProvider;
@@ -55,6 +56,10 @@ public class YarnDriverConfiguration extends 
ConfigurationModuleBuilder {
   public static final RequiredParameter<String> JOB_IDENTIFIER = new 
RequiredParameter<>();
 
   /**
+   * @see DefinedRuntimes
+   */
+  public static final RequiredParameter<String> RUNTIME_NAMES = new 
RequiredParameter<>();
+  /**
    * @see RackNameFormatter
    */
   public static final OptionalImpl<RackNameFormatter> RACK_NAME_FORMATTER = 
new OptionalImpl<>();
@@ -98,5 +103,6 @@ public class YarnDriverConfiguration extends 
ConfigurationModuleBuilder {
       .bindNamedParameter(JVMHeapSlack.class, JVM_HEAP_SLACK)
       .bindImplementation(RackNameFormatter.class, RACK_NAME_FORMATTER)
       .bindImplementation(RuntimeClasspathProvider.class, 
YarnClasspathProvider.class)
+      .bindSetEntry(DefinedRuntimes.class, RUNTIME_NAMES)
       .build();
 }

Reply via email to