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(); }
